Support 805.461.7300
Sales
Our Technology. Your Success.
Tech Notes

AccuGeoCoder Module: Calculate Distance in a script

Below you'll find a Command that will calculate the 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.

*!* 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

« Back to Tech Notes

You are a genius and I have no excuse for not thinking of this before calling. Our customer is good with cutting the tops and bottoms for the booklets to get under 16 ounces. Thank you for getting me out of a jam and thank you even more for offering your help with this project! I decided to switch to AccuZIP after speaking with Steve at the Minuteman Show. I was impressed with his idea of customer service and you have totally proven him right.
M.M., Petaluma, CA