Re: Radius-Based Zip Locator

This WebDNA talk-list message is from

2005


It keeps the original formatting.
numero = 61847
interpreted = N
texte = here is a php function that works just fine for locators. you just filter the distances you want - 10m, 20m, etc... the only thing is you have to find a formula to convert degrees to radius in wc - the deg2rad() function in php is doing that here. there must be a formula somewhere on wikipedia how to do that. here is the code: function decimal_distance($lat1,$lon1,$lat2,$lon2) { //$radius is determined using the following formula //(360 degrees)*(60 minutes per degree)*(1.852) km per minute //give a circumference of 40003.2 km //radius is circumference/(2*pi) which gives us 6637km or 3956miles $radius=3956; //$radius=3958.75; $lat1 = deg2rad ($lat1); $lat2 = deg2rad ($lat2); $lon1 = deg2rad ($lon1); $lon2 = deg2rad ($lon2); //Haversine Formula (from R.W. Sinnott, "Virtues of the Haversine", //Sky and Telescope, vol. 68, no. 2, 1984, p. 159): $dlon=$lon2-$lon1; $dlat=$lat2-$lat1; $sinlat=sin($dlat/2); $sinlon=sin($dlon/2); $a=($sinlat*$sinlat)+cos($lat1)*cos($lat2)*($sinlon*$sinlon); $c=2*asin(min(1,sqrt($a))); $d=$radius*$c; // return round($d,2); } > I have a database from Census.gov containing 42,000+ zip codes - each with > longitude and latitude. I also have the zip, longitude, and latitude for > each record in my dealer database. > > Would anyone care to share the [math] that performs the distance > calculations after a visitor to enters a zip and radius in miles? > > > > On 2/7/05 9:04 AM, "Clint Davis" wrote: > >> Anyone have a radius-based zip locator written in WebDNA that they might >> share or sell for cheap? I've been using a CGI that isn't providing >> enough >> flexibility and integration. > > > > ------------------------------------------------------------- > This message is sent to you because you are subscribed to > the mailing list . > To unsubscribe, E-mail to: > To switch to the DIGEST mode, E-mail to > > Web Archive of this list is at: http://webdna.smithmicro.com/ > -- ------------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://webdna.smithmicro.com/ Associated Messages, from the most recent to the oldest:

    
  1. Re: Radius-Based Zip Locator ( Clint Davis 2005)
  2. Re: Radius-Based Zip Locator ( "kalin mintchev" 2005)
  3. Re: Radius-Based Zip Locator ( David M. Dantowitz 2005)
  4. Re: Radius-Based Zip Locator ( Clint Davis 2005)
  5. Re: Radius-Based Zip Locator ( "Christian F. Gurney" 2005)
  6. Re: Radius-Based Zip Locator ( "Brian Boegershausen" 2005)
  7. Radius-Based Zip Locator ( Clint Davis 2005)
here is a php function that works just fine for locators. you just filter the distances you want - 10m, 20m, etc... the only thing is you have to find a formula to convert degrees to radius in wc - the deg2rad() function in php is doing that here. there must be a formula somewhere on wikipedia how to do that. here is the code: function decimal_distance($lat1,$lon1,$lat2,$lon2) { //$radius is determined using the following formula //(360 degrees)*(60 minutes per degree)*(1.852) km per minute //give a circumference of 40003.2 km //radius is circumference/(2*pi) which gives us 6637km or 3956miles $radius=3956; //$radius=3958.75; $lat1 = deg2rad ($lat1); $lat2 = deg2rad ($lat2); $lon1 = deg2rad ($lon1); $lon2 = deg2rad ($lon2); //Haversine Formula (from R.W. Sinnott, "Virtues of the Haversine", //Sky and Telescope, vol. 68, no. 2, 1984, p. 159): $dlon=$lon2-$lon1; $dlat=$lat2-$lat1; $sinlat=sin($dlat/2); $sinlon=sin($dlon/2); $a=($sinlat*$sinlat)+cos($lat1)*cos($lat2)*($sinlon*$sinlon); $c=2*asin(min(1,sqrt($a))); $d=$radius*$c; // return round($d,2); } > I have a database from Census.gov containing 42,000+ zip codes - each with > longitude and latitude. I also have the zip, longitude, and latitude for > each record in my dealer database. > > Would anyone care to share the [math] that performs the distance > calculations after a visitor to enters a zip and radius in miles? > > > > On 2/7/05 9:04 AM, "Clint Davis" wrote: > >> Anyone have a radius-based zip locator written in WebDNA that they might >> share or sell for cheap? I've been using a CGI that isn't providing >> enough >> flexibility and integration. > > > > ------------------------------------------------------------- > This message is sent to you because you are subscribed to > the mailing list . > To unsubscribe, E-mail to: > To switch to the DIGEST mode, E-mail to > > Web Archive of this list is at: http://webdna.smithmicro.com/ > -- ------------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://webdna.smithmicro.com/ "kalin mintchev"

DOWNLOAD WEBDNA NOW!

Top Articles:

Talk List

The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...

Related Readings:

passing info to thankyou.tpl (1998) Targeted Redirect (1999) Bug Report, maybe (1997) Can't use old cart file (was One more try) (1997) Protect Tage and Groups (1998) users.db (1999) Re:quit command on NT (1997) Emailer setup (1997) Tip O' the Week (1996) Convert Chars Q (2000) RE: Nesting [ListFiles] (1998) Automated email (2000) [OT] Site launch (2004) WebCatalog can't find database (1997) [include ...] behavior (1997) Claris HomePage messes up the code (1997) WebMerchant when CC network is down (1998) [WebDNA] autonumber duplication, time stamp issue & locking up (2010) WebCat2: Items xx to xx shown, etc. (1997) why is this line in GeneralStore? (1998)