找到适合不规则多边形的圆的最大半径?


9

我有一个问题,可以使用ArcGIS Spatial Analyst工具箱中的“ 区域几何”工具来解决。但是我没有Spatial Analyst的许可证,因此我正在寻找替代方案。可能使用QGIS。

如何找到适合不规则多边形的圆的最大半径?

请注意,多边形可以是凸包或凹包(如下所示),并且解决方案必须同时解决这两个问题。


我尝试了约瑟夫的解决方案,但不幸的是结果不是我想要的。

首先,我确实有非常不规则的多边形,例如:

我的多边形

如果我遵循约瑟夫的描述,结果将如下所示:

结果

这肯定是该解决方案后的结果,但这不是我的问题的答案。

对我来说重要的是要回答一个问题,即圆的最大半径有多大,以便无论圆的中心在哪里,圆都仍完全位于多边形内部。

例如,多边形的北部有更多的空间,因此可以放置一个比多边形的南部大得多的圆。但是,这个圆圈有多大?


1
欢迎使用GIS:SE!您是否在寻找Zonal Statistics之类的东西?
约瑟夫

2
也许我有点盲目,但找不到我的问题的已有答案。我认为此页面顶部的链接“如何计算多边形的栅格统计信息”不适合我的问题。还有更多想法吗?
基督教徒

Answers:


6

如果您想知道所提到的多边形内圆的最小半径(而不是使用Zonal Statistic可以做的栅格),则将需要一些步骤:

  • 拿起多边形图层(在一个非常简单的示例中显示),然后使用“ 向量” >“ 几何工具” >“ 多边形重心”。我们稍后将使用此“中心点”输出。

简单多边形

  • 接下来,使用SAGA函数从“处理工具箱”中将多边形转换为线
  • 再次使用输出线图层,然后使用SAGA中的“ 将线转换为点”(减小点距离以生成更多点,这可以最终帮助您获得更准确的结果)。

多边形分析

  • 现在,我们可以使用“工具箱”中的“ 距离最近的中心”功能。选择从线转换为点的图层作为源点图层 ; 并选择“中心点”层作为“ 目标集线器层”。运行此命令后,您将收到一个输出层,其中包含从每个外围点到中心点的距离:

到点的距离

距离属性

最小距离应为该多边形内圆的最小半径。我们可以通过在中心点图层上创建一个缓冲区矢量 > 地理处理工具 > 缓冲区)并将该属性表的最小距离复制/粘贴到“ 缓冲区距离”选项中来进行测试:

缓冲


2
做得非常好!
WhiteboxDev 2014年

2
在研究一个最近希望基本做同样事情的问题时发现了这一点。虽然起初我认为这可能会解决它们的问题,但在通读您的步骤时,似乎存在一个重大缺陷,即该过程仅适用于凸包而不是凹包的多边形。这在明显的问题编辑中得到了证明。这样的形状的质心不一定会落入其中,即使您看到了它,也可以看到两端比示例形状的中间(最小轮毂距离要小)大。
克里斯·W

@ChrisW-感谢好友提到,您是对的,本文并未完全回答问题。希望有一种方法可以同时处理凸壳和凹壳,或者至少解决其中的一个!
2015年

2
如果您还没有看到它们,那么ET Geowizards似乎为此提供了一个工具,而另一个用户编写了一个脚本来完成此任务。可以在链接的问题gis.stackexchange.com/questions/147790中
克里斯·W

@ChrisW-太好了,还没有看到这个帖子,非常感谢您提及它!
约瑟夫

3

有点晚了,但是我试图找到相同的东西,所以我在过程工具中找到了它,现在在QGIS 3x中(我不知道以前的版本是否可以处理),有一个工具用西班牙语被命名为“ polo de inaccesibilidad”,交通不便。

在此处输入图片说明

使用它可以创建点层,这些点位于多边形内最远的位置。此最大距离已添加为属性 在此处输入图片说明

在此处输入图片说明

然后,只需使用缓冲工具在点图层上使用此距离绘制圆,您将获得多边形内最大的圆

在此处输入图片说明

在此处输入图片说明


2
  1. 查找中心点圆
  2. 连接中心点
  3. 查找相连圆之间的中点
  4. 以中心为焦点,以中点为双曲线来构造双曲线
  5. 查找夸张的交点
  6. 将相交双曲线与中心圆连接
  7. 在周长圆上找到交点。
  8. 构造圆。

在此处输入图片说明

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.