Ликбез по картографическим проекциям с картинками Страница 1 из 4

Визуализация данных самого разного рода, имеющих некое географическое распределение, в последнее время получает все большее и большее распространение. Тут, на Хабре, статьи с картами встречаются чуть ли не каждую неделю. Карты в статьях очень разные, но роднит их одно: как правило, в них используются всего две картографические проекции, при том — не самые удачные из существующих. Мне бы хотелось дать несколько наглядных примеров проекций, которые выглядят более эстетично и лучше приспособлены для разных видов визуализации. В этой статье будут рассмотрены общемировые проекции и проекции большей части Земли, так как визуализация чего-либо на карте мира, пожалуй, является наиболее распространенной из подобных задач.







Легкое введение

Поскольку статья ориентирована на вопросы визуализации данных, я не буду касаться глубоко теории проекций (датумов, конформности, равноугольности и тому подобного), кроме общих принципов их построения. Также, я буду говорить тут о «проекциях», формально подразумевая «систему координат», coordinate reference system, потому что для карт таких масштабов не имеет смысла отдельно рассматривать проекцию и датум. Математики здесь тоже практически не будет, кроме простой геометрии. Желающие ознакомиться с математическими принципами, могут это сделать по статьям на Wolfram MathWorld. Так что изучающим программирование в области геоинформационных систем или их опытным пользователям, эта статья, возможно, будет не очень полезна.

Перед началом, объясню пару вещей. Все примеры будут даваться с использованием набора данных государственных границ с вот этого сайта и набора данных Blue Marble Next Generation с сайта NASA. Последний включает в себя синтезированные безоблачные снимки земной поверхности за каждый из двенадцати месяцев 2004-го года, что позволит внести некоторое разнообразие в иллюстрации.

Я очень люблю открытый софт, но использовать GDAL в данном случае мне показалось неэффективно — некоторых не очень ходовых, но полезных проекций в его реализации на данный момент либо нет, либо я плохо смотрел исходники, а потому иллюстрации я готовил в коммерческой программе GlobalMapper, которой пользуюсь уже много лет, и которая славится поддержкой внушительного списка систем координат.

Названия проекций и некоторые термины я буду давать и англоязычные, потому что если кому-то захочется поискать материалы по этой теме, русскоязычных источников в сети найдется несколько меньше (объем статей в Википедии на русском меньше в несколько раз). Для большинства проекций я постараюсь дать не только названия, но и коды EPSG и/или WKID, а также название проекции в библиотеке PROJ.4, широко используемой в открытом софте (например, в пакете R) для поддержки систем координат.

Некоторые проекции, возможно, окажутся кому-то знакомыми по картинке с xkcd, но все из них тут рассмотрены не будут.

Проблема

Начнем с того, что же это за самые распространенные проекции, и что с ними не так.

Первая проекция — так называемая «Географическая», она же – Geographic projection, Latitude/Longitude, Plate carrée EPSG:4326 WKID:54001 PROJ.4:longlat. Строго говоря, она даже не совсем является проекцией, потому что получается путем интерпретации полярных угловых координат, как линейных прямоугольных, без всяких вычислений. Эту проекцию используют, потому что она способна отобразить всю поверхность Земли целиком и потому, что она самая простая математически, а данные очень часто распространяются не спроецированными, то есть именно в географических координатах (градусах широты и долготы).





Что же получается? Получается прямоугольник, где точки полюсов обращены в линии (верхнюю и нижнюю границы). Чем дальше от экватора, тем сильнее любой объект на карте оказывается сплюснут по вертикали и растянут по горизонтали. Как я уже сказал, это худо-бедно годится для отображения глобальных наборов данных, но полярные территории (Канада, Норвегия, Швеция, север России, Финляндия, Гренландия, Антарктида, Исландия) оказываются искажены. Проекции, которые позволяют избежать этого, существуют, и о них пойдет речь дальше. Единственная причина использовать эту проекцию — ее предельная простота программной реализации — нужно просто отобразить систему координат от -180º до 180º по X и от -90º до 90º по Y на плоскость, считая угловые единицы линейными.

Другая весьма популярная проекция — «проекция Меркатора», Mercator projection PROJ.4:merc. Она также используется для визуализации данных, покрывающих весь мир, но ее популярность продиктована не только простотой — ее варианты являются стандартом де-факто для глобальных картографических сервисов, таких как Google Maps, Bing Maps, Here. С ней глубоко связаны картографические библиотеки OpenLayers, Leaflet, API упомянутых выше сервисов. В варианте Google и OpenStreetMap она носит название Web Mercator и имеет код EPSG/WKID:3857, иногда на нее также ссылаются, как на EPSG:900913. Принцип ее построения не сильно сложнее Географической – это проекция на цилиндр, чья ось совпадает с географической осью Земли, проецирование происходит линиями, выходящими из центра планеты, от чего ошибка растяжения приполярных областей по горизонтали оказывается скомпенсирована пропорциональным растяжением по вертикали. Проблема с этим только в том, что карта получится слишком большой по вертикали, если попытаться отобразить и север Гренландии. Потому обычно отбрасывают 16° полярных областей (в равной пропорции или больше — с юга).



  • 1979
  • 02/09/2014


Поделись



Подпишись



Смотрите также

Новое