Проекции: почему сферу нельзя развернуть

Урок о фундаментальной проблеме картографии: переход со сферы на плоскость всегда что-то искажает, и выбор проекции — это выбор, чем пожертвовать.

Картографическая проекция — это математическое правило, переводящее координаты со сферы (или эллипсоида) на плоскость карты.

Возьмите апельсин, очистите кожуру одним куском и попробуйте разложить её плоско на столе. Не выйдет: корка либо порвётся, либо где-то соберётся складками. Поверхность сферы и плоскость имеют разную кривизну, и никакое преобразование не переведёт одно в другое без растяжений и разрывов. Это не недоработка картографов — это теорема геометрии (Гаусса). Поэтому любая плоская карта врёт, вопрос только в том, в чём именно.

Что именно искажается

Проекция может сохранить ровно что-то одно из перечисленного, но не всё сразу:

  • Углы (форму) — проекции называют конформными. Меркатор сохраняет углы: маленькие фигуры не перекошены, но крупные раздуты.
  • Площадиравновеликие проекции. Хороши для статистики (плотность населения), но искажают форму.
  • Расстоянияравнопромежуточные, и то лишь вдоль некоторых линий.

Классический пример вранья — Гренландия на карте Меркатора выглядит крупнее Африки, хотя на деле Африка больше неё примерно в 14 раз. Меркатор раздувает всё ближе к полюсам.

Как работает под капотом: коэффициент масштаба

У проекции Меркатора горизонтальное растяжение в точке с широтой $\phi$ равно $\frac{1}{\cos\phi}$. На экваторе $\cos 0° = 1$ — искажения нет. На широте $60°$ множитель равен $\frac{1}{\cos 60°} = 2$ — всё вдвое крупнее. У полюса $\cos 90° = 0$, и масштаб уходит в бесконечность — поэтому Меркатор физически не может показать сами полюса. Посчитаем эту «линейку искажений»:

import math

def scale_factor(lat_deg):
    return 1 / math.cos(math.radians(lat_deg))

for lat in (0, 30, 45, 60, 75):
    k = scale_factor(lat)
    print(f"Широта {lat:>2}: объекты крупнее в {k:.2f} раза")

Вывод:

Широта  0: объекты крупнее в 1.00 раза
Широта 30: объекты крупнее в 1.15 раза
Широта 45: объекты крупнее в 1.41 раза
Широта 60: объекты крупнее в 2.00 раза
Широта 75: объекты крупнее в 3.86 раза

Зачем тогда Меркатор

Несмотря на вранье о размерах, Меркатор десятилетиями был стандартом мореходов: на нём линия постоянного компасного курса (локсодрома) — прямая, что удобно для прокладки маршрута. Его вариант Web Mercator (EPSG:3857) сегодня используют почти все онлайн-карты — Google, Яндекс, OpenStreetMap — потому что он удобно ложится на квадратные тайлы и сохраняет форму при любом зуме. Цена — искажение площадей в высоких широтах.

Частые ошибки

  • Сравнивать площади стран по карте Меркатора. Это прямой путь к выводу «Гренландия с Африку» — неверному в 14 раз.
  • Считать расстояния прямо на проекции в высоких широтах. Километр у полюса на карте Меркатора выглядит длиннее километра на экваторе.
  • Думать, что есть «правильная» проекция. Правильной нет — есть подходящая под задачу: форма, площадь или расстояние.

Жить с искажением осознанно

Главный вывод из теории проекций практический: раз любая карта врёт, инженер не ищет «правильную» проекцию, а осознанно выбирает, каким искажением можно пренебречь в данной задаче. Для навигации и веб-карт берут конформный Меркатор — пусть площади врут, зато форма и углы верны, а тайлы ложатся ровно. Для статистики по площадям (плотность населения, доля угодий) берут равновеликую проекцию — пусть форма перекошена, зато площади честные. Для измерения расстояний в регионе берут локальную метровую зону. «Универсально хорошей» проекции нет, и попытка её найти — признак непонимания самой природы проблемы.

Знаменитый спор «Гренландия с Африку» — отличная иллюстрация, как незнание проекции рождает ложные выводы. На вездесущем Меркаторе Гренландия выглядит сопоставимой с Африкой, хотя реально меньше неё примерно в четырнадцать раз — просто она у полюса, где Меркатор раздувает площади сильнее всего. Тот же эффект искажает любые «карты-сравнения», нарисованные на Меркаторе: страны высоких широт (Россия, Канада, Скандинавия) кажутся гигантскими, экваториальные — приниженными. Поэтому первый вопрос к любой тематической карте — в какой она проекции, и допустимо ли в ней то сравнение, которое карта подталкивает сделать. Грамотность в проекциях — это в том числе иммунитет к визуальной дезинформации.

Итог

  • Сферу нельзя развернуть на плоскость без искажений — это геометрический факт.
  • Проекция сохраняет либо углы, либо площади, либо расстояния, но не всё.
  • Меркатор сохраняет углы (форму) и раздувает площади к полюсам в $1/\cos\phi$ раз.
  • Выбор проекции — это выбор, каким искажением можно пренебречь.
Проверьте себя
1. Почему любая плоская карта искажает реальность?
AИз-за плохих принтеров
BПоверхность сферы и плоскость имеют разную кривизну, их нельзя совместить без растяжений
CИз-за вращения Земли
DИз-за атмосферы
2. Во сколько раз Меркатор раздувает объекты на широте 60°?
AНе раздувает
BВ 1.15 раза
CВ 2 раза (1/cos 60°)
DВ 10 раз
3. Что сохраняет проекция Меркатора?
AПлощади
BУглы (форму малых объектов)
CРасстояния везде
DНичего