2012-08-01 39 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/