耗尽到无穷大的Voronoi多边形?


18

我一直在努力实现voronoi.py脚本(比尔·西蒙(Bill Simon)对史蒂夫·财富(Steve Fortune)的代码的翻译)。根据QGIS链接,我使用的基本上是相同的代码,但是生成可扩展到无穷大的多边形的方式在两者之间有所不同。在QGIS情况下,我假设在超出站点点范围的某个范围内会生成一些边界矩形。就我而言,我生成了错误的站点点,将其作为围绕感兴趣站点点的圆圈。圆点的半径是站点点范围直径的两倍。两者之间的结果显示在附图中,左侧是QGIS实现,右侧是我的实现。 Voronoi的例子

可以看到,QGIS实现产生了没有站点点的奇怪多边形(这两个实现中都以站点473为例)。这显然是错误的,但是我不确定我的实现是否正确。由于我无权获取ArcMap的ArcInfo许可证,因此无法将其与ArcMap本地生成的内容进行比较,也无法看到一种方法来附加站点点shapefile供某人进行测试。因此,如果有人对我使用“无限圆”来帮助强制边缘多边形而不是“无限矩形”有任何评论,我将不胜感激。更好的是,如果有人有兴趣在其他GIS平台上测试输出,则可以提供我使用的站点点的shapefile。


问题的一部分似乎是站点点之外的多边形重叠,因此在没有填充的情况下进行符号化时,它们会显示为不同的多边形。下图显示了选择围绕站点473和415的多边形时发生的情况。因此原来的问题仍然存在,但是又出现了新的问题。


这是一个错误(或“不完整”),如果使用0%的缓冲区,则在QGIS中的正确结果。仍然需要解决的是,圆形“无穷大点”的密集图案是否会产生与矩形“无穷大边缘”相同的结果。

在此处输入图片说明


我很想尝试您的积分数据。我的测试未显示任何此类行为。
昏暗

我准备好了一个zip文件,请通过电子邮件与我联系Dan_Patterson@carleton.ca,然后我可以将其转发给您。我想我在QGIS中运行voronoi时添加了10%的缓冲区。

也许您可以重新编写当前的问题(更新2之后)。
昏暗

做得好。希望您能以某种方式与社区共享您的代码。
Michalis Avraam 2014年

请参阅“答案”中的以下链接,由于ESRI

Answers:


10

我能够确认自己的实现至少可以与ArcGIS相提并论(但需要ArcInfo许可)。如果使用缓冲区距离,则QGIS实现有误。对于使用带有ArcView许可证的ArcGIS的用户,可以将Voronoi和/或Delaunay的工具集作为“ 三角剖分工具”


QGIS Voronoi代码中存在多个错误。QGIS 3.2.2中已应用了许多修复程序。听到是否有帮助将会很有趣。
哈瓦德·特维特(HåvardTveite)
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.