修正GIS软件应用程序中的拓扑错误的算法


19

相关问题在这里。

我注意到确保拓扑正确性对于GIS应用程序至关重要,这是因为来自用户或多边形布尔操作的输入可能会遇到严重的拓扑问题(即使多边形看起来正确),也会影响后续操作的质量。

干净多边形是地理向导用来确保拓扑正确性的方法。

Arcgis还具有清理棉条的命令

我的问题不是关于如何使用现有软件包来确保面输入数据在拓扑上是正确的。相反,我的问题是有关这些软件包如何实施这些清洁程序的。换句话说,在给定一组多边形输入的情况下,可以用来确保解决所有拓扑错误的算法是什么?


2
帮助资源中还有另一种称为“集成”的ArcGIS GP工具,其中对该算法做了简要说明:help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//… -但是指定不正确。
艾伦·阿代尔

您自己的来自Geo Wizards的链接实际上很好地表示了算法。您还期望什么?
johanvdw 2011年

@hohanvdw,链接显示的不是算法,而是有关如何使用软件激活算法以清洁多边形的步骤。两者之间的差异是巨大的。
Graviton

1
搜索平面化算法可能会发现有用的东西。
Kirk Kuykendall

@KirkKuykendall,我不太了解平面化算法如何提供帮助;我认为它更适合图论而不是这种计算几何学的东西?
Graviton

Answers:


7

Google学术搜索快速搜索后,找到了以下引文不错的文章:

  • Thierry Ubeda和Max J.Egenhofer。GIS中的拓扑误差校正。空间数据库的进展,计算机科学讲义,1997,第1262/1997卷,281-297,DOI:10.1007 / 3-540-63238-7_35(PDF

  • 西尔维·瑟维尼(Sylvie Servigne),蒂埃里·乌维达(Thierry Ubeda),阿兰·普里切利(Alain Puricelli)和罗伯特·劳里尼(Robert Laurini)。 地理数据库空间一致性改进方法GeoInformatica,2000,第4卷,第1号,7-34,DOI:10.1023 / A:1009824308542(PDF


+1看起来像是经过深思熟虑的论文。我希望作者能定义“场景”的含义。
Kirk Kuykendall

谢谢,我添加了第二篇文章(由同一位作者之一发表),但是乍一看,我仍然无法分辨什么是“场景”。
blah238 2011年

10

4

尽管不是算法,但此页面为您提供一些有关在ArcGIS工具“检查几何/修复几何”中“检查几何”查找的拓扑错误类型的信息。http://help.arcgis.com/zh-CN/arcgisdesktop/10.0/help/index.html#//00170000003v000000

Null geometry: The record will be deleted from the feature class. To keep records with null geometry, uncheck the tool dialog option Delete Features with    Null Geometry, or in scripting set the delete_null parameter to KEEP_NULL.
Short segment: The geometry's short segment will be deleted.
Incorrect ring ordering: The geometry will be updated to have correct ring ordering.
Incorrect segment orientation: The geometry will be updated to have correct segment orientation.
Self intersections: the areas of overlap in a polygon will be dissolved.
Unclosed rings: The unclosed rings will be closed by connecting the ring's end points.
Empty parts: The parts that are null or empty will be deleted.
Duplicate vertex: One of the vertices will be deleted.
Mismatched attributes: The Z or M coordinate will be updated to match.
Discontinuous parts: Multiple parts will be created from the existing discontinuous part.
Empty Z values: The Z value will be set to 0.

3

我不认为有一种方法可以完全自动地纠正给定数据集中的拓扑错误。有些东西(例如悬垂物)可能能够自动拆分然后删除生成的悬垂物。但是,两个相邻多边形之间的条子又该如何与哪个条子合并以消除它呢?这类问题似乎需要用户输入。为了识别错误,我认为算法使用了DE-9IM的某种变体(在某些方面扩展了9个维度)。我认为您最好的选择是看Java拓扑套件(JTS)。特别是几何图形类。我认为这可以用于构建特定几何图形的不同组件,然后用于检查不同的拓扑问题。我从来没有做过,但是不久前就进行了研究。

如果您不熟悉Java,则GEOS是JTS的C ++风格,或者NetTopologySuite是C#的风格。

希望能有所帮助。


1

已经提到了ArcGIS的Integrate命令文档,但是ESRI还撰写了一篇技术论文“ 了解ArcGIS中的几何处理”,记录了Integrate(以及更广泛地涉及公差的地理处理操作)所使用的处理逻辑。重点是避免和纠正由地理处理产生的拓扑错误。给出了一些参考也可能有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.