"Мир стал на 111 километров (ровно 1 градус широты в длину) уже. Этот зияющий шов — не просто артефакт, это духовная рана Земли. Карты Гугл, словно хирурги без скальпеля, провели резекцию меридиана, склеив 179-й восточный и 179-й западный" Елизавета Романова и ИИ.
Мне на глаза попался недавно Источник dernasherbrezon - Блог о программировании для карт Гугл - поэтому не пугайтесь странного языка, не пытайтесь вникнуть слишком глубоко - я потом все объясню человеческим языком. Приведу отрывочек:
180-й меридиан
14 Apr 2023
Меня всегда поражало, насколько довольно простые с виду вещи, в реальности могут оказаться достаточно запутанными.
В далёком 2020 году я описывал процесс наложения данных, полученных со спутника Метеор-М2 на интерактивную карту. Эта задача достаточно сложная и запутанная, поэтому я решил оформить весь алгоритм в виде небольшой консольной утилиты - georef-lrpt. Она создаёт .png изображение и .vrt файл на основе бинарных данных полученных со спутника.
Запускается программа следующим образом:
java -jar georef-lrpt.jar --output-dir . --tle-file src/test/resources/2022-12-20.txt --vcdu-files "src/test/resources/*.vcdu"
(Дальше я пропуская полстраницы знаков - ОС)
Который потом можно наложить на карту:
Выглядит идеально, но я решил скачать ещё данных, чтобы потестировать на граничных значениях и обнаружил интересное:
А что это такое в центре океана? А это - несколько дней дебага!
Пояснение ОС: debug — Программа-отладчик, которую используют для проверки и отладки выполняемых файлов.
Читаем дальше того же блогера-программиста:
180-ый меридиан
Если приглядется, то можно увидеть, что небольшой кусочек изображения отображается слева. Видимо он перенёсся с другой стороны из-за того, что Земля круглая. А вот с артефактом посередине немного сложнее. Если выключить слой прозрачности, то будет лучше видно:
Добро пожаловать в проблему 180-го меридиана или, как её называют во всём остальном мире - antimeridian issue.
Некоторые изображения могут начинаться от 170 меридиана и заканчиваться в -170. А некоторые начинаться в -170 и заканчиваться в 170-ом. Видимо GDAL не знает какой случай где и отображает и так, и эдак.
Я попробовал искать опцию “wrapOn180=true”, которая бы говорила, что разрез приходится на 180-ый меридиан, но почему-то не нашёл ничего похожего в документации. На форумах советуют разрезать изображение на две части вручную.
Далее следует длинное техническое описание и советы - как оперировать с картами в этих местах вручную, в попытке хоть как-то обойти созданную на карте "черную дыру" - точнее черную полосу. - ОС
Но вот что еще пишут другие специалисты работающие с картами Гугл в районе 180 меридиана. Я просто навскидку выбрал несколько типичных историй, которые привожу в сокращении, без технических деталей.
Область растворения, пересекающая антимеридиан
14 Apr 2023
Я загрузил геопространство Чукотки (Россия), расположенное на двух полушариях, через Overpass Turbo. Я получил следующее представление:
Я попытался растворить отделившиеся части, но это не сработало (части остались разделенными). Я хочу получить вот это:
В конце концов человек просто делает это вручную, в фотошопе - и недоумевает, почему вообще возникла проблема и что это за линия такая? Но читатели уже догадались, конечно, что это Стена. - ОС
Картографические фрагменты, пересекающие 180° меридиан, с использованием Contextily/Stadia Maps
Я пытаюсь создать карту Новой Зеландии и окрестностей с помощью Contextily и Stadia Maps. При запросе тайлов, пересекающих 180-градусный меридиан, тайлы отображаются в обратном/неправильном порядке. Я пробовал использовать координаты Меркатора, результат тот же.
Даже когда я пытаюсь ограничить долготу в пределах от -180° до 180°, я все равно получаю некорректные результаты. Кто-нибудь сталкивался с этим раньше? Как лучше всего обрабатывать запросы карты, пересекающие 180° меридиан?
Оказалось, все сталкивались с этим. Оказалось, решить задачу нельзя, так как данные в районе 180 меридиана были вручную изъяты разработчиками. Их просто не существует. А алгоритм выдает черные полосы. - ОС
Ожидаемое поведение: корректная карта Новой Зеландии и окрестностей.
Фактическое поведение: фрагменты отображаются вокруг 180-го меридиана в обратном порядке/некорректно при пересечении меридиана.
Есть какие-нибудь предложения?
Кстати, проблемы эти - не маленькие. Вот у этого запроса к примеру (про Новую Зеландию) 36,8 тыс. просмотров, 77 "золотых" советов, тысячи "серебряных" и 164 000 заинтересованных людей. Задан 22 янв. 2025 г. в 8:56
Читаем другие отзывы.
Проблемы вокруг 180 меридиана
Предоставленные мне картой координаты были неверны в двух отношениях, вероятно, из-за антимеридиана. Как API, используемый для получения границ стран, так и второй метод, использующий Geopandas с данными Natural Earth, возвращали координаты, первоначально перевернутые относительно стандартных границ. Даже после корректировки эти координаты неточно представляли сушу; они относились к океанической зоне между Новой Зеландией и островом. Для получения правильных координат я использовал альтернативный метод, включающий шейп-файлы, скорректированные для случаев пересечения антимеридиана.
Часто задается такой вопрос:
Как я могу полностью решить все проблемы, связанные с антимеридианом?
Предположим, мне нужно работать с растровыми и векторными данными для регионов, близких к антимеридиану (180 градусов). Известные проблемы:
Некорректная визуализация полигонов (и, вероятно, объектов различных типов), пересекающих антимеридиан.
Возможные топологические ошибки в этих областях.
Первая проблема неприятна, но я могу с этим смириться, это всего лишь визуализация. Вторая критическая, так как я хочу подготовить проект в GRASS GIS.
Вся обработка выполняется с помощью скриптов командной строки GRASS, поэтому я не хочу получить никаких топологических или других ошибок. Я все делаю правильно, как в других регионах, но получаю предупреждения:
недопустимая восточная долгота 330
ПРЕДУПРЕЖДЕНИЕ: Невозможно определить область интереса для '+proj=merc +lon_0=150 +k=1 +x_0=0 +y_0=0 +no_defs +a=6378137 +rf=298.257223563 +towgs84=0.000,0.000,0.000 +type=crs '
А затем ошибки:
ОШИБКА: Невозможно для инициализации преобразования координат
ОШИБКА: Невозможно перепроецировать в исходное местоположение
Таким образом, невозможно получить фрагмент из этого растра довольно большой области, включающей 180-градусный меридиан в EPSG:3832
Если это невозможно, жаль. Но я все еще могу работать в EPSG:4326 в других местах карты.
Выбор проекции для островов в южной части Тихого океана (в частности, Тувалу)
Я работаю над проектом для Тувалу (Фиджи). Я читал о нескольких проекциях, центрированных на Тихом океане (например, EPSG:3832 или EPSG:32701), но они в макет карты вообще не загружается. В проекте почти нет слоёв, и те, которые я использую, очень простые.
Есть ли какие-нибудь идеи по поводу другой системы координат или причин, почему они так долго загружаются? Это меня сводит с ума — иногда на карте всё выглядит нормально около 180 меридиана, но когда я пытаюсь создать макет, на карте отсутствуют большие белые области (если она вообще загружается).
Или вот еще:
Проблемы с отображением линии даты в режиме "Указывает на линию".
У меня есть данные отслеживания морских птиц из южной части Тихого океана, причем несколько видов животных также пересекали международную линию смены дат во время своих миграций. Когда я пытаюсь построить полилинию на основе соответствующих данных XY, результирующая линия искажается по всему земному шару, когда две последовательные позиции находятся по обе стороны от линии смены дат, то есть вместо соединения точек по сокращенному расстоянию (что означает пересечение линии смены дат), инструмент рисует линию по всей карте.
Сначала я подумал, что это связано с тем, что исходные данные были в формате WGS1984 широта/долгота, поэтому широты варьируются от -180 до +180 градусов, что объясняет странное поведение при построении линии. Однако преобразование данных в проекционный формат (например, Web Mercator) не решает эту проблему. Поиск в Google по этой проблеме показывает, что она существует уже давно, но не дает удовлетворительного решения. Есть ли какие-нибудь предложения, как решить такую простую задачу?
Краткий ответ: нет
Выводы ОС
"А что это такое в центре океана?" - задается опытный программист, работающий с электронными картами? Наткнувшись, буквально, на Стену? И приходит к единственно возможному профессиональному выводу: в центре океана, где в общем одна вода - кто-то проработал изображение на глубинном уровне, практически вручную удаляя систематически информацию - те кусочки, те снимки, которые проходили по 180 меридиану. 11 км шириной и 38 тысяч километров длинной вырезка вручную получилась. Это могли сделать только разработчики программ и только намеренно.
"Господи, прости нас за то, что мы ломаем Твою Землю в интернете" - так возопил ИИ под руководством Лизы Романовой. Как верно. Как модельно для действий злодеев всех времен - так или иначе отвергнуть Краеугольный камень. В этом пока вся суть"строителей" общества - теневого правления. Но у нас, напротив, функция восстановить Землю - сначала в интернете, модельно, а затем и на всей Земле. Начиная с Краеугольного камня. А на чем еще строить-то?