2011-05-24 37 views
2

我一直在嘗試兩個半星期到目前爲止獲得在服務器上運行的OpenStreetMap的本地副本。我已下載星球文件並將其導入到一個名爲'osm'的PostGIS數據庫中。我使用OSM Mapnik工具爲Mapnik生成一個XML樣式表。我使用TileLite來證明Mapnik可以從數據庫中渲染OSM圖塊。瓷磚甚至看起來我希望他們看的方式。OSM,TileCache和Mapnik

我現在的問題是我無法讓TileCache與Mapnik一起工作。我安裝了一個MapServer實例,用於爲Shapefiles服務。這適用於TileCache。 TileCache配置文件中的默認「基本」層也適用。請幫助我的OSM層:

[osm] 
type=Mapnik 
mapfile=/var/maps/bin/mapnik/osm.xml 
spherical_mercator=true 
bbox=-16697000,8610000,-16667000,8640000 
maxResolution=156543.0339/4 
levels=18 
srs=EPSG:900913 

我已閱讀每一篇最後的博客文章,論壇帖子和教程,我可以找到。任何幫助,將不勝感激。我懷疑我要麼錯過了什麼,要麼我正在做一些愚蠢的事情。

+0

你好Nik,你可以檢查這個https://堆棧overflow.com/questions/47076168/osm-mapnik-integration – 2017-11-03 05:56:08

回答

4

聶,

我可以在這裏和你已經嘗試了很多事情瞭解潛在的困難。你沒有說你衝進但什麼確切的問題,所以我想,這是你的問題:

  • 您正在使用的OpenLayers測試的瓦片被正確地產生,但事情不排隊當您連接到由TileCache生成的圖塊時。

那它呢?如果沒有,請提供一些細節。

如果這是問題,那麼您需要做的就是確保在OpenLayers中使用「TMS」圖層類型,並將其與TileCache.cfg圖層參數相匹配。除了y值被翻轉之外,「TMS」與OSM平鋪方案非常相似。

無論如何,這樣的事情應該工作:

tilecache.cfg

 
[osm] 
type=Mapnik 
mapfile=/full/path/to/osm.xml 
spherical_mercator=true 

的OpenLayers層

 
var tms = new OpenLayers.Layer.TMS("TileCache TMS Layer","http://localhost:8000/", 
       { serviceVersion: "1.0.0", layername: "osm", type: "png" }); 
map.addLayers([tms]); 

我把這個從我的一個老例如,從我第一次這工作:http://mapnik-utils.googlecode.com/svn/example_code/tilecache/openlayers_osm.html

+0

這看起來很有幫助。我現在正在運行PostgreSQL身份驗證問題,這當然是一種改進。 – Nik 2011-05-24 15:57:39

+0

我已經創建了另一個問題:http://stackoverflow.com/questions/6113740/tilecache-with-mapnik-for-openstreetmap。如果你也可以提供幫助,那將會很棒。 – Nik 2011-05-24 16:34:09