2014-12-13 3 views
0

PHP의 TCPDF를 사용하여 pdf 파일에 맵 이미지를 추가하고 싶습니다. 어떻게해야합니까? 또한 사용자 지정 타일 공급자 (Mapnik, German Style)를 사용하려고합니다. 이 문제를 해결할 수있는 해결책이나 해결책이 있습니까?Openstreetmaps TCPDF를 사용하여 PDF로 변환 타일

미리 감사드립니다.

답변

1

로컬 맵니크 복사 및 Nik4으로 그 작업을 수행 할 수 있습니다.

당신이 필요합니다 :

  1. 이 mapnik PostgreSQL을, PostGIS와를 설치, Nik4을
  2. Mapnik, 독일어 스타일, 스타일의 XML을 가져옵니다.
  3. postgis (osm2pgsql을 통해)에 관심있는 영역의 데이터를 업로드하십시오.
  4. 이제 Nik4 및 Nik4 cgi를 사용할 수 있습니다.

는 또한 좋은 소식이있다, 다소 어려운 방법이지만 : 당신이 사전 설치 PostGIS와, mapnik, nik4과 다른 물건, 도커 dkiselev/nik4web 이미지를 사용할 수 있습니다.

sudo apt-get install docker 

# as root 
docker pull dkiselev/nik4web 

컨테이너를 만들고 개폐 로컬 호스트/nik4 후 그것을

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

#from container 
startup 

를 실행하고 러시아의 국가 중 하나, VITH 2 스타일로지도를받을 수 있습니다. 따라서 스타일과 영역을 변경해야합니다.

첫째,

기본 스타일이 /home/osm/styles/openstreetmap-carto 하위 폴더에있는 스타일을 변경합니다. carto css에 있습니다. 그러니 "독일 스타일"을 얻으십시오. 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 

xml의 mapnik 렌더링 규칙으로 이미 배포 된 경우 styles/openstreetmap-carto/osm.xml을 대체하십시오.

sencond 단계는 osm2pgsql을 사용하여 새로운 영역을 업로드하는 것입니다. 기본 OSM 스타일 osm2pgsql 스타일 파일은 /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 

그게 전부입니다 (I 독일 스타일이 동일 하나를 사용할 생각). postgresql, apache2 및 mapnik (/bin/startup 참조)을 시작하면 자신 만의 스타일과 svg, pdf 및 png 내보내기로 자신 만의 osm을 얻을 수 있습니다.