Re: geographic search engine

From: Date: Wed, 12 Jan 2005 17:34:05 +0000
Subject: Re: geographic search engine
References: 1 2 3 4  Groups: php.general 
Request: Send a blank email to php-general+get-206218@lists.php.net to get a copy of this message
Richard: I found this post incredibly useful. Thank you! Richard Lynch wrote:
If you only want "close" things to a given location, the curvature of the earth is pretty insignificant. ...
I realized one day that at a distance of a hundred miles or less, I just didn't *CARE* about curvature of the earth, and replaced that trig with your basic Cartesian distance. Made a *HUGE* difference in performance. ...
Put a longitude and latitude column on your existing table, and default it to NULL. Write your business logic so that *ANY* time a zip code is changed, the longitude/latitude is re-set to NULL. (Or use triggers or whatever you want to make this happen. I don't care.) Finally, write a cron job (scheduled task in Windoze) to find N records at random in your table where the long/lat is NULL, and *copy* over the long/lat from the zips table. ...
PPS You can pay $$$ for the "complete" databases of zips, or use the TIGER data for free just interpolate from existing entries to make up long/lats for new zips. EG: If tomorrow the USPS creates zip code 60609, I can be pretty damn sure it's "close enough" to 60601 through 60608 and just average them to make up bogus long/lat. Sure, it's "wrong". It's also FREE and "close enough" for what I (and almost for sure you) are doing.
-- Teach a person to fish... Ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html PHP Manual: http://www.php.net/manual/en/index.php php-general archives: http://marc.theaimsgroup.com/?l=php-general&w=2

« previous php.general (#206218) next »