Как посчитать разницу между двумя данными в градусах значениями географической долготы в метрах?

Недавно столкнулся с проблемой перевода географических координат в метры. То есть, например, я могу вывести расстояние между одной точкой с географическими координатами в градусах и другой точкой, координаты которой даны в метрах, но я не могу узнать расстояние в метрах между одним значением долготы и другим значением долготы, и не могу пока понять как это сделать.
  • Вопрос задан
  • 1365 просмотров
Пригласить эксперта
Ответы на вопрос 3
Moskus
@Moskus
Если вы в своем вопросе имеете в виду то, что вы написали, то это банально невозможно геометрически.

Одно значение долготы (longitude) определяет линию от полюса до полюса, называемую меридиан. Два значения долготы определяют две таких линии. Эти линии находятся на поверхности Земли (или моделирующей ее фигуры - геоида или сферы), так что они не параллельны. Расстояние между этими линиями, измеренное по линии широты (latitude, параллель), таким образом, меняется от максимального на экваторе до нуля на полюсах, где они сходятся в точку. Вот расстояние между параллелями (значениями latitude, широты) вдоль меридиана посчитать можно, но не наоборот.

Разберитесь, пожалуйста, в базовых понятиях систем координат и проекций, это избавит вас от множества вопросов автоматически.
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Координаты, это условные точки широты и долготы на поверхности шара. К метрам и километрам они имеют отношение только при пересчете на поверхность шара. Считают обычно по формуле гаверсинусов. Подробно описано здесь - gis-lab.info/qa/great-circles.html
На больших расстояниях может давать погрешность в 20-30 километров - расстояние от Москвы до Вашингтона например.
Для более точных расчетов используют модель геоида - упрощенной модели Земли, но и формулы там совершенно другие.

PS. Еще раз перечитал вопрос, и вот что хочу сказать...
Долгота (меридиан) - окружность, проходящая через два полюса. Вторая долгота пересекает первую в точках полюсов, где расстояние между ними будет равно Нулю! Другими словами, расстояние между двумя долготами (двумя меридианами) сильно завит от широты (параллели), на которой измерять это расстояние .
Ответ написан
Комментировать
freeExec
@freeExec
Участник OpenStreetMap
Берёте Proj4(а ныне уже 5 версия), трансформируете в нужную зону UTM и получаете уже разницу в метрах. Но это с учётом, что у вас не большие расстояния, зоны идут по 6 градусов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы