Избранное

Ctrl + ↑ Позднее

Карты своими руками

Конференция State of the Map EU 2014 закончилась, если вы пропустили отчёты в штосме, почитайте: четверг, утро пятницы, вечер пятницы, утро субботы, вечер субботы, воскресенье.

Посмотреть все 48 видеороликов на канале sotmeu нереально, но некоторые из них очень хороши. Вот те, что мне понравились, и, по-моему, обязательны к просмотру:

  • Ilya Zverev: I’ve Bought a Car for Mapping, Now What? (12 минут доклад + 8 вопросы) — как я могу не включить свой доклад, раз я посчитал тему достаточно важной для сотма, а организаторы поставили его первым в программе? Тут я презентую программу NanoLog и плагин для JOSM, о которых говорил ещё на МММ 2012, но только неделю назад добил до возможности мапить собранные данные. Они предназначены для картирования на большой скорости без отвлекания: из автомобиля, велосипеда, поезда.
  • Roland Olbricht: Sparse Editing (17+5) — как редактировать сети рек, железных или обычных дорог, как править общественный транспорт в слишком хорошо прорисованном городе, как не сломать отношения, качая данные не полностью. Конечно, используется Overpass API через плагин mirrored_download в JOSM.
  • Andy Allan: Lightning Map Tiles (23+6) — Энди, автор стилей OpenCycleMap, Transport, Outdoors и т. п., попробовал перейти с растровых тайлов и TileMill 1 на векторные и TileMill 2. Получилось, но процесс оказался очень уж муторным, большей частью из-за джаваскрипта, на котором написаны новые инструменты. Тем не менее, векторные тайлы — наше будущее (пусть пока у всех они в разных форматах), и этот доклад поможет их понять.
  • Oliver Tonnhofer: Imposm (21+5) — кто мучался с osm2pgsql, будут поражены возможностями альтернативы, Imposm. Остальные узнают, что именно делает osm2pgsql, почему это неудобно и медленно, и почему заменить его пока не получается.
  • Michael Collinson, Alex Barth: The State of the License (10+11+25) — MapBox в лице Алекса Барта хочет поменять нашу лицензию, убрав условие Share-Alike. Для противовеса организаторы выставили Майкла Коллинсона с докладом о работе LWG. Вот вики-страница, которую он упоминает. Аргументы Алекса очень сильны, поэтому 25 минут на обсуждение явно не хватило, и за ланчем многие продолжили дискуссию. Например, я рассказал Майклу про проблему с отсутствием в лицензии явного требования писать копирайт поверх карты, которое мы предъявили Спутнику и 2ГИС.
  • Jerry Clough: Woodland Cartograhy (15:30-21:30, 6 минут) — короткий доклад про отображение лесов на картах сквозь века, как мы пришли к банальной зелёной заливке, и как исправить ситуацию. Также Джерри перечисляет свойства массивов деревьев, которые многие могут снять самостоятельно с минимумом подготовки. На вопрос о новой схеме leaf_type / leaf_cycle, которая заменяет wood=*, он называет её значительным улучшением, пусть и с сомнительным названием тега.
  • Kaido Irval: Google Glass Maps SDK (26:30-33:30, 7 минут) — короткий пиар библиотеки Nutiteq для карт на Google Glass. Всё трёхмерное, с отображением и поиском POI. В конце он показал трансляцию с очков, я проверял — внутри выглядит так же. Интересно, что все данные заливаются на очки, и рендеринг идёт с них же. Едва ли это можно назвать технологией будущего, но очень круто, что OpenStreetMap стал первой картой на устройстве Google.
  • Tim Waters: OpenHistoricalMap, Serge Wroclawski: Changeset Discussions и Richard Fairhurst: OSM Routing for Cyclists (5:00-23:00, 18 минут) — три коротких доклада, каждый из которых даёт новую перспективу на нашу базу и наши данные. Тим показывает проект с картами прошлых веков, которые странно выглядят в современном оформлении, отрендеренные мапником. Ричард как всегда блистательно, со смешными слайдами, рассказывает о трудностях построения веломаршрутов по нашим и чужим данным. Кажется, на любой конференции, где выступает Ричард, кроме его доклада можно ничего и не смотреть, насколько он занимательно рассказывает.
  • Закрытие конференции (12 минут) — ничего нового и технологичного, конечно, вы не услышите, но такие метадоклады — единственный шанс почувствовать атмосферу конференции. Кроме того, тут демонстрируют десятку самых популярных плакатов. Хэнк Хофф в конце зажигает и заманивает на аргентинский SotM в ноябре.

Всего три часа, примерно как один длинный фильм. Если захочется добавки, посмотрите ещё эти доклады:

  • Thilo Stapff; Johannes Bouchain: OpenGeofiction (28+6) — проекты на стеке OSM с совершенно другими даными внутри всегда интересны. Тут интерес двойной, потому что несколько десятков активистов (и сотни праздношатающихся) создают совершенно новый мир, не основываясь на каких-то реальных картах или иных произведениях. Кажется, с таким подходом сайт должен превратиться в песочницу и месиво, но результат оказался стройнее и красивее.
  • Yubin Kuang: Mapillary — the missing view of the planet (18+8) — не наши собственные, но полностью открытые для OpenStreetMap фотографии улиц всего мира (конечно, треть базы наполнена немцами, как всегда). Доклад очень прост, но компенсирует отсутствие статьи про проект в штосме: была занимательная история с лицензией, когда они сначала выбрали CC-BY-NC, но мы их убедили, что последний вагон нужно отцепить.
  • Jerry Clough: Beyond the 3 «R»s (26+4) — уже упомянутый мной доклад про нюансы аналитики по данным OpenStreetMap. Джерри каждый раз удивляет неожиданными предметами анализа и глубоким знанием инструментов, предметной области и OSM, что редко встретишь в современных аналитических статьях.
  • Jochen Topf: Osmium to the Rescue (38+20) — запись мастер-класса по библиотеке Osmium, за которой местами сложно следить из-за необходимости понимать код C++11. Тем не менее, Йохен хорошо объясняет сложности обработки данных, показывает свой конечный формат представления OSM для фильтрации через grep и cut, и даёт несколько примеров использования [весьма ограниченного] консольного интерфейса к библиотеке. Для osmium есть маппинг в javascript, но хотелось бы такой же для python.

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

2014   sotm

«Veloroad»

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

Про разные технические мелочи я уже рассказал на форуме, а здесь — слайды: чем стиль отличается от остальных. На сайте есть кнопка, открывающее второе окно для сравнения.

На восьмом масштабе стандартный слой показывает только place=city, слои кирово-чепецка и яндекса — place=town, а на veloroad появляются place=village (hamlet — на десятом). Большие расстояния между метками и правильная сортировка не дают карте утонуть в надписях. Это и другие решения вытекают из того, что стиль предназначен для печати, и на бумаге нельзя изменить масштаб, чтобы присмотреться к какой-то части карты. Отсюда же и мелкие буквы: при печати в 300 dpi восьмой размер читается проще, чем на экране в 90 dpi.

Для отображения зарубежных названий используется name:ru. Тут могут быть несколько мнений: для навигации вернее, конечно, использовать названия в том виде, что будут на табличках, но некоторые участники велосипедного форума жаловались, что в Грузии получается вообще нечитаемо. Ну и устно проще прочитать «встречаемся в Козе-Ууэмыйзе», чем неправильно транслитерировать, и оттого разминуться.

Подписи дорог рисуются сбоку, поэтому когда дорогу закрывает линия трека, подписи остаются. Какой смысл рисовать карты, где не подписаны именно те улицы, по которым проходит маршрут, мне непонятно. Также, благодаря идее Котяры, воплощённой в его komap, на veloroad улицы подписаны с 12 масштаба, и эти подписи видны и читаются. Даже у Яндекса нормальные названия улиц появляются только на z14, из альтернатив подписи сопоставимы только у стилей на MapCSS: то есть, на чепецк.net. Статусные части, разумеется, сокращены.

Светло-зелёный, чтобы не засорять карту, лес появляется только на 11 масштабе (на мелких в нём нет смысла для ориентирования, да и красоты немного), а грунтовки и highway=unclassified — только с 12: в отличие от чепецкого, стиль veloroad предназначен для маршрутов длинных путешествий, преимущественно по дорогам от tertiary (рисуются с z9) и выше, и для городских покатушек. На osm.org все дороги внезапно появляются на 10 масштабе, но пользоваться этой мешаниной невозможно.

Железные дороги рисуются только основные (без service=*). К сожалению, многие станции всё равно напоминают вермишель, но, по крайней мере, не теряются важные линии, как на MapSurfer, где на мелких масштабах рисуются только пути с usage=main. Особенно я горжусь станциями, которые поворачиваются вдоль путей: ни на одном другом веб-стиле они не выглядят так хорошо.

При этом станции метро не отображаются вообще. Вместо них рисуются railway=subway_entrance, причём с 12 масштаба. Это единственный, блин, стиль OSM, который не вызывает у новичков вопроса «почему станции метро находятся совсем не там, где должны». Все остальные стилеписатели сомневаются и тянут сопли, извините. Отображать на гражданской карте расположение подземных станций метро — глупость и леность.

Другой предмет споров с новичками — полигоны place=*. Из-за того, что их нет на большинстве стилей, некоторые вешают на них лишний тег landuse=residential. На масштабах 9-11 стиля veloroad территории населённых пунктов определяются по полигону place, на более крупных — складываются из основных landuse.

Горизонтали отображены на масштабах, где в них есть смысл. Пока что только западнее 60° восточной долготы (т. е. Урала). В отличие от большинства остальных карт, рельеф сглажен (использован GMTED2010), поэтому на равнинных территориях горизонтали не превращаются в шедевр импрессионизма, а корректно идентифицируют стометровые холмы. Бергштрихи показывают направление уклона: без них изолинии не имеют смысла.

Линия маршрута — лишь один из слоёв в стиле (мапник умеет GPX), поэтому она не закрывает надписи и маркеры. Делать линейный масштаб в векторном редакторе сложно, поэтому он генерируется прямо мапником: параметры передаются скрипту подготовки картинок, который вписывает их в запрос внутри XML. Разумеется, при постобработке блок масштаба двигается в нужное место, а названия населённых пунктов — прочь от дорог и важных точек.

К сожалению, за разумные деньги можно купить лишь небольшой сервер, поэтому рендерится (с ежеминутным обновлением) лишь северная часть страны: полностью Северо-Западный, Центральный и Дальневосточный федеральные округа, части Уральского и Сибирского, а также полностью страны Прибалтики и восточный кусок Финляндии. Многие северные территории нашей страны лишь на стиле veloroad можно окинуть взглядом: даже Яндекс там рисует только реки, как будто они важнее прочего. Безответственное отношение к картостилям — одна из причин, почему OpenStreetMap не воспринимается всерьёз, и я надеюсь, стиль veloroad поможет показать качество и полноту проекта.

Спутник и осм

Картографический раздел открытого сегодня поисковика «Спутник», как замечают примерно десять осмеров в час, отписываясь на форуме, работает на данных OpenStreetMap. Если смотреть сквозь белую пелену, затянувшую дороги и посёлки, картостиль красив, напоминает одновременно «Осмоснимки» и «MapQuest» с примесью «openstreetmap.de». Данные актуальные, но не ежеминутные: Felis Pimeja определил дату 15 мая. Роутинг (щёлкните правой кнопкой мыши на карте), по утверждению kastellano, использует движок OSRM: теперь меньше поводов заходить на osrm.at с его вырвиглазными картостилями. Предположительно, адресный поиск тоже по данным OSM, но его поведение отлично как от Nominatim, так и от openstreetmap.ru. Информация о POI берётся из базы 2ГИС.

На восьмом масштабе и ниже используются не наши данные, а Collins Bartholomew, но на детальной карте не «чистый» OpenStreetMap: пока непонятно, смешаны данные с какими-то третьими, или это редактура портала (чем можно объяснить недельную задержку), но на «Спутнике» Крым принадлежит России, и прочие спорные территории тоже отражены в соответствии с российской позицией. Схемы метро, наложенные на карту, проходят не так, как нарисованные участниками OSM линии. К сожалению, авторы не догадались расставлять входы по точкам railway=subway_entrance, от чего нас ждёт очередной вал незадачливых новичков с дурацкими правками.

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

Позже: на форум пришли разработчики «Спутника», прояснили некоторые моменты и опубликовали почтовый адрес команды.

Счастья привалило

Полтора года назад MapBox договорились с DigitalGlobe о поставках снимков всего земного шара до 17-го масштаба. Тогда мы ещё не могли тронуть их слой, лишь помечтали о светлом будущем. Год назад MapBox обратил внимание на другие источники: Skybox и Landsat 8. Его база детальных снимков росла, и мы напомнили о разрешении — нам было позволено обрисовывать только 15-метровый Landsat. Ответа не было. А в августе Том Макрайт вовсе огорчил: мол, нельзя, ждите. Нет — так нет, вздохнули и забыли.

Сегодня Кевин Баллок, старший менеджер в DigitalGlobe, неожиданно заявил: «мы сотрудничаем с MapBox в предоставлении актуальных и релевантных снимков проекту OpenStreetMap, и с этого дня всё покрытие DigitalGlobe, доступное через слой MapBox Satellite, вы можете обводить в популярных редакторах OSM, таких как JOSM и iD». В полночь этот слой чисто формально обновили в библиотеке подложек JOSM: на Европу было обещано покрытие 19-го масштаба, и мы теперь готовы к этому.

Другими словами, с сегодняшнего дня всё, что есть у MapBox, доступно нам для обклацывания через тот же старый слой MapBox Satellite.

Первое, что замечаешь, — огромная площадь покрытия. Почти все места, что ждали от бинга, здесь отсняты. Они явно не врали, когда обещали весь мир на 17-м масштабе: непокрытый город найти непросто. Пикалёво, Остров, Красногородск — всё есть, и без облаков, бича Bing. Кроме обычных цветных снимков, часто натыкаешься на чёрно-белые, но не простые: на картинке вверху и слева, и справа летние снимки, но на правом деревья почти прозрачны и открывают дорожки в парках, а от облаков остаются лишь тени. AMDmi3 предположил, что это канал «near infrared», и для мапперов он — находка.

Недостатки есть: прежде всего, хотя детализация у Bing та же, у него есть оверзум, поэтому на 18-м масштабе обклацывать комфортно. Слой MapBox же при увеличении превращается в пикселизованное месиво (если не будете менять 17 на 19 в настройках TMS, иначе всё закроют крестики на чёрном фоне). Кое-где снимки наложились с ошибками: например, в Волхове и к западу от Лосева на 13-м масштабе видны снимки высокого разрешения, а на 14-м и ниже они пропадают под заглушкой Landsat. Алекс Барт из MapBox сказал, что они уже работают над системой заявок, куда можно будет пожаловаться на подобные недочёты (апдейт: вот она). Над аналогом bingcoverage они тоже думают.

Без сомнения, это крупнейший новый источник снимков с ноября 2010 года, когда Стив открыл для нас Bing. Многое пока неясно, кроме того, что обводить для OpenStreetMap можно. Кевин Баллок обещает рассказать про эти снимки подробнее на конференции State of the Map US, уже послезавтра.

Область под присмотром

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

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

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

Мапперам нельзя замыкаться, иначе получается школьничество. Мы с самого начала искали встречи с участниками reg60. Сначала предложили услуги в феврале, затем в октябре denisPskov порадовал перспективой приглашения — увы, сорвавшегося. И спустя год после первого контакта, примерно месяц назад, мне позвонил Антон и сказал готовиться. 19 марта я, наконец, посетил псковскую областную администрацию.

Всего было около пятнадцати человек, половина из них — на экране телевизора. Область большая, ради пары часов тащить всех в центр не стали. Неожиданно, большинство участников сравнительно молоды, 30±5 лет на вид. Главный начальник управления информационных технологий («над ним — только губернатор», — благоговейно шепнули мне), затеявший всё это картирование, на удивление компетентен, и на большую часть вопросов мог бы ответить сам. Я начал с короткой презентации о двух главных принципах OpenStreetMap (truth on the ground и лицензионная чистота), напомнил о важности сообщества, и мы перешли к вопросам.

Общих вопросов, на которые весело отвечать, было немного: так, человек из Великих Лук допросил с пристрастием, не работаем ли мы все на какого-то неизвестного дядю, где находятся серверы, и нельзя ли всё перенести на русскую землю, во избежание неожиданностей. В основном, спрашивали про нюансы JOSM, в котором работают, и тегирования. Административные границы и природа всё ещё представляют проблему: местами бардак, где-то непонятно, как рисовать. Люди порадовались валидаторам границ, но сайт Scondo, говорят, давно не обновлялся. Показал building_tools и базу смещений. Да, последнюю можно использовать для слоёв из интранета, и во время демонстрации я случайно обнаружил несколько смещений их подложки, внесённых одним из участников reg60.

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

Картографы обводят аэрофотоснимки разрешением около полуметра, покрывающие большую часть районов. И руководитель не против поделиться ими с сообществом. Вот только проблема: массив снимков весит от полутора терабайт, и сервер с WMS, по характеристикам подобный тем, что в Рамблере, уже от десятка человек начинает задыхаться. Вероятно, это получится решить через TMS или понижением качества — в управлении обещали подумать. Также они готовы выдать ГЛОНАСС-треки от всех машин скорой помощи в области. Польза очевидна: привязка всех населённых пунктов станет значительно точнее. Теперь главное — напоминать им периодически.

Где-то с 2012 года у меня теплится мысль провести картовстречу для псковичей. Не в Пскове — он слишком хорошо отрисован, — а где-нибудь поблизости. То есть, в Острове. Участник reg60_ostrov не спешит его обклацывать, а город третий по величине в области, так что на местности там будет, что посмотреть. Может, этим летом...

Ctrl + ↓ Ранее