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



在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

我的观点有什么错?

当你实际上有一个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)

最新更新