Haversine (Geolocation)
function haversine(iLat,iLong:Double):Double;
Cette fonction retourne la distance entre la position et une coordonnée latitude,longitude
| Result | La valeur de la fonction haversine (km) |
| iLat | La latitude de la position |
| iLat | La longitude de la position |
Exemple
Type
WFAddress = Class(TdbObject)
public
Address1: string;
Address2: string;
City: string;
Country: string;
Geoloc: TGeolocation;
State: string;
end;
procedure showDistance;
var sel:TSelector; inst:WFAddress; dd:double;
begin
sel := WFAddress.CreateSelector('','',true,[]);
foreach inst in sel.AsCursor do
begin
dd := inst.Geoloc.haversine(38.897147,-77.043934);
showMessage(Format('%s %0.4f',[inst.Address1,dd]));
end;
end;
Voir aussi