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]?


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

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.


-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.


Komentar telah dibersihkan ketika mereka terdegradasi menjadi pertengkaran dan / atau kebisingan yang tidak ada gunanya, dan seluruh rangkaian tidak dapat diselamatkan.
Mapperz
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.