postgis st_geomfromgml,我的观点有什么问题?

时间:2012-07-11 21:37:03

标签: postgis gml

在PostGIS 2.0中,我尝试:

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 个答案:

答案 0 :(得分:1)

当您实际拥有3D几何体时,即使您可能没有使用Z维度,看起来解析器也在假设2D几何体,除非您的点位于海平面(它是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)