ArcGIS Desktop如何计算要素点的INSIDE点?


11

让我备份并说,据我所知,有两种常见的方法可以在ArcGIS Desktop中计算多边形的质心:

  1. 在要素类的属性表中的字段上使用“计算几何”。
  2. Data Management -> Features -> Feature to Point从工具箱使用。

这些都给出相同的结果-多边形的几何质心。但是,不能保证该点位于多边形内。

Feature to Point工具具有一个内部复选框选项,根据文档所述:

将输入要素包含的位置用作其输出点位置。

我想知道的是,ArcGIS Desktop如何计算这一点以及它的“理论”含义(如果可以的话)。


2
鉴于ESRI文档的总体模糊性,您可能必须通过测试对流程进行反向工程。15年前,当我使用AV 3.x进行此操作时,算法是(1)找到几何质心,然后(2)将其水平移动到多边形内的最近点。
ub

@whuber-在这种情况下,即使质心本身在多边形内,内点也可以不同,因此我认为它是完全不同的计算
mindless.panda

3
ESRI网站上的这个论坛帖子很有趣,而且似乎表明它是一个黑匣子。
mindless.panda

在9.3.1中使用python时,我比较了一些生成“质心”的可能方法。可以在这里看到!在ESRI论坛中。
SaultDon 2011年

@mindless在旧算法中,如果质心在多边形内,则它当然不会移动:它与多边形内的最近点重合。但是,您发现的论坛帖子使此问题无济于事:ESRI更改了算法。我不会推断出它是“完全不同的”。它可能只是对旧版本的改进。但是,对它进行逆向工程并不容易。
ub

Answers:


4

这些算法是专有的,但是这里有两个基本概念。质心使用重心算法(有许多种不同的计算方法)。“内部”复选框计算质心,但是如果该点落在外部,则将其移动到内部,因为在某些情况下这是理想的。

在ArcObjects级别,这些方法被定义为质心标签点。有关示例图像,请参见“质心”链接。


虽然这不能告诉我们内部点的计算方式,但可以告诉我们其与标签点的同义词。
mindless.panda

1

我们已经使用了ArcMap 10.3。通过计算几何来计算(1)具有内部选项的特征指向(2)具有内部选项的特征指向(3)质心。

(2)和(3)中的点共享位置,有时这些点在面之外。(1)按预期在多边形内创建点,与(3)和(2)中的点基本相同。有时(1)中的点是不同的,即使(3)或(2)中的点位于多边形(!)的内部:我们也无法检测到空间平移以接收内部点的必要性。

(1)中的偏移点未严格沿WE或NS方向偏移。有时,不必要地移动的点位于绝对不代表重力点的位置,这是意外的。

科学工作必须具有可重复性。我们找不到该算法的文档,也找不到任何解释,特别是在没有必要的地方。因此,ESRI特征质心不适用。

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.