Calculate Distance in a Command with Geocoder Module

Product and technical information relating to the Geocoder product for use with AccuZIP6

Moderators: Chrissy, Steve, Terry, Donna, Dave, Eric, MartyH, Kristen

Post Reply
User avatar
Eric
Moderator
Posts: 1910
Joined: Tue Sep 19, 2006 3:29 pm
Contact:

Calculate Distance in a Command with Geocoder Module

Post by Eric » Fri Mar 13, 2009 3:53 pm

Below you'll find a Command that will calculate Distance between a Single Point and All Records in your database that contain an eLatitude and eLongitude coordinate. This is for use with the AccuGeoCoder Module.

You only have to enter the Starting Latitude and Longitude in the command and click Run.

Note: Run AFTER Validating with Lat/Long checked or processing the list using the AccuGeocoder Module.

Code: Select all

*!* Field Names
com_DistanceField="distance_"
com_LatitudeField="elatitude"
com_LongitudeField="elongitude"

*!* Starting Latitude Value
com_Latitude="[color=green]42.048700 [/color]"

*!* Starting Longitude Value
com_Longitude="[color=green]-72.569600[/color]"

*!* Supress Messages
ON ERROR com_ErrorMsg=MESSAGE()

*!* Add Distance Field
ALTER TABLE (ALIAS()) ADD COLUMN &com_DistanceField N(20,15)

*!* Convert Latitude
calc_Lat=str(val(com_Latitude)/57.2958,20,15)
calc_Long=str(val(com_Longitude)/57.2958,20,15)

ON ERROR

com_ReplaceString="REPLACE ALL &com_DistanceField WITH iif(!EMPTY(&com_LatitudeField) AND !EMPTY(&com_LongitudeField),round(3958.75*acos(sin("+calc_Lat+")*sin(val(&com_LatitudeField)/57.2958)+cos("+calc_Lat+")*cos(val(&com_LatitudeField)/57.2958)*cos(val(&com_LongitudeField)/57.2958-"+calc_Long+")),15),0)"

&com_ReplaceString
Chat with an AccuZIP6 technician weekdays from 7-4 PST with AccuZIP6 Live Online Support

Post Reply