Useful Function: Distance between two coordinates
Recently developed a function based on the Haversine Formula to generate the distance between two coordinates (in meters). It's useful for comparing distance approximations between different address points. Simply copy the below text into the function script editor:
param Point 1: Latitude;
param Point 2: Latitude;
param Point 1: Longitude;
param Point 2: Longitude;
var Radians = Divide('3.14159265358979323846', '180');
var Point 2: Lat - Radians = Multiply([p:Point 2: Latitude], [v:Radians]);
var Point 1: Lat - Radians = Multiply([p:Point 1: Latitude], [v:Radians]);
var Difference in Latitude = Subtract([v:Point 2: Lat - Radians], [v:Point 1: Lat - Radians]);
-- Difference in latitude in radians
var Sin2_Lat = Square(
Sine(
Divide([v:Difference in Latitude], '2')
)
);
var Cosine_Latitudes = Multiply(
Cosine([v:Point 1: Lat - Radians]),
Cosine([v:Point 2: Lat - Radians])
);
var Point 2: Long - Radians = Multiply([p:Point 2: Longitude], [v:Radians]);
var Point 1: Long - Radians = Multiply([p:Point 1: Longitude], [v:Radians]);
var Difference in Longitude = Subtract([v:Point 2: Long - Radians], [v:Point 1: Long - Radians]);
-- Difference in longitude in radians
var Sin2_Long = Square(
Sine(
Divide([v:Difference in Longitude], '2')
)
);
var a = Add(
[v:Sin2_Lat],
Multiply([v:Cosine_Latitudes], [v:Sin2_Long])
);
var 1-a = Subtract('1', [v:a]);
var atan2 = ArcTangent(
Divide(
SquareRoot([v:a]),
SquareRoot([v:1-a])
)
);
var c = Multiply('2', [v:atan2]);
Multiply('6371000', [v:c])