ArcGIS Desktopでポリゴンの幅を計算していますか?


10

ArcGIS 9.3.1または10を使用してポリゴンの幅を簡単に計算できますか?

9.1用のスクリプトをいくつか見つけましたが、機能しません。幅は、最も広いポイント、最も狭いポイント、または平均で使用できます。正確である必要はありませんが、計算には数百人いるため、多少自動化する必要があります。


1
数年後に誰かが答えを探しに来た場合:gis.stackexchange.com/a/181801/10919
Tom

回答:


6

ポリゴンの幅は、最小領域境界長方形を使用して取得できます。このリンク...境界コンテナ...は1つのソリューションを提供します。これを長方形の「長さ」と「幅」の最小値として計算します。ArcMapのすべてのライセンスレベルで使用できます(2016年1月に更新)


この回答は5歳です。この回答の投稿以降、ArcGISまたはこれを行うその他の方法に更新はありましたか?
dassouki

1
@Dassouki Dan Patterson(このスレッドの他の場所に投稿した人)は、長年にわたってこの種のソリューションをコーディングしてきました。彼は、ArcGISで更新と新しいソリューションを探すために私が最初に行く場所です。
whuber

@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

私はそれを明確にするために私の答えを編集しました、それを指摘してくれてありがとう。元の質問では、正確である必要はないため、封筒の幅で十分な場合があります。
ザッカリー

1
封筒の幅は、残念ながら手に入るほど正確ではありません。たとえば、フィーチャが垂直方向の幅に揃えられている場合、エンベロープの「幅」は実際にフィーチャの長さを推定します。エンベロープの幅を利用するというあなたのアイデアは、最小エンベロープ幅の検索で機能を体系的に回転させるコードで使用されています。多くの場合、これは正当な幅の見積もりであると主張しています。Dan Pattersonは、ArcScriptsでこの性質の貢献をしていると思います。
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.