Клуб API Карт

Пиксели в градусы

an.stepanoff2017
10 апреля 2016, 18:25

Здравствуйте, в ходе решения задачи возникла необходимость преобразования пикселей в градусы.

Для долготы всё просто в одном пикселе 360 / pow(2, zoom + 8) градусов. И с ней всё норм ( угловых смещений нет).

А вот с широтой, формула: cos(lon) * 180 / pow(2, zoom + 8) где lon - широта в радианах.

Проблема в том, что при использовании этой формулы происходит смещение, я понимаю, что смешение 5 м обусловлено погрешностью, но здесь угловое смещение (как мне кажется) дорога и прямая должны быть параллельны (прямая - это участок дороги, расположенной ниже, взятый с яндекс карты; дорога - карта openstreetmap) 

 

Что не так с формулой?

3 комментария
Подписаться на комментарии к посту
Яндекс использует эллиптическую проекцию Меркатора. Там формула несколько сложнее.
Возьмите 2 точки lon, lat и lon, lat + 1 и пересчитайте в пиксели на данном масштабе через проекцию карты
Затем можно вычесть разницу по Y – получите 1 град в пикселях
dimik,
В данном случае получится значения для определенной широты, а нужна универсальная формула
an.stepanoff2017,
А что за проект у вас? Есть ссылка?