First commit
This commit is contained in:
23
haversine2km.m
Normal file
23
haversine2km.m
Normal file
@@ -0,0 +1,23 @@
|
||||
d=distance(55.7522,37.6156,51.7373,36.1873) % Мск Курск
|
||||
disp(d)
|
||||
|
||||
function rad = radians(degree) % градусы в радианы
|
||||
rad = degree .* pi / 180;
|
||||
end
|
||||
|
||||
function out=distance(fiA,LA,fiB,LB) % расстояние по координатам
|
||||
% cos(d) = sin(φА)·sin(φB) + cos(φА)·cos(φB)·cos(λА − λB),
|
||||
% где φА и φB — широты, λА, λB — долготы данных пунктов,
|
||||
% d — расстояние между пунктами, измеряемое в радианах длиной дуги
|
||||
% большого круга земного шара.
|
||||
fiA=radians(fiA);
|
||||
LA=radians(LA);
|
||||
fiB=radians(fiB);
|
||||
LB=radians(LB);
|
||||
d = acos(sin(fiA)*sin(fiB) + cos(fiA)*cos(fiB)*cos(LA-LB));%
|
||||
% Расстояние между пунктами, измеряемое в километрах,
|
||||
% определяется по формуле:
|
||||
% L = d·R,
|
||||
% где R = 6371 км — средний радиус земного шара.
|
||||
out=d*6371;
|
||||
end
|
||||
Reference in New Issue
Block a user