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:

process SSI (1998) grep question - removing spaces (2005) Changing Global template settings (2002) Emailer setup (1997) Exact word search - continued (1998) I'm having trouble using [url][interpret][math] together in lookup (1997) creating a ShipCosts database (1997) WebCat2.0 acgi vs plugin (1997) Serious WebDNA issue (2006) Size limit for tmpl editor ? (1997) [OT] I am old. (2003) YACBQ.....(Yet another checkbox question) (2000) PIXO support (1997) test (2004) RE: Can't get appendfile to work (1997) Summing fields (1997) THANKS!!! ShipCosts.db and debugging (1997) Redirect (2000) CMS (2003) PCS Customer submissions ? (1997)