Openstreetmaps Custom Tile to PDF с использованием TCPDF

0

Я хочу добавить изображение карты в pdf файл, используя TCPDF в PHP. Как я могу это сделать? Кроме того, я хочу использовать пользовательский поставщик плитки (Mapnik, German Style). Есть ли какие-либо решения или апробации, чтобы заставить это работать?

Заранее спасибо!

Теги:
openstreetmap
tcpdf

1 ответ

1

Вы можете сделать это с помощью локальной копии mapnik и Nik4.

Вам понадобиться:

  1. Установите postgresql, postgis, mapnik, Nik4
  2. Получите Mapnik, немецкий стиль, стиль xml.
  3. Загрузите данные для интересующей вас области в postgis (через osm2pgsql)
  4. Теперь вы можете использовать Nik4 и Nik4 cgi.

Это довольно сложно, но есть и хорошие новости: вы можете использовать изображение Docker dkiselev/nik4web с предустановленными postgis, mapnik, nik4 и некоторыми другими вещами.

sudo apt-get install docker

# as root
docker pull dkiselev/nik4web

Создайте контейнер и запустите его

docker run -i -t -P dkiselev/nik4web /bin/bash

#from container 
startup

После этого откройте localhost/nik4, и вы получите карту с двумя стилями, для одного из штатов в России. Поэтому вам нужно будет изменить стиль и область.

Во-первых, измените стиль

Стиль по умолчанию находится в /home/osm/styles/openstreetmap-carto. Это в carto css. Так что получите "немецкий стиль", если он в carto css затем скомпилирует его с карточкой.

su - osm

# save default compiled osm style
mv styles/openstreetmap-carto/osm.xml styles/openstreetmap-carto/osm-def.xml 

# compile german style
carto german_stye.mml > german_style_mapnik.xml

#replace default osm style
mv -f german_style_mapnik.xml styles/openstreetmap-carto/osm-def.xml 

Если он распространен уже как правила отображения mapnik в xml, замените styles/openstreetmap-carto/osm.xml.

Шаг sencond - загрузить новую территорию с помощью osm2pgsql. Файл стиля osm2pgsql для стандартного стиля osm (я думаю, что немецкий стиль использует тот же самый) - /home/osm/styles/openstreetmap-carto/openstreetmap-carto.style

osm2pgsql --create --slim --cache 1000 --number-processes 2 --hstore --style /home/osm/styles/openstreetmap-carto/openstreetmap-carto.style --multi-geometry --database gis /path/to/osm/data/for/your/region.pbf

Это все. После того, как вы запустите postgresql, apache2 и mapnik (см. /bin/startup Bin /bin/startup), вы получите свой собственный osm со своим стилем и с svg, pdf и png export.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню