If you want to calculate the distance between 2 lat/long points in degrees, here is the code in RDMLX:
Mthroutine Name(GetDistance)
Define_Map For(*INPUT) Class(#STD_FLOAT) Name(#FromLat)
Define_Map For(*INPUT) Class(#STD_FLOAT) Name(#FromLng)
Define_Map For(*INPUT) Class(#STD_FLOAT) Name(#ToLat)
Define_Map For(*INPUT) Class(#STD_FLOAT) Name(#ToLng)
Define_Map For(*RESULT) Class(#std_float) Name(#Distance)
Define_Com Class(#STD_FLOAT) Name(#degreetorad)
Define Field(#dltlng) Type(*FLOAT)
* set value of degree to radian conversion
#degreetorad := 3.14159265358979323846264338327950288419716939937510 / 180
* convert our degress to radians
#FromLat := (90 - #FromLat) * #degreetorad
#ToLat := (90 - #ToLat) * #degreetorad
#FromLng := #FromLng * #degreetorad
#ToLng := #ToLng * #degreetorad
#dltlng := #ToLng - #FromLng
#Distance := (#FromLat.sine * #ToLat.Sine * #dltlng.Cosine) + (#FromLat.Cosine * #ToLat.Cosine)
* 3960 is for miles, use 6371 for kilometers
#Distance := #Distance.ArcCosine * 3960
#Distance *= 3960
Endroutine
RDMLX code for determining distance between 2 lat / long
RDMLX code for determining distance between 2 lat / long
Regards,
David
David
Re: RDMLX code for determining distance between 2 lat / long
Is this code supposed to produce distance as miles as coded here?
I get 58982 miles using this code which I know is way off, but if I comment out the last line of code I get 519 which is close.
This site looks right
http://andrew.hedges.name/experiments/haversine/
First location (default: 1600 Pennsylvania Ave NW, Washington, DC)
Latitude:
41.6411770
Longitude:
-93.7770000
Expressed in decimal degrees
Second location (default: 1922 F St NW, Washington, DC)
Latitude:
43.3020161
Longitude:
-103.7312365
Expressed in decimal degrees
Calculate Clear Form
Results
520.075
miles
I get 58982 miles using this code which I know is way off, but if I comment out the last line of code I get 519 which is close.
This site looks right
http://andrew.hedges.name/experiments/haversine/
First location (default: 1600 Pennsylvania Ave NW, Washington, DC)
Latitude:
41.6411770
Longitude:
-93.7770000
Expressed in decimal degrees
Second location (default: 1922 F St NW, Washington, DC)
Latitude:
43.3020161
Longitude:
-103.7312365
Expressed in decimal degrees
Calculate Clear Form
Results
520.075
miles