как перевести координаты из сферических в декартовы на плоскую карту кратко
Практика
как перевести координаты из сферических в декартовы на плоскую карту как плолучить координаты точки на карте мира
Земля круглая, а мониторы плоские. Для того, чтобы можно было смотреть землю на мониторе — существуют методы проецирования земного шара на плоскость. Один из таких методов — проекция Герарда Меркатора, заключается в том что земной шар вытягивают в районе полюсов в цилиндр, а затем получившийся цилиндр разрезают по 180 меридиану в результате чего получается плоское изображение.
Так как в районе полюсов карта получается очень растянутая, то небольшие куски сверху и снизу карты обрезаются (оставляют диапазон широт примерно от -85° до 85°). В итоге получается такая карта:
На википедии можно скачать карту проекции Меркатора в высоком разрешении на которой мы и будем рисовать.
Теперь как отобразить точку с заданной координатой на этой карте? Долгота в проекции Меркатора не искажается. Значит для того, чтобы узнать точку X на карте нам всего лишь нужно умножить долготу на масштаб карты по X и прибавить получившееся число к точке обозначающей середину карты.
С широтой сложнее. Масштаб увеличивается от экватора к полюсам. Чем дальше от экватора — тем выше искажение. Увеличивается масштаб по такой формуле:
Здесь φ — это широта (в радианах), y — коэффициент искажения. Зная это — умножаем широту на масштаб по Y и на коэффициент искажения.
Вкратце отличия от проекции меркатора:
Проекция не искажается по широте, соотв. широта считается так же как и долгота. Есть несколько преимуществ в использовании этой проекции: во первых немного увеличивается диапазон широт, во вторых несколько быстрее просчитываются точки, т.к. математические операции — примитивные. Впрочем есть один незначительный минус — карта немного «сжата» по вертикали.
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)