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

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

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

0

Решение

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

Тебе понадобиться:

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

Это довольно сложный путь, но есть и хорошие новости: вы можете использовать Docker dkiselev / nik4web image, с предустановленными 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, и вы получите карту со стилем vith 2 для одного из штатов России. Так что вам нужно изменить стиль и область.

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

Стиль по умолчанию в /home/osm/styles/openstreetmap-carto вложенная папка. Это в картосссе. Так что получите «German Style», если это в carto css, то скомпилируйте его с carto.

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,

И второй шаг — загрузить новую территорию с помощью 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) вы получите свой собственный OSM со своим собственным стилем и с экспортом SVG, PDF и PNG.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]