Заблуждения программистов о картах

Заблуждения программистов о картах

e3v6jmnfbptzfbaebovaqytae4w.jpeg

Дизайн систем быстро выявляет ошибки в восприятии закономерностей функционирования мира. Те правила, которые кажутся непреложными истинами, могут ими не оказаться. К примеру, если мы пишем функцию приведения текста к заглавному регистру, нужно не забыть, что у немецкой буквы ß заглавной формы написания нет. Эсцет нужно заменить на SS.

Списки подобных заблуждений составлялись про имена или телефонные номера. Настало время карт и систем навигации.

Заблуждение 1. Форма Земли — это просто


Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Быстрой математической модели здесь не получится, нужны упрощения. Геоид — фигура Земли, совпадающая с формой Мирового океана в полном покое (без воздействия ветров и приливов) и условно продолженная под материками. Если прорыть каналы в материках, соединяя моря, то уровень воды в них будет совпадать с геоидом.

q0m3m408xbmvhz2fsyqfu2krnvg.jpeg
Неровности геоида относительно референц-эллипсоида, масштаб усилен в 10 тысяч раз. Международный центр глобальных моделей Земли

Геоид — фигура неправильной формы. Пусть он и более гладкий, чем реальный рельеф Земли, геоид отличается от формы эллипсоида на десятки метров. Поэтому на следующем этапе подбирают такой эллипсоид, который будет наиболее сильно походить на геоид либо в масштабах всей планеты, либо для какого-то нужного фрагмента. Этот эллипсоид закрепляют в точке начала координат. Получилась модель Земли.

Заблуждение 2. Существует одна модель Земли


Параметры эллипсоида, в том числе точка начала координат, образуют датум. В широком употреблении находится много датумов.

Система спутниковой навигации GPS, сервисы Google Maps и «Яндекс Карты» построены на основе эллипсоида World Geodetic System от 1984 года (WGS 84), ГЛОНАСС — на системе «Параметры Земли 1990 года» (ПЗ-90), китайская BeiDou — на собственной производной от Международной земной системы координат эпохи 2000 года. Свой юридически значимый датум может быть хоть у отдельного округа в одном из штатов США.

plyqepdbv8s4tv3s21cnbgzpyu8.gif
Иллюстрация необходимости выбора правильных координат в приёмниках GPS. Куршская коса, побережье Балтийского моря, карта в системе координат 1942 года (СК-42). Фиолетовые точки получены в СК-42, красные — в WGS 84. GIS-Lab

Координаты в разных датумах иногда отличаются незначительно. Иногда различие настолько велико, что требуется трансформация даже для бытовых нужд.

Заблуждение 3. Две координаты укажут на точку


Согласно гипотезе гигантского столкновения, 4,5 миллиарда лет назад в молодую Землю ударил объект размером с Марс. Так наша планета получила спутника — Луну — и наклонение вращения.

Ось суточного вращения Земли отклонена от плоскости движения земной орбиты вокруг Солнца на примерно 23° 26' 21». Из-за гравитационного воздействия Солнца и Луны это отклонение меняется от 22,1° до 24,5° и обратно. Период этого цикла составляет 41 тысячу лет, и сейчас значение отклонения снижается.

НАСА

Итак, утолщённый на экваторе эллипсоид вращается с отклонением. При этом гравитационные поля Солнца и Луны находятся в плоскости эклиптики Земли. Поэтому ось вращения планеты меняется и в пространстве (прецессия). Этот цикл занимает 25,7 тысячи лет, при этом ось незначительно подрагивает (нутация).

y_gppqgxc74kga48frbcaendfwq.gif
Из-за циклов предварения равнодействий (цикл прецессии) каждый звёздный год весеннее равноденствие наступает незначительно раньше, чем в прошлом году — примерно на 20 минут. Здесь суточное вращение Земли дано не в масштабе: в реальности планета совершит более 9 миллионов оборотов. Tfr000

А ещё Земля непостоянна. Материки дрейфуют, магнитное поле меняется. Эти процессы протекают медленно, но также непредсказуема и их скорость. Если где-то выше со ссылкой на сайт Службы вращения Земли дана константа, то это не значит, что это значение не уточнят лет через двадцать.

Из-за изменения и уточнения параметров Земли датумы регулярно обновляют. Но некоторые остаются в употреблении десятки лет. К примеру, советские и российские карты могут быть составлены по СК-42, карты США бывают в стандарте 1927 года NAD27, а какие-нибудь норвежские нефтяники всё ещё полагаются на ED50. Смещения от современного приёмника GPS на таких картах составят сотни метров.

Кроме координат нужно указать датум и его эпоху.

Заблуждение 4. Координаты — это широта и долгота в градусах


В 1980 году компания Texaco бурила новое месторождение в озере Пенёр. Разведка показала, что под дном озера, где-то рядом с месторождением Diamond Crystal Salt Company, должен быть кармашек с нефтью. План требовал пройти буром в 15 метрах от соляной шахты. Diamond Crystal выдала Texaco детальную карту хода шахты — технически всё было реализуемо.

Утром 20 ноября бур неожиданно застрял в кристаллизованной соли, до которой по расчётам было ещё метров тридцать. Бур пробил потолок шахты, вода из озера ринулась вниз. В водоворот засосало буровую установку, 11 барж, буксир, док, остров с ботаническим садом, дома и грузовики.

Инженер Texaco неправильно понял предоставленную карту: на ней использовались прямоугольные координаты, а не градусы. В подобных картах размечена координатная сетка с километровыми линиями.

Универсальная поперечная проекция Меркатора (или, если карта советская, проекция Гаусса — Крюгера) разбивает всю поверхность Земли на 60 вытянутых в меридиональном направлении зон шириной 6 градусов. В каждой из зон координаты указываются в виде отклонения на восток и на север в метрах (или футах, если речь про США).

lesbiwg4uqlvj3n6aqd5rofbd_y.jpeg
Пример задачи, в которой нужно измерить прямоугольные координаты, используя линейный масштаб карты. Координаты точки B: X = 6657000 + 575 = 6657575 м, Y = 7363000 + 335 = 7363335 м.

Не удивляйтесь крупным числам в поле ввода координат.

Заблуждение 5. Широта указывается первой, долгота — второй


Распространён порядок «широта, долгота», но некоторые системы используют порядок «долгота, широта». Пример второго — формат GeoJSON (закреплено в стандарте, RFC 7946, пункт 3.1.1).

Заблуждение 6. Кратчайший отрезок между двумя точками выглядит как прямая


Ортодрома — это кратчайшее расстояние на искривлённых объектах. Частные случаи ортодром — это меридианы и экватор. Чаще всего в проекции на карту ортодромы выглядят как кривая.

5a9hwwhaklfmd4jini-gbu8jtco.png
azpcr59bxz95yc0emeilvwejp_u.png
Полёт в Мадрид из Нью-Йорка на плоской карте выглядит слишком длинным, но в реальности по «прямой» лететь дольше. Лишь на глобусе видно, что происходит на самом деле. Конечно, в жизни самолёты двигаются по регулируемым воздушным трассам, ограниченным техническими характеристиками бортов, метеоусловиями, геополитикой и социальными проблемами. Реальная траектория типичного полёта может отличаться от ортодромы. GIS Geography

Заблуждение 7. Координаты неподвижных объектов не меняются


Объекты сдвигаются, наклоняются и испытывают усадку. Здание может переехать, при этом с жильцами, без отключений воды и света.

Аналогично материки сдвигаются и поворачиваются на несколько сантиметров в год. К примеру, с 1994 по 2017 Австралия неожиданно сильно ушла на северо-восток. Это значит, что после обновления датума улицы и целые города внезапно сдвинулись на 1,8 метра.

Заблуждение 8. Территория всегда кому-то принадлежит


Очевидный контрпример подобного — это целый материк Антарктида, который формально, согласно договору 1959 года, не принадлежит ни одному государству. Тем не менее этот же договор бессрочно фиксирует территориальные претензии несколько стран: Аргентины, Австралии, Великобритании, Новой Зелании, Норвегии, Франции и Чили. На фрагмент материка — Землю Мэри Бэрд — нет территориальных претензий ни у кого.

xshe0bq-zaaaylptfzhbipa7lzs.png

Однако огромные куски ничейной земли бывают и севернее 60° южной широты. К примеру, участок Бир-Тавиль между Египтом и Суданом в результате территориальных споров остался без владельца. Площадь Бир-Тавиля составляет более 2 тыс. км², это горячая пустыня, где никто не живёт. Из-за сложных природных условий территории международное сообщество не воспринимает всерьёз попытки претендовать на Бир-Тавиль.

У территории может не оказаться владельца или даже национального домена верхнего уровня.

Заблуждение 9. Территория принадлежит кому-то одному


С момента образования первых государств начались территориальные споры, которые разрешаются дипломатией или войной. Конфликты длятся десятки, сотни лет. Любое уважающее себя государство имеет претензии на территорию соседа.

vjayj2lys9loaxyouztuag12ywg.png
Красным выделены страны с незакрытыми территориальными спорами из соответствующего списка в «Википедии». /u/whymostnamesaretaken

Любопытно, что спор может возникать не только о том, что государство хочет владеть территорией. В редких случаях две стороны приписывают территорию соседу.

vxqcnopicl_ms6lknhdashm72r4.png
Территориальные споры на границе Хорватии и Сербии. На жёлтые участки претендуют как Хорватия, так и Сербия, на зелёные — ни одна из сторон

Район Горня Сига на границе Хорватии и Сербии формально контролируется Хорватией. При этом Хорватия считает этот участок сербским, хотя Сербия на него не претендует. В 2015 году чех Вит Едличка воспользовался сложным правовым статусом территории и правозгласил на ней государство Либерленд. Впрочем, всерьёз эту выходку никто не воспринял.

Заблуждение 10. Немного пунктира, и у меня получится универсальная карта для всех


Это только кажется, что если кто-то не согласен, то достаточно нарисовать несколько пунктирных линий вместо одной непрерывной границы.

Индийский закон 2016 года запрещает изображать границы страны в виде, отличном от официального. Размах наказаний за нарушение варьируется от штрафа до тюремного заключения. Закон соблюдается: Индия даже выпускает прогнозы погоды для территорий, над которыми не имеет контроля, но считает своими.

Исполнять этот закон придётся в том числе для Кашмира, владеть которым в различных конфигурациях желают Пакистан, Индия и Китай. Это страны с сотнями миллионов, миллиардами человек населения, среди которых непременно найдутся ваши потенциальные пользователи.

m4fphjydmjkp5rsut5a1vqwqoyk.jpeg
Так в вопросе «чей Кашмир?» выкручивается Google Maps. Washington Post

Более того, некоторые страны не признают другие страны вовсе и болезненно реагируют даже на упоминание их имени. Страна может не признавать территорию ни своей частью, ни частью отдельной страны-соседа, поскольку имеет сложности с признанием этого соседа. А ещё некоторые страны могут не признавать город столицей страны.

Если так «повезло», то придётся сделать несколько разных версий вашего продукта для каждой конкретной страны. Страну посетителя придётся геолоцировать по IP или по стране регистрации аккаунта. Ошибки в базе GeoIP могут грозить юридическим преследованием в этой стране.

С другой стороны, иногда ошибка не так критична. Какой бы ни была позиция европейских политиков, но если показать посетителю из Западной Европы Иерусалим в качестве столицы Израиля, гневных криков в техподдержку не случится. А вот если авиабилеты у вас заказывает житель Иордана, лучше быть поосторожней.

Заблуждение 11. Политические споры касаются только рукотворных объектов


В 2021 году выяснилось, что Apple по требованию КНР увеличила масштаб нескольких необитаемых островов архипелага Сенкаку/Дяоюйдао. Как заметно по наличию у топонима японского и китайского названий, Япония и Китай имеют в отношении этих островов территориальный спор.

Даже объективную реальность иногда корректируют по требованию «свыше».

Заблуждение 12. Мне не придётся вносить правки после релиза


В первых версиях Windows 95 выбор часового пояса выполнялся не только по списку, но и графически. Пользователь мог задать часовой пояс, кликнув на своё местоположение на карте. При этом подсвечивались границы часового пояса. За основу карты взяли границы стран, признанные ООН.

a1awmy6wshgz195xy8xsjisg30m.gif

Через несколько месяцев эту фичу региональных настроек пришлось удалить. В начале 1995 года разгорелся вооружённый конфликт между Перу и Эквадором, увенчавшийся территориальным спором. Перуанские власти пожаловались Microsoft, что границы нарисованы неправильно, и попытка удовлетворить одну из сторон не привела бы ни к чему хорошему.

В последующих версиях Windows страны не подсвечиваются. Если у вас в стране живут миллиарды пользователей, то Microsoft может сделать специальную версию системы (Индия и спор с Кашмиром) или даже заставить страдать весь мир. До сих пор в Windows нет набора эмодзи с флагами стран, чтобы не пришлось рисовать флаги частично признанных государств, в том числе Тайваня.

Заблуждение 13. Все территории страны нужно обязательно учесть


Государственное образование Кюрасао в Карибском бассейне формально принадлежит Королевству Нидерландов, и это нужно будет отразить на карте. Тем не менее если у вас виджет с погодой, который показывает среднюю температуру в Нидерландах, температуру в Виллемстаде лучше отбросить.

У термина «страна» есть свои определения, не все из которых важны в каждом конкретном случае.

Заблуждение 14. Рукотворные объекты в море не играют роли


Виртуальное государство Силенд — это артиллерийская платформа в Северном море. Тяжело воспринимать страной структуру площадью около 0.004 км² и с населением в два человека, пусть она с 1967 года требует взрослого отношения.

s44sadn_h7pyzlv5xnectuxa9mw.jpeg
Княжество Силенд. NPR

Более серьёзно воспринимаются искусственные острова. Если Китай отвоёвывает у моря землю и размещает на ней военную базу, и с этой силой уже придётся считаться. Эресуннский мост между датским Копенгагеном и шведским Мальмё — это комбинация моста и тоннеля. Если опускать объекты за пределами материковых владений страны, то подобное будет утеряно.

4cz-h8y8g3gu7113cguk4uquse8.jpeg
Вид на Эресуннский мост с самолёта, взлетающего из аэропорта Каструп в Копенгагене. Nordics.info

Важные объекты находятся в том числе за границами страны.

Заблуждение 15. У стран простые границы


Бельгиская коммуна Барле-Хертог и нидерландская коммуна Барле-Нассау — это переплетение десятков анклавов и эксклавов, сохранившееся от соглашений эпохи Средневековья. Границы проходят по домам и, на радость туристам, нанесены на дорожное покрытие улиц.

3kvgayrirvvriy5xrwcrbniiqzg.png

До 2015 года в мире существовал анклав третьего порядка Дахала Каграбари. Позднее Индия обменяла эту территорию с Бангладеш.

k5xj1mkg6dds6jphgw1xirfneso.png

У стран существуют острова, сложные комбинации анклавов и эксклавов. Программный продукт должен корректно обрабатывать даже самые сложные случаи, корректно определяя, в какой стране находится та или иная точка. И кстати, назвать точную длину линии побережья невозможно из-за фракталоподобной природы берега.

Заблуждение 16. У страны есть столица


У Швейцарии — нет.

Заблуждение 17. Страны имеют одинаковое административное деление


Страна может не иметь деления вовсе. Это справедливо для микрогосударства Ватикан и островного государства Кирибати. Но если деление есть, его нужно правильно истолковать.

На карте Европы с OpenStreetMap страны разбиты на регионы. Однако это не значит, что регионы Франции, земли Германии и кантоны Швейцарии — это сравнимые сущности: их разнообразие и политическая свобода относительно центра отличаются от страны к стране.

yjezbybfq-u2qmcpgnn74i6ybbc.png

На каждом из уровней может быть несколько типов административных единиц. Какой-либо единообразной структуры деления в пределах даже одной страны может не оказаться. На первом уровне деления Канада состоит из 10 провинций и 3 территорий. На втором и последующих уровнях каждая из этих единиц следует собственном делению на муниципалитеты, округа, области, графства, тауншипы, поселения и так далее. При этом одно и то же название будет встречаться на разных уровнях.

Разные части одной страны делятся по-разному. К примеру, Босния и Герцоговина состоит из Федерации Боснии и Герцеговины и Ресублики Сербской. Первая делится на 10 кантонов, вторая — на 7 регионов.

Внешняя единообразность может вводить в заблуждение. Это только кажется, что все штаты США делятся на округа. Из этого правила есть два исключения: Луизиана делится на приходы, Аляска — на боро и зоны переписи.

Границы административных единиц не всегда означают, что ими управляют разные структуры. К примеру, муниципалитеты в США могут иметь власть над несколькими округами или их частями.

Страна может иметь или не иметь несколько уровней административного деления. Названия уровней, административная самостоятельность субъектов и важность деления отличаются от страны к стране.

Заблуждение 18. Страны слабо меняются со временем


Даже самые стабильные на свете страны уточняют свои границы. Вот пример запроса к сервису Ohsome для отслеживания изменений OpenStreetMap.

https://api.ohsome.org/v1/contributions/count?bpolys=8.3999292,46.3892827,8.1143447,45.9555898,7.8287602,45.8332366,7.1367671,45.8026061,6.5875661,46.2982631,6.0054132,46.0166653,5.8296689,46.1918821,6.8182305,47.5142514,8.5646895,47.8766211,9.7180114,47.5587586,9.7839155,47.0895488,10.4429566,47.037157,10.6187009,46.5482024,10.2342603,46.207092,9.2017625,45.7566289,8.4328812,45.970865,8.3999292,46.3892827&filter=type=boundary and boundary=administrative and admin_level=2&time=2020-01-01,2021-01-01&contributionType=geometryChange

В этом запросе задан многоугольник, примерно описывающий границу Швейцарии, заодно туда из-за своих размеров попал Лихтенштейн. В ответ на этот запрос сервис выдаст количество изменений геометрии второго уровня, то есть границ стран. Временное ограничение — за период с 1 января 2020 года по 1 января 2021 года.

{
  "attribution" : {
    "url" : "https://ohsome.org/copyrights",
    "text" : "© OpenStreetMap contributors"
  },
  "apiVersion" : "1.7.0",
  "result" : [ {
    "fromTimestamp" : "2020-01-01T00:00:00Z",
    "toTimestamp" : "2021-01-01T00:00:00Z",
    "value" : 217.0
  } ]
}


Границы около Швейцарии в OpenStretMap всего за один год обновлялись 217 раз, в среднем — четыре раза в неделю.

Границы стран меняются часто. Это происходит далеко не только из-за политики, но и по техническим причинам. К примеру, граница может быть привязана к руслу реки, но с течением времени река незначительно меняет своё течение, или поступают новые данные, которые уточняют координаты её изгибов.

Страна может изменить не только границу, но и даже название. С 3 июня этого года Турция просит называть себя по-английски «Republic of Türkiye» вместо «Turkey».

Заблуждение 19. Новая Зеландия не существует


Как это ни странно, в мире много карт материков, которые полностью игнорируют существование островного государства к востоку от Австралии. Подобных примеров хватило на соответствующий подреддит, а страница 404 на сайте новозеландского правительства когда-то шутила на эту тему.

xtbfkivoxam6syibignpvdl3kby.jpeg
«Что-то потерялось, извините…»

Заблуждение 20. На материке сеть дорог — это связный граф


Транспорт может быть слишком тяжёлым, высоким или громким, чтобы проехать по конкретной дороге. Часть дорог работает только в определённое время суток. Иногда проезда разрешён только правоверным. Не всеми дорогами владеет государство. Даже если дорога частная, не всегда получится проехать по ней за мзду — к примеру, на территорию предприятия просто не пустят посторонних. А ещё дороги перекрывают на ремонт, пуская движение в обход.

Даже если отбросить острова, связного графа не получится.

Заблуждение 21. На карте здания не могут совпадать


Карта — двумерное представление трёхмерного пространства. В реальном мире здания могут перекрывать друг друга, улицы и железнодорожные пути.

2ar0d-r4pemipcum_woncbgq2su.png

К примеру, арка здания Европарламента в Брюсселе пересекает улицу и соединяет его с другим зданием напротив.

Заблуждение 22. Записать топоним не составит проблем


Топоним может обладать несколькими официальными именами. Кантон Женева называется Genève (французский), Genf (немецкий), Geneva (итальянский), Genevra (романшский). В Швейцарии четыре национальных языка.

В записи географического названия могут присутствовать символы, выходящие за алфавит языка страны. К примеру, в Париже есть площадь Béla Bartók, названная в честь венгерского композитора, но буквы «ó» во французском алфавите нет.

Но даже без различий в языках названий может быть несколько. Хотя большая часть мира признаёт, что Фолклендские острова находятся под управлением Великобритании, жители Аргентины называют эту территорию Мальвинскими островами. Название столицы Port Stanley (Порт-Стэнли) аргентинцы не принимают и продолжают называть город Puerto Argentino (Пуэрто-Архентино).

Конфликты могут возникать даже без привлечения территориальных споров. Хотя большая часть мира, включая Иран, удовлетворена названием «Персидский залив», арабский мир — Ирак, Саудовская Аравия, Кувейт, Оман, Катар и ОАЭ — не согласен и называет залив Арабским.

Даже в одном языке названия географических объектов могут отличаться. Формат данных должен допускать несколько названий.

По материалам Kablamo, блога Атле Френвика Свена и блога Даниэля Мешедера.

© Habrahabr.ru