2013-05-12 19 views
3

所以我裝了一堆NHD數據,並最終爲MultiPolygonZM(和pointZM和areaZM其他表)幾何mapnik不渲染postgis multipolygonzm?

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)的映射全部只是hunky dory。有沒有其他人經歷過這樣的事情?這是一個幾何問題還是隻是一個紅鯡魚?無論如何要讓mapnik在渲染時吐出任何類型的調試信息?

TIA!

- 蘭迪

回答

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中,看到this answer

+0

woot!它確實有效!你的解釋和知識,QGIS強制它,而Mapnik可能不是現貨。現在我不僅知道如何解決它,而且爲什麼它會發生!謝謝! – rcarver 2013-05-13 11:57:29