蒂森多边形是否与Voronoi多边形相同?我正在使用ArcMap 10和QGIS 2.4,并且我想知道两种方法之间的确切区别(如果有)。
蒂森多边形是否与Voronoi多边形相同?我正在使用ArcMap 10和QGIS 2.4,并且我想知道两种方法之间的确切区别(如果有)。
Answers:
是的,他们是同一回事。在GIS领域中,在经常使用它们的美国气象学家之后,我们倾向于将它们称为Thiessen多边形。在其他领域,特别是数学和计算机科学领域,为了纪念数学家Georgy Voronyi,通常将它们称为Voronoi图。两种用途都是可以接受的。
我们无法知道确切的区别,因为我们看不到ESRI实现的源代码。但是,从粗略地看,似乎这两个实现确实使用了与Steven Fortune的经典扫掠线算法的粗略翻译相同的方法。
在这里,您可以查看QGIS中使用的实际源代码。它包括以下描述:
For programmatic use two functions are available:
computeVoronoiDiagram(points)
Takes a list of point objects (which must have x and y fields).
Returns a 3-tuple of:
(1) a list of 2-tuples, which are the x,y coordinates of the
Voronoi diagram vertices
(2) a list of 3-tuples (a,b,c) which are the equations of the
lines in the Voronoi diagram: a*x + b*y = c
(3) a list of 3-tuples, (l, v1, v2) representing edges of the
Voronoi diagram. l is the index of the line, v1 and v2 are
the indices of the vetices at the end of the edge. If
v1 or v2 is -1, the line extends to infinity.
computeDelaunayTriangulation(points):
Takes a list of point objects (which must have x and y fields).
Returns a list of 3-tuples: the indices of the points that form a
Delaunay triangle.
现在我们看不到驱动其工具的 ESRI专有代码,但是其文档说明立即显示出这两种工具背后的基础是相同的:
蒂森近端多边形的构造如下:
所有点都被三角剖分成符合Delaunay准则的三角不规则网(TIN)。生成每个三角形边缘的垂直平分线,从而形成Thiessen多边形的边缘。等分线相交的位置确定了Thiessen多边形顶点的位置。
驱动这两者的代码的实际细微差别显然是不同的,因为已经证明Bill Simon的翻译存在ESRI版本中不存在的已知错误。
甚至在GIS中,也有(如上面的评论中所述)其他几种生成Voronoi图的方法,例如这种基于栅格的方法。还有其他基于矢量的方法可在GIS中生成Voronoi图。
每种方法都有许多优点和缺点。例如,Fortune的算法相对较快且有据可查,但是目前尚无使用他直接实现的生成加权加权Voronoi图的已知方法。
栅格方法通常在计算上要慢得多,但是无需完全重新发明方法,就可以创建不同类型的Voronoi图(例如最远的Voronoi图)。
完全公开:我曾担任教授的研究助理,他为基于栅格的生成Voronoi图的方法撰写论文。
TL; DR:尽管实际的实现略有不同,但是它们基于相同的算法,并且都应产生相同的结果(除了少数情况下,上面的Dan Patterson问题中指出了这些错误)。