Картостиль veloroad для печати маршрутов

Этой ночью обновил стиль, закрыв все основные тикеты:

— trunk и primary теперь более заметны: их заливка стала жёлто-оранжевой;
— рисуются ЛЭП на z13+: на более мелких они сильно засоряют карту;
— названия ж/д переводятся на русский, disused станции не отображаются;
— появились узкоколейки.

А ведь он наверное хорошо пойдёт на майку, ведь там пару цветов всего, жаль только Поволжье вырезано ;(

Печатать на майке тайлы — моветон. Загрузи в PostgreSQL Поволжье и сделай с помощью Nik4 векторную карту себе на майку :slight_smile:

А почему бы не променять Заполярье (Таймыр, Новая Земля и т.п.) на Поволжье, ЮФО, СКФО?
Неужели там больше велосипедистов?

Там меньше данных. Как я написал, место на сервере очень ограничено. Всё Заполярье — это одна область в Поволжье, например. Я посчитал, что иметь Дальний Восток в моём стиле важнее, поскольку на всех других рассматривать его неудобно.

Когда (если) появятся дополнительные гигабайты диска, расширю покрытие.

Индикатор масштаба на карту можно добавить?

Он там есть (если рендерить вручную). Или имеется в виду веб-карта? Какая из? На openstreetmap.ru есть индикатор.

сюда http://osmz.ru/veloroad.html#12/58.2884/33.2929

[offtop]
Всегда смущало как умудряются показать индикатор масштаба в виде короткого отрезка на проекции меркатора, как сделано во всех известных веб-картах и САС.Планете. В мапсёрфере при конфигурировании масштаб тоже задаётся не в виде зума, а вполне конкретного значения…

Открыл карту на восьмом зуме - масштабы на широте Питера и Мурманска отличаются в 1.4 раза.

Тут сработает линейка с переменными делениями по широте. Зарамочное оформление по типу генштаба или морских карт.
[/offtop]

Если вы не пользуетесь Nik4, то это значит, что у вас ещё не установлен мапник. См. подпись.

Со дня выпуска в нём появились несколько полезных функций. Это автоопределение одного из размеров (если выставить значение в 0, работает и для миллиметров, и для пикселей) и переменные в XML (${name:значение по умолчанию}), которые заполняются ключом --vars. Этим фичам посвящены два новых раздела в документации. Ну и для удобства, теперь можно эффектно вызвать

nik4.py --url http://www.openstreetmap.org/#map=16/55.9865/37.2160 osm.xml screenshot.png

А для речек/озер/… названия из name:ru специально не используются?

http://openstreetmap.ru/#map=12/60.1525/35.0601&layer=V
оз. Салоз., Гарбоз., Муромоз.
:3

При скроллинге на одном зуме не изменяется индикатор масштаба, даже если далеко на север заехать.

для veloroad у меня получилось так:

  • копируем osm_mapnik.zmp с новым именем osm_veloroad.zmp
  • в новом каталоге правим файлы params.txt и GetUrlScript.txt:

params.txt


[PARAMS]
pnum=116
GUID={D643C5A1-4331-4387-9BE2-DDDF185C117F}
asLayer=0
name=veloroad (OpenStreetMap)
name_en=veloroad (OpenStreetMap)
name_uk=veloroad (OpenStreetMap)
NameInCache=osmmapVeloroad
DefURLBase=http://tile.osmz.ru/veloroad
ContentType=image/png
Ext=.png
projection=1
sradiusa=6378137
sradiusb=6356752
separator=0
UseDwn=1
Sleep=0
DefHotKey=16463
PARENTSUBMENU=OSM
IteratorSubRectSize=8,8
RequestHead=Referer: http://www.openstreetmap.org/
License=(c) OpenStreetMap contributors, CC-BY-SA

GetUrlScript.txt


begin 
  ResultURL:=GetURLBase+'/'+inttostr(GetZ-1)+'/'+inttostr(GetX)+'/'+inttostr(GetY)+'.png';
end.

запускаем SASPlanet и проверяем :slight_smile:

Ну ура: теперь кусок карты для печати, даже в векторе, с маршрутом и линейным масштабом, можно получить из браузера, не устанавливая себе мапник: http://tile.osmz.ru/get/

Можно поинтересоваться, что это за ошмётки?
Ну и пометки, что со слоем osm это не работает, не хватает.

Данные, как я уже не раз писал, загружены только внутри красного контура. Даже для слоя osm. Так что внутри всё работает, а снаружи — только ошмётки, которые попадают с планетными диффами (пока что они не фильтруются).

Стало быть, если хочется увидеть в этом стиле другие регионы, нужно разворачивать свою систему, начиная от PostgreSQL.
А где можно увидеть инструкцию по разворачиванию. Например, для отправной, точки уже есть libmapnik2, а carto нет. (Кстати, что правильней устанавливать: openstreetmap-carto, node-carto или нужно тянуть из исходников)? Зависит ли veloroad от Nik4? Если зависит, то как заставить Nik4 работать с mapnik2? Ну инструкцию я могу написать сам, если пройду этот путь, нужна консультация.

Инструкция по загрузке данных тут (на английском, разумеется). Я записал список команд для федоры. Для компиляции стиля в carto нужен npm и затем npm install carto. Тогда carto -l project.mml > veloroad.xml — эту xml можно скормить мапнику или renderd.
Устаревшая (но работающая, более-менее) инструкция по поднятию mod_tile и renderd тут.

Прекрасно. Но как быть с Nik4.py Достаточно, ли переправить все вызовы mapnik на mapnik2, что бы получить работающий муляж замысла автора?