«Veloroad»

28 мая 2014, 16:12

Две недели назад у нас появился новый картостиль. Как вы знаете, использовать наши тайлы для чего-то, кроме рассматривания на экране, неприятно. Велосипедные сообщества Петербурга медленно переходят на 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 поможет показать качество и полноту проекта.

Другой CSS       Ctrl       Работа над ошибками

22 комментария

AMDmi3 #

Можно добавить на osm.ru?

Илья Зверев

Можно добавлять куда угодно, ограничения на трафик у хостера очень либеральные. В строке копирайтов нужно указать «Tiles © Ilya Zverev», или то же на русском.

Runge #

Отличная работа!!! Нашелся еще один человек кому надоел стандартно унылый стиль на главной.
Замечание.
На z12 названия улиц трудно читаемы. Причина тому слишком маленький размер шрифта и отстуствие расстояния между буквами.

Илья Зверев

Спасибо :) Если увеличить шрифт подписей улиц на z12, эти подписи начинают выпирать, затмевая названия населённых пунктов. Кроме того, на печати, как я написал, надписи выглядят и читаются гораздо лучше. В течение месяца я планирую сделать сервис для скачивания выбранного фрагмента сразу с маршрутом и линейным масштабом в SVG / PDF, чтобы люди не мучались с печатью тайлов.

mavl #

Очень хороший стиль. Спасибо.

RSergei #

Отличный стиль, давно искал такой где можно увидеть названия деревень на малом зуме. Но есть вопрос, почему highway=track видно раньше чем, highway=service&

Илья Зверев

Из-за городов: если там рисовать service на низких масштабах, дороги превращаются в кашу.

kisaa #

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

Посмею заметить, что в советской топографии расположение темного кусочка внутри светлого прямоугольника станции прямо указывало на расположение станционного здания — по правую или левую сторону от путей. Данный рендер рисует красиво, но этот момент ставит абсолютно «от фонаря».

kisaa #

Конечно, я придираюсь — станции совсем не главное на велокарте, и стиль отличный. А если бы ещё простой (для новичков) инструмент печати прикрутить...

Zkir #

Tiles © Ilya Zverev

Охренеть. Была база © Участники Openstreetmap, стали тайлы © Ilya Zverev. Что-то надо бы подправить в консерватории. Из-за чего тогда на спутник наезжали?

Требуем надписи © Участники Openstreetmap где ей положено.

Не шутка.

Илья Зверев

Поясни, что в этой полной строке http://not.textual.ru/zverik/2/4/tiles-iz.png не так?

felispimeja #

Илья, молодцом! Сделано с любовью.

trolleway #

Спасибо за ссылку на GMTED2010, мне как раз нужен красивый рельеф на несколько очень плоских местностей.

Илья Зверев

Без сглаживания всё равно не обойтись. Я сглаживал в SAGA простым фильтром, затем делал контуры в gdal_contour, потому что он сохраняет направления (для бергштрихов).

Zkir #

Поясни, что в этой полной строке http://not.textual.ru/zverik/2/4/tiles-iz.png не так?

В этой строке какая-то путаница в самых базовых понятиях. Если есть исходная работа (с) Вася, то производная работа не может стать (с) Петя. В этом самый смысл открытых лицензий.

В данном случае исходная работа — это planet.osm, а производная работа — это отрендереные тайлы.

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

В данном случае должно быть
«(с) Участники OSM, Илья Зверев.»
Или
«Данные карты (с) Участники OSM, Стиль карты (с) Илья Зверев».
И  это правильно, потому что тайлы-то состоят из данных и картостиля.

Zkir #

http://not.textual.ru/zverik/2/4/tiles-iz.png

Map и Tiles в данном случае вообще одно и тоже. Поэтому и правообладатель не может быть разным.
Как-то так.

Zkir #

Более того, если исходная работа (база) была AttributionShare Alike, то и производная работа (тайлы) должна быть тоже AttributionShare Alike.

Если ты с этим не согласен, то я тогда и не знаю, кто мы такие, откуда идем и где оказались.

Zkir #

Более того, если исходная работа (база) была Attribution-Share Alike, то и производная работа (тайлы) должна быть тоже Attribution-Share Alike.

Если ты с этим не согласен, то я тогда и не знаю, кто мы такие, откуда идем и где оказались.

Илья Зверев

Лицензия не исключает авторского права, последнее неотъемлемо. Продолжим на форуме: http://forum.openstreetmap.org/viewtopic.php?id=25668

Андрей #

Тайлы здоровские. Однако платформы электричек совсем теряются, хотя для покатушек они важнее станций метро, имхо.

haserbaba #

Илья, дороги, которые secondary или tertiary (не разберу точно), они специально выделяются сильнее, чем выше и ниже лежащие? У них толщина черной линии такая, что они выглядят контрастнее всего остального

Antares19 #

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

Пара вопросов:

  1. Не  будет ли полезным для ориентирования отображение ЛЭП: http://osmz.ru/veloroad.html#14/57.8394/28.3298 (см. в сравнении с hike&bike)
  1. М.б. стоит отображать магазины с велозапчастями? http://osmz.ru/veloroad.html#14/57.8121/28.3532 (см. в саврении с CycleMap)
Сергей Гладилин #

Очень хорошо! О том, чтобы такое существовало, я мог только мечтать!

jekader #

Крутота, спасибо Илья! А сколько места на харде надо чтобы -поработить- прорендерить весь мир?

Илья Зверев

На весь мир нужно много, около 700 гигабайт. На Россию и сопредельные страны может хватить сотни.

Сергей Гладилин #

Особенно понравилось, что знак для дорог определенного класса меняется в зависимости от зума. Т. е. не самые важные дороги для z8 — это primary — обозначены яркой одинарной линией, той самой, которой на более крупных зумах обозначены tertiary.

nils #

а экспорт России в .img для гарминов можно сделать?

Илья Зверев

Вообще? Вот: http://shtosm.ru/2012/02/24/1/
В этом стиле — нет, потому что стили для mapnik и для гармина — не одно и то же. Вернее, сделать можно, но я этим заниматься не буду.

Grigory Batalov #

Илья, можешь Финляндию дорендерить до Ювяскюля? Немножко не хватает ;)
http://www.gpsies.com/map.do?fileId=yzskhdgstlcoimdh

Илья Зверев

Я завтра, максимум послезавтра, передам Кампи легенды с картами из этого маршрута. Специально на домашней машине вырезал кусок побольше. На сервере это делать слишком долго, ну и ограничения всякие.

az09 #

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