如何创建一个包含带孔多边形的有效ESRIJson?

时间:2019-04-03 15:21:12

标签: json esri wkt fme

我很难找到如何将代表至少一个孔的多边形的WKT转换为ESRIJSON(不是GEOJSON,它们是不同的)。

我找到了这个参考,但是它不是在谈论漏洞:http://resources.esri.com/help/9.3/arcgisserver/apis/rest/geometry.html

我也找到了这个,但没有更多细节:https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm#POLYGON

我所看到的可以帮助我的是: “多边形应在拓扑上简单。外圈是顺时针方向,而孔是逆时针方向”

好吧,我顺时针和逆时针管理,但是当我在功能部件上添加戒指时,并不能达到预期的效果。我使用FME检查多边形的有效性。

示例:

我有一个多面体,其中包含一个带孔的多边形和四个法线多边形,存储在PostGIS数据库中。我创建了一个Web服务,该服务用于从PostGIS数据库转换WKT以返回必须由FME验证的ESRIJSON。

现在,我的Web服务创建了一个环形阵列,其中顺时针为多边形,逆时针为孔。 FME显示6个多边形(IFMEPolygon),而不是4个(IFMEPolygon)+ 1个带孔的多边形(带有外环和内环的IFMEDonut)。

因此,我尝试了另一种方法:当多边形具有孔时,在环阵列内制作一个阵列(外环和内环)。在这种情况下,FME无法绘制任何东西,甚至更糟。

在有孔的多边形的情况下,这里的任何人都知道如何将WKT格式化为ESRIJSON(不是GEOJSON)?任何帮助将不胜感激。

编辑

我找到了进一步的方法。我使用FME在格式正确的ESRIJson中转换原始数据,因此可以与Web服务生成的格式不正确的ESRIJson进行比较。

您可以在这里找到两个文件:

我检查了圆环的坐标...并且它们是相同的,顺时针和逆时针的管理都很好。所以我应该有相同的结果。但是我还没有发现这两个ESRIJson之间的问题在哪里。

如果有人可以查看这些文件,也许您会比我更快地看到问题所在。

非常感谢。

0 个答案:

没有答案