Клуб API Карт

Узнать координату на заданом расстоянии

Пост в архиве.

Подскажите каким образом можно зная координату к примеру  37.613551,55.736402. Нужно узнать координату со смищением на 500метров на восток и 100метров на юг к примеру.

пробовал по формуле вот от сюда http://gis-lab.info/forum/viewtopic.php?f=2&t=5862&p=35792#p35792 перевел координту в Mercator WGS84 Meters при бавил 500 и обратно - не сошлось.

подскажите как сделать то?

6 комментариев
Sergey Konstantinov
28 января 2016, 06:47
1 градус широты = 111 км
1 градус долготы = 111 км * косинус широты

Если Ваши расстояния небольшие, можете просто напрямую перевести в градусы.
Sergey Konstantinov
28 января 2016, 06:47
И да, эта операция некоммутативная: если сдвинуться на 100 км на восток, потом на юг, потом на запад, потом на север - окажешься вовсе не в той точке, с которой начал, потому что на разных широтах длина дуги пареллели в 1 градус разная.
Ну из градусов в метры примерно понятно, хотя хотелось бы чего то поточнее... а как обратно?
погрешность получается нереальная... есть метод солиднее?
берем переводим 1 градус "тут" в метры( растояние от тут, до тут+1).
делим 111 на результат.
Получаем отличие от кофициента твирла.
Далее так и скачем.
Один из основных свойств проекций семейства меркатора есть сохранение размером маленьких обьектов.
не знаю что они называют маленькими. на ~5км погрешность будет 5-10 метров. тоесть пару пикселей.
Sergey Konstantinov
28 января 2016, 06:47
Погрешность на расстояниях до десятков километров практически отсутствует. Если Вы хотите, чтобы погрешности не было вообще - необходимо работать в градусах дуги, а не метрах.

Опишите задачу точнее, а лучше дайте код.