Прибавить к координатам несколько метров и получить новые

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
Knyzev
Новоприбывший
Сообщения: 1
Зарегистрирован: 14 ноя 2012, 23:59
Репутация: 0

Прибавить к координатам несколько метров и получить новые

Сообщение Knyzev » 15 ноя 2012, 00:09

Здравствуйте!

Есть координаты в системе меркатора
например вот такие
longitude: 35.18434325346
latitude: 56.74515645654

нужно прибавить к долготе (longitude) 100 метров в сторону запада
и к широте (latitude) 50 метров в сторону севера
и получить новые координаты, как это сделать ?

Я пробовал просто прибавить к 35.1843+0.0010, т.к. вроде тысячные значения здесь равняются 10-и метрам
Это долгота, а с широтой там немного больше нужно прибавлять

Но это будут приблизительные расчёты, как правильно это посчитать?

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Прибавить к координатам несколько метров и получить новы

Сообщение trir » 15 ноя 2012, 01:43


Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Прибавить к координатам несколько метров и получить новы

Сообщение Игорь Белов » 15 ноя 2012, 07:44

1. Обычно программы позволяют получить не только долготу/широту, но и плоские координаты проекции Меркатора X/Y. Так, на сфере Google значениям Вашего примера соответствуют X = 3916703.17, Y = 7708208.26, а на эллипсоиде WGS 84 X = 3916703.17, Y = 7706558.60. В идеале надо работать именно с ними. Если смещения E, N отмеряются на местности, необходимо учитывать масштаб отображения m:

Код: Выделить всё

∆X = E · m,
∆Y = N · m,
m ≈ 1 / cos Lat.
Точность зависит от величин смещений. Ваши десятки и первые сотни метров достаточно малы, чтобы не беспокоиться.
Кстати, прибавлять нужно восточное смещение, а смещение на запад вычитать.

2. Ваш подход вполне пригоден (опять же при малых смещениях, как у Вас):

Код: Выделить всё

∆Lon = E / G · m,
∆Lat = N / G,
G = R * π / 180,
где G — длина одного градуса, R — радиус Земли (6378137 метров для сферы Google), π — число пи.
Формулы точны для сферы. На эллипсоиде они приближённые, но для навигационных задач вполне хороши.
The purpose of computing is insight, not numbers

tsarev
Завсегдатай
Сообщения: 406
Зарегистрирован: 14 авг 2006, 16:21
Репутация: 25

Re: Прибавить к координатам несколько метров и получить новы

Сообщение tsarev » 20 ноя 2012, 13:14

Я бы выделил объекты в слое и тупо переместил, а потом бы каталог координат выгрузил.
Предварительно, естественно, сделал бы резервную копию

Ответить

Вернуться в «Общие вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя