在ArcGIS Desktop中计算多边形宽度?


10

使用ArcGIS 9.3.1或10是否容易计算多边形的宽度?

我找到了9.1的一些脚本,但它们无法工作。我可以在最宽,最窄或平均处使用宽度。它不需要很精确,但是需要某种程度的自动化,因为我要计算几百个。


1
如果几年后有人来寻找答案:gis.stackexchange.com/a/181801/10919
Tom

Answers:


6

多边形的宽度可以使用最小面积边界矩形获得。此链接...界定容器...一个提供了一种解决方案。将其计算为矩形的“长度”和“宽度”中的最小值。它适用于ArcMap的所有许可级别(更新至2016年1月)


这个答案是5岁。自发布此答案以来,是否已对ArcGIS进行任何更新或执行任何其他方法?
dassouki

1
@Dassouki Dan Patterson(在此主题的其他地方发布)多年来一直在为这类解决方案编写代码。他是我要去寻找ArcGIS中的更新和新解决方案的第一个地方。
ub

@whuber更新了链接...感谢大家注意

1

这只是对您问题的部分答案,但可能是正确方向的指针。为了明确起见,这将在最宽的点找到多边形信封的宽度。将字段类型为double的属性添加到功能中。打开字段计算器,然后单击“高级”。将此代码粘贴到代码块中,并将您创建的字段设置为等于Ouput

Dim Output As Double
Dim pPoly as IPolygon
Set pPoly = [Shape]
Dim pEnve as IEnvelope
Set pEnve = pPoly.Envelope
Output = pEnve.Width

在9.3.1中工作。最初在这里发布。


这似乎是信封的宽度:这似乎不是OP要求的。
Whuber

我修改了答案以澄清这一点,感谢您指出。最初的问题确实说它不需要精确,因此信封的宽度可能就足够了。
Zachary

1
不幸的是,信封的宽度几乎不尽人意。例如,当特征沿垂直方向与其宽度对齐时,封套的“宽度”实际上估计特征的长度。您开发封套宽度的想法已在代码中使用,该代码在寻找最小封套宽度时系统地旋转了要素:在许多情况下,这是合理的宽度合理估计。我相信Dan Patterson在ArcScripts上也有这种贡献。
Whuber
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.