Mapnik无法渲染PostGIS的多边形ZM?

3

我加载了大量的NHD数据,结果几何图形成为了MultiPolygonZM(对于其他表格,是pointZM和areaZM)

  way geometry(MultiPolygonZM,900913)

我已经测试了查询语句并在直接运行时返回了数据。以下是我的风格:

<Style name="waterways">
  <Rule>
    <LineSymbolizer stroke="blue" stroke-width="3" />
  </Rule>
</Style>
<Layer name="waterways" status="on">
  <StyleName>waterways</StyleName>
  <Datasource>
    <Parameter name="table">
    (select way
     from nhd_waterbody)
    as waterway
    </Parameter>
    <Parameter name="type">postgis</Parameter>
    <Parameter name="port">5432</Parameter>
    <Parameter name="user">gisuser</Parameter>
    <Parameter name="dbname">gis</Parameter>
    <Parameter name="estimate_extent">false</Parameter>
    <Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
  </Datasource>
</Layer>

但我无法让mapnik(版本2.10)对其进行渲染。osm数据可以正常渲染(它是标准的MultiPolygon,不是4d),并且mapnik和QGIS(v1.8)都可以轻松地绘制所有内容。是否有其他人遇到过类似的情况?这是一个几何问题还是只是一个红色线索?当渲染时,有没有任何方法让mapnik输出任何类型的调试信息?
TIA!
- Randy
1个回答

4

一些GIS程序,例如QGIS,内部使用ST_Force_2D从高维数据类型中制作2D图。我不确定Mapnik如何处理这些几何图形,但我怀疑它们可能不受支持。此外,请务必仔细检查范围,因为这经常被忽视。

如果您实际上没有使用更高的维度,则请将其删除!对于PostGIS 2.0:

ALTER TABLE my_table
    ALTER COLUMN way TYPE geometry(MultiPolygon,900913) USING ST_Force_2D(way);

如果您使用的是PostGIS 1.x版本,请参考这个答案


哇!它确实起作用了!你的解释和知识,即QGIS正在强制执行它,而Mapnik可能不会这样做,是非常准确的。现在我不仅知道如何修复它,还知道为什么会发生这种情况!谢谢! - rcarver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接