9 lines
380 B
Text
9 lines
380 B
Text
100 PROGRAM "Haversine.bas"
|
|
110 PRINT "Haversine distance:";HAVERSINE(36.12,-86.67,33.94,-118.4);"km"
|
|
120 DEF HAVERSINE(LAT1,LON1,LAT2,LON2)
|
|
130 OPTION ANGLE RADIANS
|
|
140 LET R=6372.8
|
|
150 LET DLAT=RAD(LAT2-LAT1):LET DLON=RAD(LON2-LON1)
|
|
160 LET LAT1=RAD(LAT1):LET LAT2=RAD(LAT2)
|
|
170 LET HAVERSINE=R*2*ASIN(SQR(SIN(DLAT/2)^2+SIN(DLON/2)^2*COS(LAT1)*COS(LAT2)))
|
|
190 END DEF
|