ШТОСМ

Путешествия 2025

Москвичи! Вас приглашают на картовстречу, и учитывая, что сообщество не собиралось уже год, отказываться нельзя. В воскресенье 4 мая solenoid_jam предлагает встретиться в саду имени Баумана в 11:00. Как полагается, он раздаст куски «пирога», кварталов, которые каждый будет исследовать в течение трёх часов. А затем все соберутся обратно вместе в баре где-то на районе и уже нормально обсудят всю тяжёлую осмерскую жизнь. Следите за чатом в телеграме, чтобы не потеряться.

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

Международная конференция State of the Map, разумеется, тоже состоится в этом году. Великолепная новость состоит в том, что она будет на Филиппинах: туда не проблема попасть из России. 3-5 октября в Маниле, с обычными секциями и людьми. Каждая такая встреча — праздник, очень советую потратиться и прилететь. Планирую и сам.

Если денег мало, успейте вписаться в программу грантов: нескольким участникам оплатят перелёт и проживание, не говоря уж о билете на саму конференцию (обычно стоит около сотни евро). Приём заявок открыт до утра 16 мая. Не стесняйтесь, у меня немало знакомых, в том числе из богатых европейских стран, кому раньше везло.

Разумеется, открыт также приём заявок на выступления и мастер-классы, и академических отчётов. То и то — до 18 мая, язык только английский, ничего нового, только классика. От потенциальных спонсоров тоже ждут заявок: именно они оплачивают все гранты, а от количества зависит, насколько вкусной будет еда и весёлыми — социальные мероприятия.

А если вы в Европе — то Шотландия ждёт вас! Для тех, кому далеко лететь на основную конференцию, организуют европейскую. 14-15 ноября State of the Map Europe пройдёт в Данди, в полутора часах езды от Эдинборо. Это пока вся информация, всякие приёмы заявок и регистрации откроют позже. Подпишитесь на их рассылку на сайте, если сможете приехать. Британское осмерское сообщество не так красочно, как международное, но очень... британское.

Сумерки OpenStreetMap

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

Любое движение на «лице проекта», сайте openstreetmap.org, широко обсуждается: ведь каждая кнопка важна, наличие или отсутствие чего-либо описывает наше сообщество лучше, чем очередное интервью со Стивом Костом. Так и тёмная тема: в сентябре её просили, но получив желаемое, ищут способы откатить.

Затенённые тайлы — главная проблема. Именно на них жалуются в тикете github. На reddit делились способами их отключения. Недавно в настройки сайта, всё-таки, добавили отдельный переключатель. Действительно, это довольно странное решение — но разумный компромисс, если подходить к вопросу с точки зрения дизайна. Традиционный способ, инвертировать цвета и повернуть палитру на 180°, работает. Но он не идеален: цвета становятся темнее, чем нужно, и хочется что-то подправить.

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

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

История с ночной темой интересна тремя обстоятельствами, которые мы рассмотрим в трёх следующих разделах. Потому что в прошлом году произошло много чего, ускользнувшего из поля зрения штосма.

Мейнтейнеры

Сам пул-реквест для ночной темы состоит из всего одной строчки ( плюс ещё десяток для починки мелочей, типа кнопки закрытия панели). Он стал возможен благодаря пяти годам непрерывной работы Энди Аллана, переводившего оформление сайта на Bootstrap. Поэтому не пришлось думать над цветами и править компоненты — обо всём уже подумали сотни разработчиков фреймворка.

Написал и помёржил ночной режим новый мейнтейнер сайта, Антон Хорев из Петербурга. О нём мало чего известно вне OSM, но в проекте он делает немало. Прежде всего, он участник рабочей группы по данным с 2019 года, составляет компанию другому русскоязычному участнику, Владимиру «Mavl». В 2018 году он написал четыре восхитительно дотошные статьи про картирование заведений, но и остальные 19 заметок его дневника в OSM так же вдумчивы и полны практических наблюдений. Его смотрелкой заметок пользуются все, кому не безразличны незакрытые заметки в своём городе.

Антон начал валить пул-реквесты в код сайта с лета 2022 года, и до сих пор невероятно плодовит, создаёт их по десятку в неделю. Если заглянуть в историю, там много черновиков, незакрытых реквестов, споров — но Антону всё нипочём, он просто продолжает создавать новые. Тут поменять шрифт, там поправить отображение на телефонах, здесь оптимизировать код. Из 157 открытых сейчас реквестов больше половины — его. Только летом 2024 Энди сообразил, что пора вписать Антона в список мейнтейнеров.

Так что хотя кажется, что сайт OpenStreetMap не меняется годами, внутри происходит постоянное бурление, что-то меняется местами, что-то становится чище или удобнее. В октябре Энди транскрибировал свой рассказ с лондонской конференции про опыт работы над сайтом — из него можно многое узнать про проблемы переводов и безопасного вывода HTML.

Но ощущение, что ничего не происходит, не безосновательно. Как только кто-то (даже мейнтейнер) хочет поменять что-то по-крупному, как Том, бессменный вахтёр сайта с 2007 года, отказывается во всё это вникать и затягивает обсуждения до бесконечности. Ещё во времена maps.me я делал несколько пул-реквестов, но все по тем или иным причинам закрывали. Либо Том вручную переписывал код и коммитил сам — одна из порицаемых практик в открытых проектах. Я забил на сайт, ещё десятки людей ушли точно так же. Остались те, кто вместо качественного осовременивания сайта и ответа на множество вопросов вида «что сайт говорит о сообществе» вылизывают код и исправляют форматирование HTML. Если рефакторинг длится пять лет, а похвастаться нечем, — то зачем вообще?

Надстройки

Куда уходят разработчики? Вернёмся к ночной теме: до ноября сайт затемняли с помощью надстроек браузера. Пользовательские скрипты и расширения браузера, для которых не требуется санкции авторов сайтов, — отличный способ добавить что-то небольшое быстро, без длинных обсуждений, которые рискуют зайти в никуда. Например, участники народной карты Яндекса именно любительским расширением упрощали себе редактирование карты.

Для OSM скриптов немного, но все они подсвечивают недостатки самого сайта. Например, OpenSwitchMaps: добавляет кнопку со ссылками на другие карты, геопорталы, два десятка osm-инструментов и прочее, вплоть до запуска редакторов. Можно ли что-то из этого добавить официальным путём? Ну, редактор Rapid под кнопку «править» пытаются добавить с 2020 года, и как-то не очень. Как я вещал на SotM в Кении, философия OSM предполагает, что всю нужную функциональность воплощают в отдельных проектах, но при этом мейнтейнеры предпочитают не размещать на сайте ссылок ни на что постороннее.

Или помните редактор тегов, который встраивается в страницу объекта на osm.org? Элементарно воплощается в Rails Port и без хаков, потребовавшихся для расширения браузера. Но пройдёт ли такой редактор через забор мейнтейнеров? Опыт участия не даёт даже желания проверять. 119 пользователей в прошлом году, 18 тысяч правок, но только один человек, чьё мнение имеет силу.

Самое впечатляющее расширение последний год пишет Роман Деев. Его better-osm-org добавил пункт «Edit with Rapid» в меню правки, который меня озадачил, и я двадцать минут искал коммит в коде сайта. Он делает списки компактнее, рисует геометрию на странице пакета правок, показывает, какие теги изменились в истории, даже прокидывает лайки из OSMCha. Всё это в картинках описано в дневничке Романа. Сотни мелких улучшений: с этим расширением для картографов появился смысл заходить на глагне!

Можно ли эти мелочи было встраивать сразу в код сайта? Конечно — но пришлось бы не только договариваться (или два года делать пул-реквесты каждый день, чтобы втереться в доверие), но и изучить, для начала, архитектуру проекта на Ruby on Rails. 18 лет назад этот фреймворк был новым и модным, но сейчас разработчиков на нём ещё поискать. Поэтому люди предпочитают более распространённые JavaScript (на котором и пишут браузерные расширения) или Python.

Новое поколение

Альтернативная глагне ночной режим пока не поддерживает, и это единственная строчка в её публичном плане. Кнопка для редактирования в Rapid на ней уже есть.

Секунду, альтернативная? Если вы пропустили, Камиль Монич (тот самый NorthCrab) уже чуть больше года почти в одиночку переписывает весь бэкенд OpenStreetMap на Python. Да. Весь. 50 тысяч строк кода сейчас, демо-сайт откроет со дня на день.

Проект OpenStreetMap NextGen задуман заменить всю нынешнюю гору кода: Rails Port, CGIMap и разрозненные скрипты экспорта-импорта. Если выгорит, для участия в разработке не нужно будет знать минимум три древних языка: достаточно двух самых популярных на планете, Python с известными библиотеками FastAPI и SQLAlchemy, и JavaScript. Казалось бы, как этот банальный стек может сравниться с отточенным за 18 лет кодом, тем более с C++? Камиль парирует — большую часть времени код всё равно ждёт ответа PostgreSQL. И как заметил Пол Норман, Rails Port бы справился без C++, но запросы в Ruby заметно устарели, потому что на них забили в пользу CGIMap.

Год назад люди — да и я в их числе — были настроены скептично. У нас у всех есть отрицательный опыт, когда приходишь с горчщими глазами и пуленепробиваемой идеей сделать жизнь всех осмеров лучше, а тебя на подлёте сбивает кто-нибудь из «старичков». Начать что-то на стороне безопаснее, потому что никто не закроет пул-реквест. Как сказал Matija Nalis, для нас это сродни получению бесплатной коробки лотерейных билетов: да, шансы выиграть всё равно микроскопические, но коробка-то бесплатна, почему бы не попробовать? Обсуждение вообще получилось неожиданно оптимистичным: не считая пары «старичков», все поддерживают Камиля и ждут результата.

Спустя год и три месяца после анонса, скорость разработки не снижается. Камиль каждый месяц хвастается новыми возможностями движка, которые напоминают то об API 0.7, то о расширении better-osm-org Романа. Roadmap несколько раз переписан, дата публикации демо-сервера откладывалась с прошлого февраля на май, затем позже и позже, и вот теперь как будто осталось доделать ночную тему — и всё. Ух, предвкушение!

Деньги

Первого января фонд NLNet внезапно объявил полсотни получателей грантов NGI Zero, среди них — OpenStreetMap-NG. Никто не знает, на какие деньги Камиль жил весь прошлый год (пожертвования он распределял между остальными разработчиками), но теперь его точно ничто не остановит.

Это означает, что где-то через полгода-год в OSM-NG загрузят все 14 терабайт базы данных (большую часть которой засунут в единственную таблицу). И тогда мы узнаем, реальны ли все эти приросты скорости. Но учитывая запал Камиля, вполне вероятно, что в течение месяцев он всё оптимизирует, и мы встанем перед вопросом, менять ли Тома как главного вахтёра всея осма на Камиля. Зря ли Антон фигачил свои 700 пул-реквестов в Rails Port.

Как ни удивительно, у нас будет человек с мандатом на решение подобных дилемм. Но начать надо с того, что не только OSM-NG получил грант за последний месяц. Сам OSMF удостоился сначала 178 тысяч евро от Meta (2% от их ежегодного членства в Overture Maps), а на следующий день немецкий фонд Sovereign выделил нам вдвое больше, 384 тысячи евро на два года. Так что стоны отдельных участников в мастодоне «зачем давать деньги на тупиковый OSM-NG, когда у нас тут OSM недофинансирован» немного необоснованы.

Разумеется, ни на какие неожиданные радости эти деньги не пойдут. Всё как обычно: конференции и инфраструктура. Необычно то, что второй пункт раскрыли чуть подробнее: «обновление кода по современным стандартам, привлечение разработчиков документацией и тестами, исследования на темы типа вандализма и новых способов работы с данными». И это 1) обнадёживает, хотя и не слишком, вспоминая исследования про модель данных, 2) чудовищно запоздало, 3) один в один цели проекта OSM-NG.

Что в Совете поняли правильно, — сами по себе дела не делаются и нужен человек на зарплате, который будет помогать и направлять разработку. Поэтому на прошлой неделе фонд OSM опубликовал вакансию, первую с 2021 года. До 21 января мы ищем координатора разработки сайта OSM и сопутствующих проектов. Нужен кто-то с опытом управления проектами, кто, в идеале, работал с добровольными участниками, открытым кодом, а то и с сообществом OSM. В идеале. Может, вы знаете кого-нибудь подходящего. Увлекательные задачи и вызовы предоставим.

***

Потянув за ниточку не слишком заметного нововведения на osm.org, мы вытянули историю, которая показывает 2024 год в OpenStreetMap с интересной позиции: оказалось, это был год, когда недовольство руководством центрального сайта OSM вылилось в несколько независимых инициатив по его улучшению в обход обычных пул-реквестов. Надстройка Романа и сайт Камиля не только ломают представление об osm.org как о чём-то неудобном из глубин веков, но и подначивают задуматься: а не будь вахтёры так строги, могли бы мы радоваться новым удобствам сайта и API каждый месяц все эти годы? Стоит ли стабильность сбитых несменяемыми «дедами» разработчиков-осмеров?

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

3 мес   osm.org

OAuth 2

Как знают немногие осмеры, с 1 июня на сайте openstreetmap отключили аутентификацию по паролю и через OAuth 1.0a.

Первую версию протокола OAuth сайт поддерживал с августа 2009 года, через год добавили поддержку 1.0a (потому что в 1.0 была дыра). Вторую — с августа 2020, так что неудивительно, что десятки сайтов и приложений не спешили на неё перейти. Популярности OAuth 2 не добавляли сложность внедрения, проблемы с тестированием, меньший уровень безопасности и прочие проблемы из статьи Эрана Хэммера, главного автора спецификации.

Тем не менее, поддержка трёх способов аутентификации была тяжела для всего трёх человек, поддерживающих сайт, поэтому они составили список приложений и начали агитировать их разработчиков перейти на OAuth 2. Все тянули до последнего момента, но потихоньку переключались. Админы дождались публикации новых релизов Organic Maps и медленно вынули вилку из розетки.

Как я писал два года назад, OSM небыстр, но не статичен. Многие сайты работают годами, не поддерживаемые, просто потому что наш проект и наш API стабильнее любых альтернатив. Но этой стабильности тоже есть предел.

Level0 — один из редакторов, автор которого не успел обновить код. Сейчас он не работает: пользуйтесь расширением для браузера и ждите. У маленьких редакторов нет поддержки от OSMF, как у iD, или от армии джава-язычных немцев, как у JOSM. Код Level0 был написан десять лет назад на PHP, так что трогать его — себе дороже.

Разработчики open source часто вынуждены посвящать всё своё время работе и семье, что оставляет их собственным проектам считанные часы в неделю. Большие корпорации, чья инфраструктура опирается на работу таких людей, горячо их благодарят и просят писать ещё. Взамен они готовы поставить звёздочку на гитхабе. Как писал Брэндон Лиу, автор Protomaps, «если компания спрашивает, почему в открытом проекте не хватает важной функции, но не готова платить за её написание, то эта функция не так уж и важна». В мире open source разработчиков поддерживают другие open source-разработчики.

Например, компания OpenCage Эда Фрейфогла не только делает один из лучших API для получения метаданных на любую точку планеты (как Nominatim, только лучше). Она также проводит мини-конференции Geomob, составляет увлекательные треды в mastodon и поддерживает финансово проекты, связанные с геокодированием и OpenStreetMap.

Сегодня эти две истории объединились: OpenCage спонсировала перевод Level0 на OAuth 2 в течение этого месяца.

Это означает, что к 1 июля не только код редактора будет обновлён, но он также переедет на новый сервер и получит сертификат SSL для https. После чего единственным браузерным редактором, не требующим JavaScript, снова можно будет пользоваться.

Надеюсь, что для кого-нибудь эта новость стала откровением: «а что, так можно было?» Пожертвования — это хорошо, и молодцы те, кто оформляет регулярные перечисления фондам, газетам, авторам и разработчикам. Но ещё лучше — организационная и институциональная поддержка. В контексте OpenStreetMap помощи можно ждать только от фонда NLNet, а на OSMF надеяться нечего, как и на крупных пользователей наших геоданных, типа Meta, Apple, Microsoft и Grab. Но для заметных улучшений многого и не требуется: всегда есть какая-то мелочь, неудобство, до которого у автора просто не доходят руки. И это те случаи, когда средних размеров компания может сделать ощутимый для осмеров вклад. Стоит только открыть метафорическую дверь и осмотреться.

11 мес   osm.org

Не вина Niantic

Вчера внезапно написал в mastodon (куда я окончательно переехал из твитера) про ситуацию с Overture и покемонами.

Для контекста, неделю назад Niantic (авторы Pokémon GO) объявили о новых покемонах, которые появляются только на пляжах. Игроки тут же начали рисовать ложные пляжи на OpenStreetMap. Так же, как семь лет назад они рисовали парки. Разумеется, это нагружает лишней работой картографов и растит досаду от Niantic и раздражение от покемоноводов.

Саймон Пул обратил внимание, что за эти семь лет компания Niantic не только не ответила на запросы OSMF или вообще хоть как-то связалась с сообществом. Вместо этого она вступила в фонд Overture Maps! Пользуется картой от добровольцев, но платит корпорациям, как так получилось?

Сюда наслаивается непонимание действий Linux Foundation, который вместо поддержки OSM взял под крыло Overture Maps и этим разделил «вину». Почему корпорациям везёт, а нам — нет?

Я уже писал, почему Overture — это хорошо, и почему OSMF пока нет смысла поддерживать. В треде mastodon примерно то же самое, потому что, как нас учил преподаватель по физике, важные мысли нужно повторять трижды.

* * *

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

Но у нас уже есть фонд. OSM Foundation. Все ожидают, что фонд помогает проекту расти: поддерживает картографов, сообщество, инструменты редактирования и валидации. Те инструменты, которые сделали бы вандализм от покемоноводов легко обнаружимым и откатываемым.

Разумеется, OSMF не просил и не собирался становиться частью Linux Foundation. Зачем нам? Ну и фонды, кажется, редко говорят между собой, это не бизнес.

Есть и другая группа. Она подготавливает геоданные и продвигает их организациям. В невиданном до сих пор масштабе, с известными корпорациями. Вместо коммерческой структуры они хотели оформить открытый фонд — и Linux Foundation им помог.

Да и почему бы и нет? Overture Maps — это открытые данные. Компании-участники уже хорошо проявили себя на поле open source. Они вкладывают серьёзные деньги в продвижение открытых геоданных и конкурируют с Google, а не с нами. Со всех сторон отлично.

Чего Linux Foundation не знают — это что на сегодня нельзя сказать, что OSMF поддерживает картографов. OSMF занят серверами, потребителями данных и конференциями. Почитайте темы ежемесячных встреч Совета.

Раньше осмеров поддерживали организации. HOT, Cloudmade, Mapbox, Grab. Но на сегодня они все отошли в сторону (или развалились). Некому больше нас поддерживать, кроме нас самих.

А когда ресурсов мало, люди начинают думать в терминах не совместной работы и развития, а соперничества и зависти. Overture Maps отъедает наши ресурсы!

Можете подумать: это же нормально, что OSM работает на энтузиазме. Но если обернуться, такая ситуация исключительно редка. Может, лет пять за всю историю проекта.

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

Так что такие четыре наблюдения:

  1. Высший уровень корпоративного членства в OSMF — 30 тысяч евро. Это смешная сумма, которая никому не поможет, поэтому ничего странного в том, что Niantic и другие не вписываются.
  2. Overture Maps эффективны, стоят своих денег, и они заставят мир перейти на OpenStreetMap. Нам повезло, что они появились.
  3. Поддерживать осмеров — это как поддерживать OpenSSL. Всем пофиг, кто и как делает карту, пока карта не ломается. Overture защищает пользователей от поломок.
  4. На сегодня вообще нет способов поддержать картографов. И это не проблема Niantic или Linux Foundation.

На прошлых выходных члены Совета OSMF собирались на очную встречу, чтобы обсудить стратегию развития OpenStreetMap. Я насыпал им немного идей, так что есть шанс, что через пару лет наш фонд повернётся лицом и к корпорациям, и к нам.

1 год   ddos   osmf   overture maps   покемоны

Не база данных

Что такое OpenStreetMap? Новички думают, что карта. Опытные картографы поправляют их, что на самом деле визуальное представление не важно, OSM — это база данных. Ветераны ставят под вопрос и это.

Недавно я объяснял людям-академикам некоторые нюансы OpenStreetMap, и речь, конечно, зашла про базу данных и многочисленные социальные проблемы, наросшие вокруг неё. Да, в сцепке «карта + сообщество» второе важнее: форки без сообщества умерли, а зияющие дыры после перелицензирования быстро перекартировали. В этом смысле OSM — лишь контейнер для наших усилий. Но когда я привычно назвал OSM базой данных, я почувствовал неточность.

Базы данных хорошо изучены, у них есть общие свойства. Все программисты знают их и умеют с ними работать. Есть нормальные формы BNF, есть ключи, типы колонок. Профессиональные форматы ГИС, типа Shapefile или GeoPackage, — те же базы данных, в которых одна колонка с геометрией, а остальное — как обычно. Можно делать update, можно делать join. Например, одно из свойств — каждая строка таблицы (то есть, каждый объект) независима от других. Проблемы с OSM начинаются с этого, но не заканчиваются.

Разработчики приходят в OpenStreetMap, читают, что это база данных, и у них в голове включается режим работы с базами данных. Технарям свойственно туннельное зрение: отбросить неважное и принудительно улучшать мир. Нормализуем теги! Насильно (массовыми правками) или мягкой силой (валидаторы и редакторы). Объединим базы в одну для удобства! Насильно (импорты, ведь они так просты и очевидны) или мягко (ключи-ссылки в ту или иную сторону). Автоматизируем работу с помощью ML! Напишем больше правил, добавим валидацию в API, разделим «строчки таблицы», введя тип area.

Ничего из этого не делает нашей карте лучше. Проблема баз данных — с ними тупо скучно работать, потому что там главенство алгоритмов, а не людей. Технологии обещали улучшить жизнь, будучи помощниками и инструментами, но вместо этого технари сделали людей помощниками и инструментами в руках технологий. Везде: от творчества (люди на копеечной зарплате генерируют базу для обучения AI) до работы (миллионные армии людей-инструментов в руках алгоритмов Uber, Amazon и их местных аналогов). Шаг влево — недовольный «бип» из системного блока и слово «нельзя». Данные не твои, их нарисовала и бережёт машина. Такой OpenStreetMap сделают технари, если им не мешать.

Источник этого — слова. Формулировки важны. Если мы называем OpenStreetMap картой, мы рисуем карту. Если мы называем его базой данных, мы наполняем и курируем таблицы базы данных. И, честно говоря, ни один из этих вариантов мне не нравится. Отсюда и то чувство в разговоре с академиками. Давайте переформулируем.

OpenStreetMap — это отражение реального мира. В окно видны улицы, и на OSM нарисованы улицы. Магазины делятся на продуктовые, мебельные и сувенирные, и у нас тоже такое разделение. Но если ты выйдешь на улицу, то едва ли сможешь согласиться с другими насчёт того, что входит в состав улицы и что отдельно от неё. Классифицировать заведения однозначно иногда невозможно. Граница между лесом и кустарником призрачна.

В реальном мире ничего не определено и не нормализовано, поэтому карты не отражают его на близких масштабах. Но OpenStreetMap ближе всего к тому, что можно назвать отражением. Именно потому, что он не карта и не база данных, в OSM нет ограничений этих двух сущностей. Но есть сообщество, которое рисует и в этой работе постоянно переосмысливает структуру реальности и способы её отражения.

Если принять эту формулировку, то становится понятен источник многих болей. Почему импорты никогда не проходят гладко? Из-за разницы между базой данных и реальным миром: в базе объекты сами по себе, а в реальности всё взаимосвязано. Почему нормализации тегов каждый раз противится сообщество? Теги не сами по себе, и человек, выставивший их, явно хотел что-то сообщить об объекте. Нужно смотреть в комплексе.

Одной из главных «проблем» OpenStreetMap многие технари считают топологичность: то, что геометрии не раздельны, их нужно собирать их кусков. Отсюда их святой грааль в виде нормальных area, с чем Йохен носится уже больше декады. Но выглянем на улицу и поймём: ничего не само по себе. Геометрии взаимосвязаны. Теги взаимосвязаны. Слоёв нет. Правильным было бы принять это «несовершенство» за имманентное свойство и упрощать работу с ним, не уничтожая.

Поэтому any tags you like. Truth on the ground. Мы пытаемся классифицировать мир, но это невозможно. Любая техническая помощь помогает не туда. OpenStreetMap сложен для использования именно потому, что он отражение реального мира, а не потому, что нет типа area и валидаций в API. Отражение взгляда миллионов его редакторов на этот мир, которое невозможно нормализовать. Все они правы. Сопротивление бесполезно.

Ранее Ctrl + ↓

Мнения, высказанные на этом сайте, отражают точку зрения лично автора сайта и ничью больше: ни его бывших или настоящих работодателей, ни семьи и знакомых.