Mengelompokkan poligon bersebelahan sudut-menyentuh menggunakan ArcGIS Desktop?

12

Menggunakan ArcGIS 10, saya memiliki Kelas Fitur yang saya konversi dari Raster (GRID) (Raster To Polygon Tool).

  • Ada sekitar. 180.000 poligon.
  • Tabel atribut berisi bidang [grid_code] yang harus saya pertahankan.
  • Jika satu atau lebih poligon berdekatan dengan sudut yang menyentuh DAN mereka memiliki nilai [grid_code] yang sama, maka saya ingin mengelompokkannya (pada dasarnya larut) menjadi satu poligon (catatan).
  • Maka saya perlu menghitung area poligon yang dikelompokkan.

Menggunakan Select By Location Tool, saya dapat berhasil memilih poligon yang perlu saya kelompokkan, tetapi bagaimana cara mengonversinya menjadi SATU poligon, sambil mempertahankan [grid_code]?

mjn
sumber
3
Sudahkah Anda mempertimbangkan menjalankan perintah Grup Wilayah sebelum mengonversi raster ke poligon?
Kirk Kuykendall
1
Kirk benar sekali: Anda ingin melakukan perhitungan ini dengan kisi asli, di mana ia akan cepat dan efisien, daripada dalam format vektor keluaran, di mana ia akan lambat dan menyakitkan.
whuber
2
Terima kasih, Kirk dan Bill. Ya, Grup Wilayah adalah alat yang tepat. Sayangnya, menggunakan Region Group pada dataset besar saya menyebabkan striping horisontal, kesalahan Spatial Analyst. Garis-garis ini telah didokumentasikan sejak Desember 2009, tetapi sekarang, menggunakan ArcGIS 10, masalah ini MASIH ada. Anda dapat membaca semua tentang ini di sini: [tautan] ( forums.arcgis.com/threads/... ) Pekerjaan saya adalah menulis output dari alat Grup Wilayah ke ArcInfo Workspace kuno yang bagus sebagai GRID. Itu sepertinya memperbaikinya!
mjn
Tanpa itu, dan diberi bug RegionGroup, Anda harus melakukan perhitungan variasi fokus 2x2 untuk mengidentifikasi sudut potensial (varietas harus 3 atau 4) dan kemudian menggunakannya untuk membuat tabel potensi sudut-ke- hubungan sudut di antara poligon, yang dapat (sangat) merampingkan pencarian poligon yang menyentuh sudut. Betapa
menyebalkan
Perlu diingat bahwa jika poligon hanya berbagi satu titik, Anda memperkenalkan persimpangan-sendiri dan dengan demikian membatalkan geometri.
Jim B

Jawaban:

2

Anda bisa melarutkan poligon yang berdekatan dengan nilai id umum dengan menggunakan Alat Dissolve .

  1. Pilih bidang Kode kisi Anda sebagai "Dissolve_Field (opsional)"
  2. Di bagian bawah formulir alat, centang kotak "Garis tidak terputus (opsional)".
  3. Buat bidang area
  4. Klik kanan bidang area dan pilih Hitung Geometri
artwork21
sumber
2

Itu banyak poligon. Saya juga akan menemukan solusi dalam format raster terlebih dahulu ketika topologi lebih mudah ditangani. Tetapi jika Anda tidak ingin menulis kode, Anda dapat:

  1. Pilih kode kotak yang diberikan.
  2. buffer kode grid dengan jumlah yang sangat kecil (opsi buffer digabung)
  3. buffer hasilnya secara negatif oleh hal yang sangat kecil.

Akan ada sedikit pembulatan dalam geometri.

Untuk membuat layer tunggal, memotong layer kode grid yang dihasilkan dan bersih untuk menghapus sliver poligon.

AnserGIS
sumber
-1

Saya akan, secara pribadi, menulis kode yang dilingkarkan melalui poligon, dan memeriksa pada 4 sudut koordinat poligon sama dengan sudut poligon lainnya dan menyebutnya secara rekursif - Flood fill demikian.

Saya melakukan ini dengan kisi-kisi netCDF untuk membuat poligon yang serupa.

Pilihan lain adalah melakukan ini secara progamatic dengan root.

Berbulu
sumber
Komentar telah dibersihkan ketika mereka terdegradasi menjadi pertengkaran dan / atau kebisingan yang tidak ada gunanya, dan seluruh rangkaian tidak dapat diselamatkan.
Mapperz