嗨,我正在尝试将我的 postgis 数据渲染到 Mapnik 中,但不能这样做,任何人都可以与我分享相同的 Python 文件,它解释了如何做同样的事情。
马尼什·夏尔马
Google 是您的朋友,但这里有一个使用 mapnik 2.1 python 和 xml 样式的快速示例: 这是 python:
#!/usr/bin/python
import mapnik
from mapnik import Coord, Box2d
###
# Configuration
###
style = 'style.xml'
output = 'output.png'
width = 800
height = 800
bbox = Box2d(-11823891.0314,4847942.08196,-11774971.3333,4896861.78006)
print "Using mapnik version:", mapnik.mapnik_version()
map = mapnik.Map(width, height)
mapnik.load_map(map, style)
map.zoom_to_box(bbox)
mapnik.render_to_file(map, output)
这是一个使用 osm 数据的简单 style.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map>
<Map background-color="#FFF">
<Style name="roads">
<Rule>
<LineSymbolizer stroke="red" stroke-width="1" />
</Rule>
</Style>
<Layer name="roads" status="on">
<StyleName>roads</StyleName>
<Datasource>
<Parameter name="table">
(select way from osm_line where highway is not null) as road
</Parameter>
<Parameter name="type">postgis</Parameter>
<Parameter name="port">5432</Parameter>
<Parameter name="user">gisuser</Parameter>
<Parameter name="dbname">gis</Parameter>
</Datasource>
</Layer>
</Map>