[nycphp-talk] Zipcodes calculation
Joe Crawford
jcrawford at codebowl.com
Sun Jul 18 20:33:46 EDT 2004
wow too advanced in the math area for me lol
Joe Crawford Jr.
On Sun, 2004-07-18 at 20:31, Steve Manes wrote:
> Kshitij Bedi wrote:
>
> > I have a database with zipcodes and corresponding latitudes and longitudes.
> > Can anyone suggest a mysql statement that can pull me all zipcodes within 20
> > or 50 or 100 miles of a given zipcode
>
> You can do it as an imprecise rectangle, where latitude/longitude is
> plus/minus a certain number of minutes. Then you just do a SELECT for
> all zipcodes where the longitude/latitude falls within that rectangle.
> That's what a lot of job boards do and it usually works well enough for
> estimation, especially insofar as the longitude/latitude in those
> zipcode databases are only rough centers of mass. Otherwise, if you
> need more precision you'll need to use spherical geometry, which is very
> costly.
>
> Developers typically use either the ragged rectangle or precalculate
> distances at fixed deltas, caching the results in a separate table. You
> get into some hairy calulus here because at higher latitudes the
> distance between two longitudinal degrees decreases. At the equator,
> one degree of latitude or longitude is ~70 square miles, with
> longitudinal distance decreasing to zero at the poles.
>
> distance = 3959 * (
> sin(latitude1/57.3) * sin(latitude2/57.3) +
> cos(latitude1/57.3) * cos(latitude2/57.3) *
> cos(longitude2/57.3 - longitude1/57.3))
>
> Or something like that.
>
> _______________________________________________
> talk mailing list
> talk at lists.nyphp.org
> http://lists.nyphp.org/mailman/listinfo/talk
>
>
More information about the talk
mailing list