2

嗨,我正在尝试将我的 postgis 数据渲染到 Mapnik 中,但不能这样做,任何人都可以与我分享相同的 Python 文件,它解释了如何做同样的事情。

马尼什·夏尔马

4

1 回答 1

1

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>
于 2013-05-12T19:25:17.917 回答