![]() |
![]() |
#1 (permalink) |
Tilted
Location: ...Anywhere but Here
|
Question for Java/PHP Programmers
Does anyone know how I can incorporate, using SQL, Java, and PHP, a function that, when 2 zip codes are entered, it gives an approximate distance between the 2 zip codes. Like, somewhere within 20 miles or so?
I know UPS does it to give estimates on shipping costs. Also places like mapquest use it to give directions. I dont' need something that complex, just an approximation between 2 area codes. |
![]() |
![]() |
#2 (permalink) |
Crazy
|
In order to do that you need some kind of database that has locational information of all the zip codes. In short you need some kind of geographical database like GIS (I'm not sure of the name of the company that makes the big one Arcview I think it's EMSI?).
They also make an internet mapping one that can power a mapquest like application. I'm not sure if it's tied to a specific platform or if there is any web service associated with it or not. |
![]() |
![]() |
#3 (permalink) |
Upright
|
Well, here's a website where you can get the latitude an longitude (which i suspect you could easily translate into miles) of a specified zip code http://www.census.gov/cgi-bin/gazetteer/
Now, getting all the zip codes in this database manually would be pretty tedious... The remedies I can think of are: 1) Write a script that checks all zip codes (00001 through 99999) and use a Regular Expression to extract the coordinates from the page when it comes back, then store these coordinates to your database. 2) Have your script check your database to see if you already have the info for the submitted zip code, and if not, do the same thing as in #1 above, only for that code. Eventually you would build up a pretty complete library of zip codes. 3) Find another way to get the zip codes. Writing the regular expression for this could be a little tricky. Once you have the latitude and longitude for your two zip codes, you could subtract them to get the north-south difference and the east-west difference. Using those and the pythagorean theorem you could find the distance between the two points. Find a conversion factor for degrees (distance, lat. & long.) to miles and you're set This could all be a little more work than you want to put into it though. It would be a cool webapp when you're done though. If you need / want more help, just let me know ![]() |
![]() |
![]() |
#4 (permalink) |
Essen meine kurze Hosen
Location: NY Burbs
|
Don't build your own table. Go here, <b>Census Tables </b>, and download the zip table used by this service. This is a page off of the one recommended by fox128 above.
The other thing you could do is search for a SOAP service that does what you want. Not sure if there are any here, but <b>XMethods </b> is a good place to start.
__________________
Out the 10Base-T, through the router, down the T1, over the leased line, off the bridge, past the firewall...nothing but Net. Last edited by platypus; 06-12-2003 at 05:17 AM.. |
![]() |
![]() |
#5 (permalink) |
Tilted
Location: ...Anywhere but Here
|
Hey fox 128. I found a text file (about 1.8 meg) of many cities with their zip codes, population, and lat/long. Thanks a lot for your help in this matter. I'm gonna start working with the sql now and see if I can get a demo up here within the next week or so. I'll keep you informed
Thank you also platypus |
![]() |
![]() |
#7 (permalink) |
Upright
Location: Rapid City, SD
|
Why use java - PHP and MySQL can do the same thing but much quicker, and do you realy want to have your viewers to have to download the java script every time the view or refresh the page. PHP's math functions are more powerfull anyway.
As for the zip code formula - ask UPS they will give it to you.
__________________
What Did One Women Say To Another Women? Who Cares They Both Are Full Of Shit Anyway! |
![]() |
![]() |
#9 (permalink) |
Upright
|
Or you could use: (Probably less cpu intensive)
Code:
$diff_miles = $conversion * sqrt( pow( $zip1_lattitude_rad - $zip2_lattitude_rad, 2 ) + pow( $zip1_longitude_rad - $zip2_longitude_rad, 2 ); Last edited by fox128; 07-13-2003 at 09:18 PM.. |
![]() |
Tags |
java or php, programmers, question |
|
|