Проекция снимков в Google Earth

Последнее изменение: 02/06/2020 13:36:32

В Google Earth используется проекция, называемая широта/долгота или Geographic (Latitude/Longitude) и система координат (Datum) - WGS84. Проекция карты (математическое выражение, используемое для представления трехмерной поверхности Земли на плоской двумерной карте) всегда вызывает искажения одного или нескольких свойств карты, например, площади, масштаба, формы или направления. Поэтому были разработаны сотни типов проекций для более точного представления определенного элемента карты или для наилучшего соответствия определенному типу карты. Источники данных для карт представлены в различных проекциях в зависимости от того, какую характеристику картограф хочет представить более точно (за счет некоторого ухудшения других характеристик). Например, в проекции Меркатора (проекция, используемая в Google Maps) сохраняются правильные углы между линиями широты и долготы за счет площади, которая искажается на полюсах, где области Земли выглядят больше, чем они есть в действительности. В проекции широта/долгота так же сохранены правильные углы между линиями широты и долготы, но плюс к этому, линии сетки по широте и долготе отстоят друг от друга на равные расстояния. Это достигнуто за счёт искажения формы (пропорций) объектов. НО, поскольку программа Google Earth представляет собой трёхмерную модель Земли, то этих искажений в самой программе GE нет (при отображении снимков они растягиваются на модель Земли), искажения присутствую только на плоских картинках, извлечённых из кэша GE.

Вот пример: картинка из кэша GE и, она же, но в другой проекции (в проекции Меркатора): Image:geo2merkat.jpg

Что сразу же бросается в глаза, так это то, что искажение пропорций в GE коснулись только "вертикали", по "горизонтали" искажения отсутствуют. (Сравнение производится с проекцией Меркатора, т.к. искажений в пропорциях объектов, в данной проекции нет.) Разрешение первого снимка 256*256, второго - 256*420. Преобразование проекций можно выполнить в любом ГИС-софте, причём поддерживается и преобразование "налету", т.е. картинка не физически изменяется, а просто изменяется способ отображения данной картинки на экран монитора, главное чтоб картинка имела гео-привязку. Для такого преобразования, достаточно в настройках программы выбрать соответствующую проекцию. Софт подобного типа, также поддерживает и пакетную обработку (физическое перепроецирование) картинок. Примером легковесного, но очень мощного, в плане поддерживаемых форматов, софта может служить Global Mapper, коим, собственно, и был перепроецирован блок из примера.

Отдельной задачей стоит вопрос получения качественного и, по возможности, быстрого алгоритма перепроецирования снимков, т.к. написанный на данный момент сильно проигрывает оригинальному алгоритму из GE. Некачественность алгоритма проявляется в "лесенке" у перепроецированных снимков (она заметна и на скриншоте выше). Наиболее "красивые" перепроецированные снимки получаются при построении карты из кэша GE программой MapBuilder (но за это приходится расплачиваться быстродействием - создание карты происходит довольно медленно).

С существующим алгоритмом можно ознакомиться по исходникам GeoCacher-а 1.3.2.

Так же, обсудить данную проблему можно на форуме.