【问题标题】:mapnik not rendering postgis multipolygonzm?mapnik不渲染postgis multipolygonzm?
【发布时间】:2013-05-12 17:48:26
【问题描述】:

所以我加载了一堆 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 数据从 mapnik 和 qgis (v1.8) 渲染得很好(它的标准 MultiPolygon,而不是 4d)映射所有这些只是 hunky dory。有没有其他人经历过这样的事情?这是一个几何问题还是只是一个红鲱鱼?无论如何让mapnik在渲染时吐出任何类型的调试信息?

TIA!

-- 兰迪

【问题讨论】:

    标签: postgis mapnik


    【解决方案1】:

    QGIS 等几个 GIS 程序在内部使用 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,请参阅 this answer

    【讨论】:

    • 哇!它确实奏效了!您对 QGIS 强迫它的解释和知识,而 Mapnik 可能不是正确的。现在我不仅知道如何修复它,而且知道它为什么会发生!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 2013-03-19
    • 2011-03-20
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 2017-09-17
    相关资源
    最近更新 更多