首页 / 浏览问题 / 组件GIS / 问题详情
GML格式错误
9EXP 2018年05月25日
superMap 7c:

通过接口转换geometry为gml。

转换方法: Geometry geometry = feature.GetGeometry() ;
                  string str = geometry.ToXML();

出来结果如下,感觉与标准的格式有差异。

<gml:surfaceProperty>
   <gml:Surface>
      <gml:patches>
         <gml:PolygonPatch>
            <gml:exterior>
               <gml:LinearRing>
                  <gml:posList>
                     82710.353271 99141.306702 0.000000 82710.353271 99174.326721 0.000000 82726.440125 99173.480103 0.000000 82726.440125 99140.460083 0.000000 82710.353271 99141.306702 0.000000
                  </gml:posList>
               </gml:LinearRing>
            </gml:exterior>
         </gml:PolygonPatch>
      </gml:patches>
   </gml:Surface>
</gml:surfaceProperty>

1个回答

您好,请问有什么问题,我们用的是gml3.0,与Oracle、Galdos、MapInfo、CubeWerx等标准一致的。
5,985EXP 2018年05月25日

可能我理解有些错误哈,有GML文档说明地址吗?

我通过postgis 与 gdal 转换出来结果如下:

<gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>85332.407206003307,106993.35498355262,0 84941.842436266466,103982.75155016447,0 87757.163484786201,103038.8866899671,0 90995.596367187507,103055.16022203947,0 91402.434668996721,106033.21659128289,0 88912.584261924363,108051.13456825657,0 88912.584261924363,108051.13456825657,0 86439.007386924364,107644.29626644736,0 86439.007386924364,107644.29626644736,0 85332.407206003307,106993.35498355262,0</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon>

并且并未在文档中(https://en.wikipedia.org/wiki/Geography_Markup_Language)看到:gml:surfaceProperty 节点的描述

没有什么问题哈,某些节点并不是必须的,如果你觉得哪些节点描述没用,删除即可。
...