Форум: "Потрепаться";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
ВнизКак посчитать расстояние в метрах по географическим координатам? Найти похожие ветки
← →
Korneley (2004-05-08 08:47) [0]Есть две произвольные точки с широтой и долготой. Надо получить расстояние в метрах по поверхности Земли. Кто знает формулу, или того кто знает того кто знает? Help me!!!
← →
Verg © (2004-05-08 09:28) [1]Может это поможет?
http://lnfm1.sai.msu.su/grav/russian/lecture/tfe/node3.html
← →
SergP © (2004-05-08 09:35) [2]2 Korneley (08.05.04 08:47)
А самому вывести такую формулу религия не позволяет?
Радиус Земли можно в справочнике найти, а насчет остального - подумать головой....
← →
Verg © (2004-05-08 09:37) [3]
> SergP © (08.05.04 09:35) [2]
А че, Земля - шар?
← →
SergP © (2004-05-08 09:43) [4]>А че, Земля - шар?
о погрешности вычислений ничего ведь не говорилось.....
Ну если уж нужна большая точность, то тогда можно принять во внимание что Земля на самом деле - элипсоид... А если еще точнее нужно, то придется учесть что поверхность у земли не ровная. Но не думаю что он где-то найдет формулу для вычисления расстояний между двумя точками по поверхности, учитывающую неровность этой поверхности (типа горы всякие и пр.) :-)))
← →
Verg © (2004-05-08 09:57) [5]
> SergP © (08.05.04 09:43) [4]
На сколько известно мне, в геодезии применяется геодезические (эллипсоидные) координаты B, L, H.
B - по-моему широта
L - долгота
H - высота от поверхности эллипсоида
Есть формулы для перевода в прямоугольную (x,y,z с нулем в центре эллипсоида) систему координат.
x = (N+H)*cos(B)*cos(L);
y = (N+H)*cos(B)*sin(L);
z = (N*(1-e)+H)*sin(B);
N = a/sqrt(1-e*sqr(sin(B))
В этих формулах есть коэффинциентики a и e, которые стандартизованы и д.б. в справочниках.
У меня есть они только для систем СК-42 и СК-95
a = 6 378 245 (в метрах)
e = 0.0066934216
← →
Korneley (2004-05-08 11:43) [6]>А самому вывести такую формулу религия не позволяет?
Не религия - время. "Если можешь сесть, а не стоять - сядь. Если можешь лечь, а не сидеть - ложись" Просто я уверен, что проблема(?) решена давно.
>А че, Земля - шар?
Не, геоид... Вроде...
>о погрешности вычислений ничего ведь не говорилось.....
Ну, если считать, что градус это где-то 111 км., то работает, но только на нашей широте, а хотелось бы чтобы везде.
>не думаю что он где-то найдет формулу для вычисления расстояний между двумя точками по поверхности, учитывающую неровность этой поверхности (типа горы всякие и пр.) :-)))
Так точно и не надо. Представим сферическую Эемлю... В вакууме...
>В этих формулах есть коэффинциентики a и e, которые стандартизованы и д.б. в справочниках.
Вот! А в каких? Вопрос. Авторы, названия, издательства?
← →
Profi © (2004-05-08 12:32) [7]Почитай Ягодкина "Гироприборы". Там все формулы найдешь.
← →
Verg © (2004-05-08 12:38) [8]
> Представим сферическую Эемлю... В вакууме...
Допустим есть две точки на сфере с угловыми координатами (д1, ш1) и (д2, ш2), выраженные в радианах, а R-радиус сферы
Кртачайшее расстояние между этими точками по сфере будет равно
R*arccos( sin(д1)*sin(д2) + cos(д1)*cos(д2)*cos(ш2-ш1) )
← →
Verg © (2004-05-08 12:50) [9]Ошибка за счет эллипсоидности, если память не изменяет, что-то около полупроцента максимум.
← →
Jeer © (2004-05-08 14:16) [10]Это так называемая ОГЗ (обратная геодезическая задача)
На самом деле для сфероида она совсем не простая и решается численными методами.
При решении по упрощенным формулам с удержанием двух членов ряда
погрешность не превышает 100 м на расстояниях до 270 - 950 миль
в зависимости от географической зоны
← →
Korneley (2004-05-08 20:51) [11]Спасибо всем, люди добрые! Отдельно "Profi" за "Гироприборы" Ягодкина и "Verg"-у за R*arccos( sin(д1)*sin(д2) + cos(д1)*cos(д2)*cos(ш2-ш1) )
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c