Questions tagged «voronoi-thiessen»

蒂森多边形是由一组点生成的多边形,其边界定义了相对于所有其他点而言最靠近每个点的区域。蒂森多边形在数学上由所有点之间的直线的平分线定义,并通过不规则三角网(TIN)结构创建。

5
如何最好地解决PostGIS中的非节点交叉点问题?
我正在使用一个PL/R函数,并PostGIS围绕一组点生成voronoi多边形。我正在使用的功能在这里定义。当我在特定数据集上使用此函数时,出现以下错误消息: Error : ERROR: R interpreter expression evaluation error DETAIL: Error in pg.spi.exec(sprintf("SELECT %3$s AS id, st_intersection('SRID='||st_srid(%2$s)||';%4$s'::text,'%5$s') AS polygon FROM %1$s WHERE st_intersects(%2$s::text,'SRID='||st_srid(%2$s)||';%4$s');", :error in SQL statement : Error performing intersection: TopologyException: found non-noded intersection between LINESTRING (571304 310990, 568465 264611) and LINESTRING (568465 264611, 594406 286813) at 568465.05533706467 264610.82749605528 …

2
将点集转换为多边形边界?
我正在尝试将点集转换为其各自的多边形边界。我认为这有点像Voronoi图或Convex Hull,但不完全相同。我敢肯定有一个技术术语,但是我是GIS的初学者。 下图可能是最好的说明: 那么,给定4组点(每组点用其自己的颜色),围绕每个相应点集的四个多边形是什么,以使多边形之间的间距使边界最大化并且所有多边形都汇合在一起? 这是一个简单的例子,有3点: A,43.656943,-79.393928,蓝色 B,43.66663,-79.402682,绿色 C,43.656447,-79.408004,绿色 您必须查看以下图形才能使它有意义: 本质上,每个点都有一种颜色,您可以从该点开始扩展一定距离的缓冲区。 困难的部分是何时与其他点(它们的边界)发生碰撞以及在何处计算该边界。结果是一组多边形(每种颜色/一组一个)。

1
耗尽到无穷大的Voronoi多边形?
我一直在努力实现voronoi.py脚本(比尔·西蒙(Bill Simon)对史蒂夫·财富(Steve Fortune)的代码的翻译)。根据QGIS链接,我使用的基本上是相同的代码,但是生成可扩展到无穷大的多边形的方式在两者之间有所不同。在QGIS情况下,我假设在超出站点点范围的某个范围内会生成一些边界矩形。就我而言,我生成了错误的站点点,将其作为围绕感兴趣站点点的圆圈。圆点的半径是站点点范围直径的两倍。两者之间的结果显示在附图中,左侧是QGIS实现,右侧是我的实现。 。 可以看到,QGIS实现产生了没有站点点的奇怪多边形(这两个实现中都以站点473为例)。这显然是错误的,但是我不确定我的实现是否正确。由于我无权获取ArcMap的ArcInfo许可证,因此无法将其与ArcMap本地生成的内容进行比较,也无法看到一种方法来附加站点点shapefile供某人进行测试。因此,如果有人对我使用“无限圆”来帮助强制边缘多边形而不是“无限矩形”有任何评论,我将不胜感激。更好的是,如果有人有兴趣在其他GIS平台上测试输出,则可以提供我使用的站点点的shapefile。 问题的一部分似乎是站点点之外的多边形重叠,因此在没有填充的情况下进行符号化时,它们会显示为不同的多边形。下图显示了选择围绕站点473和415的多边形时发生的情况。因此原来的问题仍然存在,但是又出现了新的问题。 这是一个错误(或“不完整”),如果使用0%的缓冲区,则在QGIS中的正确结果。仍然需要解决的是,圆形“无穷大点”的密集图案是否会产生与矩形“无穷大边缘”相同的结果。



5
从线段创建voronoi图
我正在寻找一种基于线段而不是点创建voronoi图的方法。请参见下面的示例(摘自本演示文稿)。 理想情况下,我希望可以使用Python编写脚本,但是使用ArcGIS或类似工具的解决方案也是可以接受的。 到目前为止,我发现的唯一可以做到这一点的库是openvoronoi,它看起来很有希望。还有其他吗?

1
如何使用ST_DelaunayTriangles构造Voronoi图?
(编辑2019)ST_VoronoiPolygons 自PostGIS v2.3 起可用! 在PostGIS 2.1+中,我们可以使用ST_DelaunayTriangles()生成Delaunay三角剖分,这是其Voronoi图的对偶图,并且从理论上讲,它们具有精确且可逆的转换。 是否有安全的 SQL标准的脚本与优化的算法存在这个PostGIS2德劳内到维诺转换? 其他裁判:1,2

3
在PostGIS中构建Voronoi图
我正在尝试使用此处的修改代码从点网格构造voronoi图。这是我修改后的SQL查询: DROP TABLE IF EXISTS example.voronoi; WITH -- Sample set of points to work with Sample AS (SELECT ST_SetSRID(ST_Union(geom), 0) geom FROM example."MeshPoints2d"), -- Build edges and circumscribe points to generate a centroid Edges AS ( SELECT id, UNNEST(ARRAY['e1','e2','e3']) EdgeName, UNNEST(ARRAY[ ST_MakeLine(p1,p2) , ST_MakeLine(p2,p3) , ST_MakeLine(p3,p1)]) Edge, ST_Centroid(ST_ConvexHull(ST_Union(-- Done this …

4
从不相交的多边形创建像Voronoi Diagram这样的镶嵌图
下图显示了该问题: 如(a)中所示,我有一组不相交的多边形,如 PostGIS中的几何。我需要像(b)这样的一组多边形的 “马赛克”,并根据“影响区域”标准进行构建...就像是Voronoi构造(由(c)所示):实际上,如果多边形是要点,影响区域是沃罗诺伊。 总结:我需要一种SQL算法(或一些特定于PostGIS的算法)来生成一组不相交的多边形的“马赛克”。 (也许是一个小的ST_Buffer和ST_Difference操作的循环) PS:我需要像Voronoi一样,忽略空间定界((b)中的方形框)。 这个问题和其他有关线路的问题类似。 编辑(@FelixIP评论后) 我倾向于留在向量宇宙中,以免失去精度(例如,使用ST_DelaunayTriangles并通过原始多边形添加和减去内部,它们采用对偶图解决方案)...一些简单而自动的程序包,例如pprepair(如QGIS拓扑工具那样辅助使用)不是自动的)。但是栅格也许更简单,并且占用更少的CPU。 该“ GRID过程”图示也可以作为解决方案,前提是它可以允许相同的精度和“欧几里得影响区域增长”。 在ARCGIS中,存在着一种称为欧几里得分配的空间分析工具,因此,也许有一种PostGIS类似的解决方案,它从一组多边形开始(对多边形进行分类,栅格化和重新制作)。


1
如何在QGIS上进行Manhattan Voronoi?
我花了两个星期的时间来尝试发现如何在QGIS上进行曼哈顿Voronoi。有关Manhattan Voronoi和“普通” Euclidean Voronoi之间的区别,请检查此链接 有人可以指出我正确的方向吗?在下面的链接中,您可以找到我所获得的信息的样本(点和一个多边形) https://drive.google.com/file/d/0B4WB0ixNBUYkREtlcW0weDJUYU0/edit?usp=sharing 我想在QGIS上进行操作,但是如果不可能的话,我欢迎其他解决方案。

3
在QGIS中在Voronoi多边形创建中考虑孔/约束吗?
我正在尝试在QGIS中创建voronoi多边形,该多边形将在一般范围内考虑“孔”。一个例子是: 实际上,我是通过GRASS命令使用QGIS在此图像中创建Voronois的,然后使用“差异”工具创建了孔。包含孔的范围的单独的多边形shapefile用作“差异”层。一个示例应用程序是在应从分析中排除的结构之间收集的采样点周围创建多边形。 这里出现两个问题: “差异”功能似乎无法100%正常工作,某些多边形边界延伸到“孔”中。可以通过在属性表中找到没有多边形ID号(或ID为“ 0”)的行来解决此问题。 这种类型的事后“打孔”可能会导致不连续的多边形,如图像中的红色箭头所示。 我的问题是:是否有一个Voronoi工具或插件可以一步一步地考虑在域中心出现“孔”,并且还消除了不连续多边形的生成?我设想,这样的工具将把多边形边界扩展到与另一个边界最近的相交点,除非其他边界先向“孔”边界猛冲。


2
获取延伸到另一个多边形边界的voronoi多边形
我在一个区域(浅蓝色)中有一些集线器(黄色)。我需要找到指示该区域中每个点最近的枢纽的多边形。 我使用QGIS获得的voronoi多边形在图像中被涂成棕色。但是,我需要voronoi多边形来填充外部边界,因为我需要多边形来填充整个区域。 在制作voronoi多边形时添加缓冲区,然后使用相交函数将多边形裁剪到区域边界,这使我错了多边形,如下图所示: 如何生成所需的voronoi多边形?

1
如何对不均匀采样的分类数据进行网格化?
我正在寻找一种网格分类数据的方法。我从航海图和领域表中提取了一些点集合,这些点指定了海洋底部表面的性质。这些数据是分类数据,而不是数字数据,它们不是定期甚至随机抽样的。创建航海图以帮助导航和锚定;它们不是为绘制栖息地而创建的。因此,在岸边附近会有更多的探测声,在这些探测声中,相对浅的深度可能会对航行造成危险,并且船只倾向于停泊。离海岸较远,那里的深度足以进行导航和锚固是不切实际的,因此发声的频率要低得多。 有没有其他人试图从航海图创建网格化的底图? 我查看了蒂森(Vornoi)多边形,但是沿海岸的测深集中导致沿海岸,远海的大型多边形以及在远处呈扇形延伸的长饼形多边形之间的精细“蜂窝”。使用最近邻居的网格产生的结果几乎相同。 我需要一种方法来限制浅水,近岸点的影响-一种方法来限制那些长的饼形多边形。在更深的水域中,我不认为底部的性质将是近岸底部的延续。我开始沿着两条线思考-都使用深度。一种方法是使用网格像元与相邻点之间的深度差来加权“最近”邻居的选择。另一个是取消选择深度大于某些指定公差的相邻点。或者,也许不是预先指定的公差,我可以对深度范围进行分类,然后将相邻点的选择限制为相同深度范围或分类中的点。 关于如何实现这两个选项中的任何一个想法? 自从在其他论坛上与同事交谈以来,我一直在研究其他两种方法。第一种方法是使用障碍物(深度为100m的轮廓)来限制近岸数据的影响。这种方法的挑战在于,可以使用障碍的任何ESRI插值例程都旨在处理连续数据而不是不连续数据。在创建Thiessen多边形之前,我可以使用障碍物将点分解为较浅的近岸点和较深的点。但是,由于ArcGIS为矩形区域而不是复杂区域创建了Thiessen多边形,因此我预计边缘效果会很猖ramp。 由一些同事建议的第二种方法是克里金法。最初,我一度不理会克里金法,因为我只考虑了连续数据。克里金法的挑战在于它也不是为分类数据而设计的。现在,我正在研究表面深度和性质的协同克里金法,但是任何类型的克里金法都将涉及使用整数数值表示表面性质。之后,必须将所得的浮点数字代码还原为原始整数编码。不漂亮。 任何人都可以建议其他路线吗?(也许可以使用地形分析。例如,比休止角陡的斜坡不可能是沉积物。我正在寻找更简单的东西,无论如何,我没有足够的空间分辨率的数据。) 问候,

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.