Здравствуйте!
Есть координаты в системе меркатора
например вот такие
longitude: 35.18434325346
latitude: 56.74515645654
нужно прибавить к долготе (longitude) 100 метров в сторону запада
и к широте (latitude) 50 метров в сторону севера
и получить новые координаты, как это сделать ?
Я пробовал просто прибавить к 35.1843+0.0010, т.к. вроде тысячные значения здесь равняются 10-и метрам
Это долгота, а с широтой там немного больше нужно прибавлять
Но это будут приблизительные расчёты, как правильно это посчитать?
Прибавить к координатам несколько метров и получить новые
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 14 ноя 2012, 23:59
- Репутация: 0
-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Прибавить к координатам несколько метров и получить новы
1. Обычно программы позволяют получить не только долготу/широту, но и плоские координаты проекции Меркатора X/Y. Так, на сфере Google значениям Вашего примера соответствуют X = 3916703.17, Y = 7708208.26, а на эллипсоиде WGS 84 X = 3916703.17, Y = 7706558.60. В идеале надо работать именно с ними. Если смещения E, N отмеряются на местности, необходимо учитывать масштаб отображения m:
Точность зависит от величин смещений. Ваши десятки и первые сотни метров достаточно малы, чтобы не беспокоиться.
Кстати, прибавлять нужно восточное смещение, а смещение на запад вычитать.
2. Ваш подход вполне пригоден (опять же при малых смещениях, как у Вас):
где G — длина одного градуса, R — радиус Земли (6378137 метров для сферы Google), π — число пи.
Формулы точны для сферы. На эллипсоиде они приближённые, но для навигационных задач вполне хороши.
Код: Выделить всё
∆X = E · m,
∆Y = N · m,
m ≈ 1 / cos Lat.
Кстати, прибавлять нужно восточное смещение, а смещение на запад вычитать.
2. Ваш подход вполне пригоден (опять же при малых смещениях, как у Вас):
Код: Выделить всё
∆Lon = E / G · m,
∆Lat = N / G,
G = R * π / 180,
Формулы точны для сферы. На эллипсоиде они приближённые, но для навигационных задач вполне хороши.
The purpose of computing is insight, not numbers
-
- Завсегдатай
- Сообщения: 406
- Зарегистрирован: 14 авг 2006, 16:21
- Репутация: 25
Re: Прибавить к координатам несколько метров и получить новы
Я бы выделил объекты в слое и тупо переместил, а потом бы каталог координат выгрузил.
Предварительно, естественно, сделал бы резервную копию
Предварительно, естественно, сделал бы резервную копию
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя