2012-07-11 20 views
2

在PostGIS的2.0我嘗試:postgis st_geomfromgml,我的觀點有什麼問題?

select ST_GeomFromGML(
    '<gml:Point srsName="urn:ogc:def:crs:EPSG::28992"> 
     <gml:pos>275466.0 565559.0 0.0</gml:pos> 
    </gml:Point>'); 

這給出了一個錯誤:

********** Error ********** 

ERROR: invalid GML representation 
SQL state: XX000 
Context: SQL function "st_geomfromgml" statement 1 

什麼是錯我的觀點?

回答

1

它看起來像解析器假設2D幾何,當你真正擁有的三維幾何,即使你可能不使用Z尺寸,除非你點在海平面(它是0.0)。如果你明確的陳述維度屬性,你會得到正確的結果:

SELECT ST_AsText(ST_GeomFromGML(
    '<gml:Point srsName="urn:ogc:def:crs:EPSG::28992"> 
     <gml:pos dimension="3">275466.0 565559.0 0.0</gml:pos> 
    </gml:Point>')); 

     st_astext 
--------------------------- 
POINT Z (275466 565559 0) 
(1 row)