2012-08-01 65 views
2

tilestache的文檔有點稀疏。有沒有辦法將wgs84中的點(lon/lat)轉換爲目標投影?使用tilestache/modestmaps將wgs84中的lon/lat重新投影到目標投影?

其中:

target_srid = 3095 
target_proj4_str = '+proj=utm +zone=54 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +units=m +no_defs' 

我注意到,有在ModestMaps一個變換分析對象爲:

ModestMaps.Geo.Transform() 

但我不是它如何被使用清楚。

回答

2

你最好的賭注是Proj4Projection類下的「超值服務」:

http://tilestache.org/doc/TileStache.Goodies.Proj4Projection.html

我目前只包括TileStache的核心WGS84和球墨卡託,但上方貢獻模塊應該可以幫助您。請注意,除了投影之外,還需要弄清楚一個轉換,在Per Liedman的優秀指南中解釋如下:http://blog.kartena.se/local-projections-in-a-world-of-spherical-mercator/

+0

試過,但我似乎無法加載Proj4Projection。 >>> PROJ = TileStache.Goodies.Proj4Projection() 回溯(最近通話最後一個): 文件 「」,1號線,在 AttributeError的: '模塊' 對象有沒有屬性 'Proj4Projection' – monkut 2012-08-06 04:39:33

+0

結束了剛剛重新投影數據轉化爲900913,那麼處理起來就容易多了。 – monkut 2012-08-07 04:05:20

1

Proj4Projection有一個依賴項(pyproj)。我不確定你想要做什麼,但如果你想使數據與TileStache預期的兼容,我只需在實際的SQL查詢中使用ST_Transform即可將PostGIS項目設置爲4326.這不是乾淨的方式來做到這一點,但至少可以防止數據冗餘。

也看到這一點:http://vis4.net/blog/posts/no-more-mercator-tiles/