NYCPHP Meetup

NYPHP.org

[nycphp-talk] distances between two zip codes

Paul Guba paul at gubavision.com
Fri Dec 7 07:16:03 EST 2007


might want to look here.   http://www.micahcarrick.com/04-19-2005/php- 
zip-code-range-and-distance-calculation.html

On Dec 6, 2007, at 11:57 PM, Rob Marscher wrote:

> On Dec 6, 2007, at 11:13 PM, chad qian wrote:
>> I want to program php to calculate the distance between two zip  
>> codes.I only have zip codes,nothing else.How to do it?I'm  
>> completely lost.
>
> You need to find out the latitude and longitude of the zip codes.   
> That's the only way.
>
> You can purchase zipcode databases that will give you the latitude  
> and longitude.  Usually it's something you get a subscription for  
> so you can be updated when zipcodes change.  My company uses this  
> service:
> http://www.zipcodeworld.com
>
> An alternative to purchasing your own zipcode database, is to use a  
> web service to get the latitude and longitude:
> http://developer.yahoo.com/maps/rest/V1/geocode.html
>
> Rasmus Lerdorf (creator of php) even posted a great article on how  
> to use that web service:
> http://toys.lerdorf.com/archives/35-GeoCool!.html
>
> Once you have the latitude and longitude, you want to search google  
> for "distance latitude longitude php."  The first hit is  
> coincidentally the site that sells the zipcode databases:
> http://www.zipcodeworld.com/samples/distance.php.html
>
> If you go the route of buying a subscription to the zipcode  
> database (probably only if you have too high a level of web traffic  
> to use the Yahoo! ), you should import the CSV file into a mysql  
> database.  Donald J Organ IV just posted a mysql query to this list  
> last week that can find all the zipcodes in a range:
> On Dec 4, 2007, at 1:26 PM, Donald J Organ IV wrote:
>> replace the follwing fields with value:
>>
>> [origin-lat]
>> [origin-long]
>> [dest-lat]
>> [dest-long]
>> [radius]
>> SELECT distinct zipcode,
>> ROUND((ACOS((SIN([origin-lat]/57.2958) * SIN([dest-latitude]/ 
>> 57.2958)) +
>> (COS([origin-lat]/57.2958) * COS([dest-lat]/57.2958) *
>> COS([dest-long]/57.2958 - [origin-long]/57.2958)))) * 3963, 3) AS  
>> distance
>> FROM zipcodes
>> WHERE (latitude >= [origin-lat] - ([radius]/111))
>> AND (latitude <= [origin-lat] + ([radius]/111))
>> AND (longitude >= [origin-long] - ([radius]/111))
>> AND (longitude <= [origin-long] + ([radius]/111))
>> ORDER BY distance
>>
>
> _______________________________________________
> New York PHP Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> NYPHPCon 2006 Presentations Online
> http://www.nyphpcon.com
>
> Show Your Participation in New York PHP
> http://www.nyphp.org/show_participation.php

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nyphp.org/pipermail/talk/attachments/20071207/27212769/attachment.html>


More information about the talk mailing list