ArcGIS Desktopを使用してポリゴンの主要領域を計算していますか?


8

まず、正方形のグリッドで構成されるシェープファイルがあり、各グリッドにはIDがあります。2番目に、(ID付きの)異なるゾーンで構成されるシェープファイルがあります。

最初のシェープファイルのグリッドIDには、2番目のシェープファイルからの多くのゾーンIDを含めることができます。

グリッド内の主要なゾーンIDを知り、それをテーブルに記録したい。支配的なゾーン(面積の観点から)のみを知り、そのグリッドと交差する残りのゾーンは知りません。最後に、最初の列にすべてのグリッドIDがあり、2番目の列に対応する支配的なゾーンID(または面積に関して最大​​のゾーン)がある2列のテーブルが必要です。

これはサンプルの図です。図を見るだけで、グリッドID 1で支配的なゾーン/エリアがゾーンID 1であることがわかります。グリッドID 2で支配的なゾーン/エリアがゾーンID 2であり、グリッドID 3で支配的なゾーン/エリアです。 / areaはゾーンID 3です。2つの列があり、各グリッドに主要なエリアのIDのみが表示されているテーブルが欲しいです。

ここに画像の説明を入力してください

回答:


8

入力:

ここに画像の説明を入力してください

ゾーンを溶解した後、次のワークフローを使用します。

arcpy.Intersect_analysis("GRID #;ZONE #","D:/Scratch.gdb/intersect")
arcpy.Sort_management("intersect", "D:/Scratch.gdb/sorted","Shape_Area DESCENDING")
# DELETE MINORITIES USING GRID ID 
arcpy.DeleteIdentical_management("sorted", "ID")

出力に「並べ替え」とグリッドが表示されます。

ここに画像の説明を入力してください

必要に応じて、属性による結合を使用して、「ソート済み」からドミナントゾーンIDをグリッドレイヤーに転送します。

1年後の重要な更新:各ゾーンは、単一の、おそらくマルチパートのポリゴンでなければなりません。これが当てはまらない場合は、元のゾーンレイヤーをゾーン名で分解する必要があります。


6

わかりました。私はテストデータセットでこれを試みました。ジオデータベースを使用して、面積を計算しています(推奨)。シェープファイルを使用する必要がある場合は、手順2を実行する前に、shape_areaのジオメトリを使用してフィールドを計算します。PolyというポリゴンレイヤーとFNETというフィッシュネットグリッドがあります。Polyにはフィールド(MTYPE)があり、値は1(栗色)、2(緑)、または3(紫)(最初のスクリーンショットの色)です。

ここに画像の説明を入力してください

ステップ1. 2つのレイヤーを交差させます。 交差操作

この最初のステップからの出力は、各レイヤーのFIDフィールドを提供します(私の場合、それはFID_FNETとFID_Polyです)。

それぞれのFIDがどのように保持されるかを示すスクリーンショット(325はグリッドセルであり、1、2、3がそれぞれ1つずつ含まれています)。 それぞれのFIDがどのように保持されるかを示すスクリーンショット

ステップ2.要約(スクリーンショットは「統計」のように見えますが、要約を使用してください。

要約(表を表示)

ステップ2(続き)。FID_FNETで要約を行い、次のスクリーンショットのように設定して、Shape_Areaフィールドで最大値を取得します...

要約のパラメーター

ステップ3.交差操作とテーブルの出力を使用して結合を行い(テーブルを交差に結合)、交差の出力からのshape_areaとテーブルからの "Max_shape_area"に基づいて結合を行います。

null値は無視することも(最大値ではなかったもの)、削除することもできます(まだましです)。結合テーブルを使用した結果は、各グリッドセルの最大(MAX)値と一致するFID_POLYもあるFID_FNETレコードのリストです。

この最後のスクリーンショットは、結合を設定する方法を示しています。 参加する


@jbchurchill、どうもありがとうございました。私は私のデータセットでそれを試してみて、それが機能するかどうか後で通知します。
GISnew 2016年

私はあらゆるステップに従いました。約34,000レコードの交差ファイルがあります。要約のステップの後、30,000レコードのテーブルを取得しました。私が彼らに参加しようとしたとき、それは100人未満しか参加しませんでした。私は残りに何が起こったか混乱しています。ArcMapはこれだけの数のレコードに参加できますか?
GISnew

実際には一致しない領域は、残りの「非支配的な領域」なので、心配する必要はありません。そうでない場合、それらは重なり合う領域の外側にあります。
jbchurchill 2016年

これは素晴らしいです。私は最大を探していませんでしたが、これはそれでも私に多くを助けました。集計表のシェイプエリアの単位を教えてください。
AndrewLebron 2017年

@AndrewLebronこれは(設計上)常にフィーチャクラスの水平単位と同じであるため、入力のプロパティを確認してください。
jbchurchill 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.