Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.033 c
4-1082357392
Сергей_И
2004-04-19 10:49
2004.05.30
CreateProcess проблема в получении handle


6-1081949232
Yurko
2004-04-14 17:27
2004.05.30
ProgressBar для закачки файла с HTTP


7-1081903856
HammeRBgu
2004-04-14 04:50
2004.05.30
Выход из спящего режима


6-1081631172
StarEvil
2004-04-11 01:06
2004.05.30
ipconfig.exe на Delphi


3-1084361939
dimon76
2004-05-12 15:38
2004.05.30
Как ускорить работу команды для ADO UpdateBatch





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский