Позднее Ctrl + ↑

Народные картографы берут лупу

У карты OpenStreetMap нет масштаба. Другими словами, одна и та же база геоданных используется для обзорки всей планеты и для схемы прохода между сараем и туалетом. Когда мы рисуем залив или люк на дороге, мы не задумываемся, на каких масштабах и как их будут отображать. Дело редакторов — внести максимум данных, до уровня, когда не приходит в голову мысль остановиться. Дай осмерам волю — они лес замапят как набор деревьев, с грибами и ягодами между ними.

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

Карта Яндекса не такая. В неё нельзя всматриваться бесконечно: рано или поздно пустоты затмевают детали. У этой карты есть расчётный масштаб: примерно 250 метров в сантиметре (если вы помните детализацию карт Генштаба). Для всех целей Яндексу этого достаточно. Именно поэтому народные картографы должны были страдать. Правилами и модераторами им били по рукам, когда они рисовали слишком мелкие детали.

© Юрий Дегтярев, mosday.ru

Вся история изменений правил — это история понижения масштаба. 2016: у домов появились подъезды. 2017: разрешили рисовать гаражи-ракушки и дороги в два ребра. 2018: можно рисовать трёхмерные модели зданий, указать плохое состояние дороги и доступность проезда для велосипедистов. 2019: разрешили соединять графы пешеходных дорог, рисовать парковочные карманы и схемы помещений. 2020: площадки отдыха вдоль дорог и сезонные заведения и дороги.

Нынешний год пускает всю диктатуру масштаба яндекс-карт под откос. Народные картографы одновременно ликуют и не понимают, где им остановиться. Сначала в марте на подъездах разрешили расставлять номера квартир. Казалось бы, осмеры делали это первыми. Но, во-первых, у редактора яндекса форма ввода удобнее, и сразу предлагает заполнить квартиры по этажам. А во-вторых, всего за две недели их редакторы ввели в России столько же подъездов с квартирами, сколько в OSM — за всё время.

Теперь пришли сразу две поправки, разрешающие рисовать скамейки и «декоративные» заборы. Это невиданная степень свободы для народных картографов. В полутора сотнях комментариев они пробуют стены детализации на прочность: «отбойники можно?», «а заборы между участками в частном секторе?», «скамейки со спинкой или без?», «а скамейки в торговых центрах?», «урны скоро будем?», «а каждая скамейка считается за отдельную правку?» Сотрудники яндекса едва успевают отвечать отказами — но волна новых микромапперов рискует смыть их критерии полезности и порядок на картах.

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

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

Пытайтесь покинуть Великобританию

Рабочая группа администраторов втихую работает:

  • Возобновили публикацию логов просмотра тайлов. Это текстовые файлы, где написано, какие тайлы сколько раз за день смотрели. Обновления сломались в декабре, когда закрыли проект Tile CDN, переведя кэш тайлов на провайдера Fastly. Да, того самого, что обвалился месяц назад. Под настойчивыми напоминаниями Дорофея, чей проект Disaster Ninja обрабатывает эти логи, Пол Норман переписал скрипт обработки, и первый новый файл сегодня появился на сайте.
  • Наконец-то сайт поддерживает авторизацию через OAuth2! Это тот же протокол, что используют Github, Strava, Twitter, Google и Вконтакте. Очень долго в приложения приходилось впиливать библиотеки для устаревшего OAuth 1.0a только для входа через OSM. Теперь всё проще, спасибо Тому Хьюзу и Mmd, разработчику CgiMap.
  • К двум дата-центрам в Лондоне и одному в Амстердаме потихоньку собирают четвёртый — в Дублине. Который всё ещё в Евросоюзе, в отличие от. Новому дата-центру закупают всё, что есть в других: серверы для базы API, планеты, рендерера, номинатима и даже новый сервер для разработки. Прошлому уже десять лет, на нём становится тесновато.

Совет OSMF тоже работает, и в этом месяце умудрился попасть на первую страницу The Guardian. Поводом стало письмо Гильёма Ришара в рассылку osmf-talk, в котором он поделился желанием Совета перенести регистрацию компании OpenStreetMap Foundation из Кембриджа в Великобритании куда-нибудь в Евросоюз.

Среди причин — новые (и старые) сложности с банковскими операциями и Paypal, больше авторитета в Евросоюзе, простота найма людей из ЕС (как Доротея), и шанс зарегистрироваться некоммерческой организацией и экономить на налогах. Кроме того, с 1 июля право на базы данных (как копирайт, но на базы) разделилось между ЕС и Великобританией, и они не признают права друг друга. Лицензия ODbL работает лучше, когда есть основа в виде прав на БД, и лучше иметь их на крупнейшем рынке.

Участники обсуждения накидали предложений: Эстонию, потому что э-государство, Данию, потому что там неплохо работала Мозилла, Германию, потому что там KDE и TDF (делают LibreOffice), Женеву, с отдельно стоящим зданием или без, и Ирландию, где прячутся от налогов Microsoft, Google и Amazon. Не все страны подходят под необычные требования OSMF, но они обсуждаемы. Тема на многие месяцы — вступайте в OSMF и присоединяйтесь к заполнению таблички по странам.

Напомню, что с прошлого августа можно стать членом Фонда OpenStreetMap совершенно бесплатно. Для этого нужно просто чаще править карту: 42 дней в год достаточно. Уточните своё количество на How Did You Contribute и заполните форму на сайте вступления в OSMF. Нам нужно больше русских участников: у нашей страны худшее соотношение количества картографов и количества членов OSMF.

4 мес   odbl   osm.org   osmf   закон

Онлайн 2021

Всего через две с небольшим недели начнётся трёхдневная международная конференция для осмеров и про OpenStreetMap, State of the Map 2021. Похоже, это последний раз, когда её проведут онлайн: не нужно куда-то ехать, не нужно говорить с незнакомыми людьми на чужом языке, не нужно даже платить за билет. Три дня выступлений в два потока, шанс увидеть в кадре людей, которым виклиосм уделяет две строчки в списке.

Конференция пройдёт с 9 по 11 июля (пт-вс) на платформе Venueless. Зарегистрируйтесь бесплатно для участия в обсуждениях и чатиках. Прямая трансляция главного зала будет доступна без регистрации, но во втором зале тоже будет интересно: вопросы к Совету, оплачиваемое картографирование, сексизм в OSM, — поэтому лучше вписаться. Программа выступлений уже опубликована, они продлятся с 13:00 до часу ночи по Москве с двумя часовыми перерывами.

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

Участвовать в конференции ещё не поздно. Пятиминутный доклад можно заявить аж до 2 июля. Придумайте тему, добавьте её в вики-таблицу и запишите видеоролик, который посмотрят сотни осмеров со всего мира. Если говорить неохота, нарисуйте плакат про что угодно, связанное с OpenStreetMap. Красивую карту, статью с картинками, скриншоты сайтов или приложений. Размер A0, формат PDF: печатать никто не будет, но картинки вывесят на сайте и покажут в трансляции.

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

Квинси ушёл

В сентябре Квинси Моргану за разработку редактора iD начал платить OSMF. Но что-то пошло не так: в декабре его продуктивность резко упала, а с конца февраля, уже два месяца как, он ни написал ни строчки кода, только принимал иногда чужие пул-реквесты. Последняя версия редактора вышла 18 марта, с тех пор — никакого движения. Так что сегодняшнее объявление, что Квинси больше не работает над iD, логично, хотя и грустновато.

Совет OSMF теперь ищет человека на замену, но оптимизма маловато: судя по графикам вклада в разработку, для редактора не удалось выстроить сообщества, на второй и третьей позициях — люди с 20 коммитами за год, да и то лишь в пресеты и переводы. Немал шанс, что мы наблюдаем закат iD. Что его заменит? RapID? Не могу обосновать, но чувствую, что фейсбук уже на низком старте.

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

Районный бот

Я живу в классическом районе новостроек: широкие проспекты или лес по краям, десятки высоток внутри, и всё в пешей доступности. Застройщик не знал меры с торговыми площадями: у нас три ТЦ и офисные помещения в подвалах почти каждого дома. Короче, столько магазинов и заведений вокруг, что запомнить невозможно, поэтому хочется нарисовать карту.

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

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

Поле ввода и ряд кнопок под ним — это всё, что есть. Нечего таскать, некуда кликать. Бот простой и умеет только отвечать на вопросы. Но знает многое:

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

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

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

Каждый вечер я возвращался домой и дописывал бота, чтобы переложить с себя на него все сложности. Вводить «https://» муторно — пусть бот сам превращает «Ttn. By» в «https://ttn.by». Не ждём точек с запятой и дефисов, позволяем пробелы и запятые. Вместо ввода номера дома предлагаем выбор из ближайших адресов. Ну и так далее: не нужно заставлять человека делать работу, с которой справится машина.

Так я собирал по 60-100 заведений в день, около 15 в час. Это включало в себя не только списывание данных, но и иногда разговоры с сотрудниками, которым я раздавал визитки бота. На районе около полутысячи заведений — знай я это заранее, дважды бы подумал, запуская проект. Но теперь он почти завершён, и я готовлю доклад на FOSDEM и приглашения для СМИ.

Уверен, эта новость вызовет три вопроса:

  1. Кто будет обновлять данные, когда я съеду с Маяка Минска?

Не знаю. То есть, конечно, любой человек может нажать кнопку «Поправить» под любым найденным в боте заведением, равно как и добавить новое. Но по опыту понятно, что никто этим заниматься не будет: людям, даже владельцам, проще написать админу в личку или забить. Нужны такие же энтузиасты, как я. И нужен интерфейс, который позволит на повторный обход полутысячи заведений угрохать не неделю, а один-два дня. Его зачатки уже есть (и способ описан в документации), но можно сделать удобнее, особенно для торговых центров. Я пока думаю, как.

  1. Где тут OpenStreetMap?

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

  1. Как мне поднять такого же бота для своего района?

Самый главный вопрос! Бот опубликован на гитхабе, рядом с ним лежит огромная документация в пяти частях на русском языке. В ней я описал весь процесс, от обхода подъездов и установки бота до сбора заведений и администрирования. Если не считать русского языка, сообщения на котором разбросаны по коду, бот не привязан ни к каким атрибутам моего района. Хотите потратить неделю на обход каждого здания и потом поднять полезный сервис для всех соседей — буду рад помочь!

Приложение пилят — опенсорсные щепки летят. Пока готовил данные и писал бота, разочаровался в сложности базовых операций в вебе. Например, получить числа координат для прямоугольника можно на нескольких сайтах (например), и довольно удобно. А вот скопировать координаты одной точки — непросто. Специальные сайты писались семь-восемь лет назад и все сломались. А использовать для этого osm.org, где нужно открывать панель, ставить галочку, нажимать Ctrl+C... Линукс-версия телеграма не позволяет прикреплять координаты, поэтому пришлось писать свой сайт на замену. Очень простой: двигаешь карту, нажимаешь кнопку, вставляешь куда нужно.

Ещё я горжусь редактором точек в GeoJSON, которым пользуюсь для причёсывания базы заведений бота. Классические редакторы типа geojson.io, uMap, QGIS не катят: чтобы отредактировать точку, нужно ползать по таблицам, двигать мышкой, нажимать «сохранить». Здесь же всё супер-просто: двойной клик для создания точки, все свойства — простым текстом типа «name Название», по примеру Level0. Поэтому копипаст пачки атрибутов вообще не проблема. Есть фильтр а-ля поиск в JOSM, всё сохраняется автоматически и можно восстановить, если закроешь вкладку. Никаких меню и не больше шести кнопок на экране.

Эти новогодние каникулы прошли под темой хорошего пользовательского интерфейса. Видишь неудобство — не мирись, исправь. Именно так развиваются открытые экосистемы: людям чего-то не хватает, и внезапно у них щёлкает понимание, как должно быть, и образовывается время это сделать. Сообщество открытого кода последние годы пытается решить вопрос, что делать, когда понимание и время возникают у разных людей, и откуда взять деньги, чтобы их соединить. Но пока жителям Маяка Минска и тем, кто работает с точками в GeoJSON, немного повезло.

Ранее Ctrl + ↓

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