Menghitung area dominan dalam poligon menggunakan ArcGIS Desktop?

8

Pertama, saya memiliki shapefile yang terdiri dari kisi-kisi persegi dan setiap kisi memiliki ID. Kedua, saya memiliki shapefile yang terdiri dari berbagai zona (dengan ID).

ID grid di shapefile pertama dapat berisi banyak ID zona dari shapefile kedua.

Saya ingin tahu apa ID zona dominan di dalam kisi dan mencatatnya dalam tabel. Saya hanya ingin tahu zona dominan (dalam hal area) dan bukan zona lain yang memotong kisi itu. Pada akhirnya, saya ingin tabel 2 kolom dengan semua ID kisi di kolom pertama dan ID zona dominan yang sesuai (atau zona terbesar dalam hal area) di kolom kedua.

Berikut adalah contoh sampel. Dengan hanya melihat gambar, saya dapat mengatakan bahwa di ID Grid 1, zona / area dominan adalah ID Zona 1. Di ID Grid 2, zona / area dominan adalah ID Zona 2. Dan di ID Grid 3, zona dominan / area adalah Zone ID 3. Saya ingin memiliki tabel dengan dua kolom, dengan setiap kisi hanya menampilkan ID dari area dominan.

masukkan deskripsi gambar di sini

GISnew
sumber

Jawaban:

8

MEMASUKKAN:

masukkan deskripsi gambar di sini

Setelah melarutkan zona, gunakan WORKFLOW berikut:

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")

OUTPUT MENUNJUKKAN "SORTED" DAN GRID:

masukkan deskripsi gambar di sini

Transfer ID zona dominan ke layer grid dari "diurutkan", menggunakan gabungan dengan atribut, jika perlu.

Pembaruan penting setahun kemudian: setiap zona harus berupa poligon tunggal yang berpotensi multi bagian. Jika ini bukan kasus, lapisan zona asli harus dibubarkan berdasarkan nama zona.

FelixIP
sumber
6

Ok saya rasa saya ikuti pertanyaannya. Saya mencoba ini dengan set data uji. Saya menggunakan geodatabase sehingga area tersebut dihitung (disarankan). Jika Anda harus menggunakan shapefile, hitung bidang dengan geometri untuk shape_area sebelum Anda melakukan langkah 2. Saya memiliki lapisan poligon bernama Poly dan kisi jaring ikan bernama FNET. Poli memiliki bidang (MTYPE) dan nilai 1 (maroon), 2 (hijau), atau 3 (ungu) (warna dari tangkapan layar 1).

masukkan deskripsi gambar di sini

Langkah 1. Persimpangan 2 layer. Operasi Persimpangan

Sekarang output dari langkah pertama memberi Anda bidang FID untuk setiap lapisan (dalam mycase itu adalah FID_FNET dan FID_Poly).

Cuplikan layar memperlihatkan bagaimana FID untuk masing-masing dipertahankan (325 adalah sel kisi dan masing-masing memiliki 1, 2, dan 3). Cuplikan layar menunjukkan bagaimana FID untuk masing-masing dipertahankan

Langkah 2. SUMMARIZE (maaf tangkapan layarnya terlihat seperti "Statistik" tetapi gunakan Ringkas.

Ringkas (tunjukkan tabel)

Langkah 2 (lanjutan). Lakukan Meringkas pada FID_FNET dan atur seperti pada tangkapan layar berikutnya sehingga Anda mendapatkan hasil maksimal pada bidang Shape_Area ...

Parameter untuk Meringkas

Langkah 3. Lakukan join menggunakan output dari operasi intersect dan tabel (gabung tabel ke intersect) dan basiskan join pada shape_area dari output intersect dan "Max_shape_area" dari tabel.

Nilai nol dapat diabaikan (mereka adalah yang TIDAK maksimal) atau dihapus (lebih baik lagi). dan hasil menggunakan tabel bergabung adalah daftar catatan FID_FNET yang juga memiliki FID_POLY yang cocok dengan nilai (MAX) terbesar untuk setiap sel kisi!

Tangkapan layar terakhir ini menunjukkan bagaimana saya mengatur gabung. IKUTI

jbchurchill
sumber
Terima kasih banyak @ jbchurchill. Saya akan mencobanya pada dataset saya dan akan memberi tahu Anda nanti jika berfungsi.
GISnew
Saya mengikuti setiap langkah. Saya memiliki file intersect dengan sekitar 34.000 catatan. Setelah langkah meringkas, saya mendapat meja dengan 30.000 catatan. Ketika saya mencoba bergabung dengan mereka, itu hanya bergabung dengan kurang dari 100. Saya bingung dengan apa yang terjadi pada yang lain. Bisakah ArcMap bergabung dengan banyak catatan ini?
GISnew
Sebenarnya area yang tidak cocok adalah sisa "area non-dominan" sehingga Anda tidak perlu khawatir. Jika tidak, mereka berada di luar area yang tumpang tindih.
jbchurchill
Ini luar biasa. Saya tidak mencari yang maksimal tetapi ini masih banyak membantu saya. Saya hanya ingin tahu, Area Bentuk di tabel terangkum, apa unitnya?
AndrewLebron
@AndrewLebron (dengan desain) selalu sama dengan unit horizontal untuk kelas fitur, jadi lihatlah properti input.
jbchurchill