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

segfault? это что-то новое :slight_smile:

Аналогично, tilemill на убунте не удалось вылечить от сегфолтов даже пересборкой почти всего.

Долго плясал с бубном - развернул tilemill на винде, пробросил postgres из виртуалки в винду - тот же глюк с непонятными ошибками в стиле. Непонятно.

Я кажется понял в чём дело. Стиль использует операторы CartoCSS, которые работают в tilemill только с версии 0.10.2, а у них на сайте бинарники 0.10.1

Нет, у меня 0.10.1.

Итак, у меня полтора месяца не разворачивался стиль veloroad, но я нашёл в чём дело. Он работает с версиями tilemill >=0.10.2, а стабильная версия сейчас - 0.10.1 Я взял dev-бинарник на странице https://www.mapbox.com/blog/tilemill-adds-support-for-esri-filegdb-format/, и теперь наслаждаюсь рендерами Сахалина вместе с Северной Кореей.

Привет.
Я упаковал get veloroad в контейнер Docker.
В сборке настроены
Postgresq, Postgis, Mapnik, Apache2, mod_tile, renderd, osm2pgsql, carto и Nik4
Тоесть теперь если вы хотите поднять на VDS или на локальной машине стек рендеринга осм но не хотите тратить 2 дня на установку и настройку, достаточно проделать установить Docker, сделать pull образа https://registry.hub.docker.com/u/dkiselev/nik4web/ и запустить контейнер


sudo apt-get install docker.io
sudo docker pull dkiselev/nik4web
sudo docker run -p 8081:80 -i -t dkiselev/nik4web /bin/bash
startup

После чего, если вы зайдете по адресу localhost:8081/nik4 - вы получите локальную копию http://tile.osmz.ru/get/ с загруженой свердловской областью.

Само по себе это безусловно не достижение, но теперь вы можете редактировать стиль (установлены openstreetmap-carto и veloroad) и легко получать свгшки с отредактированным стилем. Можете загрузить нужную вам область, если ее нет на http://tile.osmz.ru/get/ При этом в основной рабочей системе у вас не болтаются apache, mod_tile и остальные элементы стека рендеринга.

  • Секономленное на установке и настройке мапника и сотоварищей время можно потратить на свой собственный стиль.

Вот за это просто громадное спасибо!

присоединяюсь к предыдущему оратору! спасибо!

Проверьте в начале, все ли работает :slight_smile:

как минимум запускается

Про контейнеры, если кто пользуется, нужен ли вам TileMill?

У мапкрафта кстати есть недостаток (в сравнении с hot-osm) нельзя сплитануть кусок. Это добавляет кучу работы создателю пирога. В hot’е для того кто создает пирог все гораздо проще, добавляется 1 полигон а дальше рисовальщики сами если что разберуться.

надо отдельную тему про контейнеры. нужно osm-bright, а tilemill заодно.

K TileMill только придется цепляться через ssh xforwarding с мапингом ssh из контенера на локальный порт

ssh -X localhost:5000 tilemill

Ну и стили видимо стоит поделить на разные контейнеры, по стилю на контейнер.

tilemill же искаропки ставится со всем, зачем для него контейнер?

Ну если у тебя все в контейнере то и тпйлмил запихивается в контейнер чтоб не тягать стили и прочее туда-сюда. Т.е. в контейнере он нужен чтобы удобнее было редактировать те стили что внутри лежат

Уже не первый день мучаюсь с подключением данного слоя к SASPlanet, может кто делал уже - подскажите какую ссылку вставлять?

сотворил на скорую руку https://yadi.sk/d/U4Bq5NB1dNvFR

Спасибо большое!

Лошадиные тропы потерялись?

Error 1 happened.
Command line:
/home/zverik/get-veloroad/nik4/nik4.py --ppi 300 --format png --margin 7 --bbox 48.3717 54.2964 48.3813 54.3045 --size 297 210 /home/zverik/get-veloroad/osm/osm.xml /tmp/tmphrfPi7 --vars

Output:

Traceback (most recent call last):
  File "/home/zverik/get-veloroad/nik4/nik4.py", line 313, in <module>
    mapnik.load_map_from_string(m, style_xml, False, style_path)
RuntimeError: ERROR:  column "horse" does not exist
LINE 1: ... null end)), ('aeroway_' || aeroway)) as feature, horse, foo...
                                                             ^

Full sql was: 'SELECT * FROM (select way,coalesce(('highway_' || highway), ('railway_' ||(case when railway='preserved' and service in ('spur','siding','yard') then 'INT-preserved-ssy'::text when (railway='rail' and service in ('spur','siding','yard'))  then 'INT-spur-siding-yard' when railway in ('light_rail', 'narrow_gauge', 'funicular', 'rail', 'subway', 'tram', 'spur', 'siding', 'monorail', 'platform', 'preserved', 'disused', 'construction', 'miniature', 'turntable') then railway else null end)), ('aeroway_' || aeroway)) as feature, horse, foot, bicycle, tracktype, case when access in ('permissive') then 'permissive'::text when access in ('destination') then 'destination'::text when access in ('no', 'private') then 'no'::text else null end as access, construction, case when service in ('parking_aisle','drive-through','driveway') then 'INT-minor'::text else 'INT-normal'::text end as service, case when oneway in ('yes', '-1') and highway in ('motorway','motorway_link','trunk','trunk_link','primary','primary_link','secondary','secondary_link','tertiary','tertiary_link','residential','unclassified','road','service','pedestrian','raceway','living_street','construction') then oneway else null end as oneway, case when layer is null then '0' else layer end as layernotnull from planet_osm_line where (highway in ('motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'residential', 'road', 'unclassified', 'service', 'pedestrian', 'living_street', 'raceway', 'bridleway', 'footway', 'cycleway', 'path', 'track', 'steps', 'platform', 'proposed', 'construction')  or aeroway in ('runway','taxiway') or railway in ('light_rail', 'subway', 'narrow_gauge',  'rail', 'spur', 'siding', 'preserved', 'funicular', 'tram', 'monorail', 'platform', 'miniature', 'turntable', 'disused', 'construction')) and (tunnel='yes' or tunnel='building_passage' or covered='yes') order by layernotnull, z_order) as tunnels LIMIT 0'
  encountered during parsing of layer 'tunnels' in Layer at line 4418