Menemukan kelompok satu set poin di sekitar set poin lain dari lapisan yang berbeda?

10

Saya ingin melihat apakah ada pengelompokan jenis bangunan tertentu (x) di sekitar jenis bangunan lain (y).

File dua titik berada di lapisan yang berbeda.

Saya tidak tahu alat apa yang akan saya gunakan untuk melakukan ini.

Nikki
sumber

Jawaban:

9

Tak satu pun dari alat out-of-the-box di ArcGIS (atau GIS lainnya, AFAIK) akan melakukan pekerjaan dengan benar.

Dalam masalah seperti ini Anda perlu mengukur apa yang Anda maksud dengan "pengelompokan" dan kemudian Anda perlu menempatkan model probabilitas untuk menilai apakah tingkat pengelompokan yang diukur bisa dihasilkan oleh peluang yang tidak disengaja.

Sebagai contoh cara melanjutkan, Anda dapat memilih untuk mengukur pengelompokan dalam hal jarak tipikal antara bangunan tipe x dan bangunan terdekat tipe y . Ini adalah perhitungan yang mudah: hanya mewakili kedua set bangunan dengan lapisan titik yang terpisah dan melakukan gabungan spasial dari Y ke X. Tabel atribut, yang masih memiliki satu catatan untuk setiap tipe x gedung, sekarang akan menyertakan jarak ke y terdekat . Anda bisa menggunakan jarak rata-rata sebagai ukuran Anda.

Menguji apakah ini bisa merupakan hasil kebetulan, lebih sulit. Salah satu interpretasi yang masuk akal dari pengaturan ini adalah bahwa keberadaan bangunan tipe y sebelumnya mendorong pengembangan bangunan tipe x yang relatif dekat dengan bangunan y . Kalau tidak, kita mungkin berhipotesis bahwa bangunan tipe x bisa dibangun di mana saja bangunan lain juga muncul. Ini mengarah ke tes permutasi sederhana berikut . Buat layer titik dari semua lokasi yang mungkin di mana bangunan tipe x mungkin telah muncul. Lapisan ini bisa menjadi lokasi semua bangunan di daerah yang didirikan selama periode yang sama dengan xbangunan itu (termasuk x bangunan itu sendiri, tentu saja). Secara spasial gabungkan layer y untuk mendapatkan jarak ke bangunan tipe y terdekat . Sisa perhitungan bekerja dari tabel atribut: perhitungan geografis dilakukan. Apa yang akan Anda lakukan adalah berulang kali menggunakan generator angka acak untuk mengambil sampel acak sederhana dari semua bangunan ini, masing-masing sampel memiliki elemen persis sebanyak yang Anda miliki x jenis bangunan. Hitung jarak rata-rata untuk sampel ini. Ulangi sampai Anda memiliki banyak statistik jarak rata-rata. Jika hampir semua jarak rata-rata yang diperoleh secara acak ini lebih besar dari jarak rata-rata yang Anda ukur untuk xketik bangunan, Anda dapat menyimpulkan bahwa x tidak terkelompok secara kebetulan: efeknya nyata.

(Perhitungan seperti itu paling baik diprogram pada platform yang cocok untuk keperluan seperti itu, seperti `R ', tetapi hampir semua perangkat lunak komputasi dapat ditekan ke dalam layanan, bahkan Excel. Pemrogramannya sangat, membutuhkan sedikit lebih banyak daripada mengetahui cara menulis loop dan memilih elemen dari array secara acak.)

Pendekatan pengujian permutasi ini lebih unggul daripada solusi yang diprogram sebelumnya karena secara eksplisit memperhitungkan pola pengembangan bangunan di area ini. Jika Anda tidak melakukan ini, Anda akan sering menemukan bukti "signifikan" pengelompokan, tetapi Anda tidak dapat menyimpulkan sesuatu yang berguna darinya, karena pengelompokan mungkin disebabkan oleh faktor-faktor lain seperti pola jalan, lokasi situs yang cocok untuk pengembangan, dan banyak hal lainnya.

whuber
sumber
1
Saya menyadari bahwa jawaban ini sedikit abstrak. Ketika saya memiliki lebih banyak waktu, saya akan mencoba membuat ilustrasi yang realistis.
whuber
Bagi mereka yang menggunakan R, saya akan merekomendasikan memberikan paket spatstat ( cran.r-project.org/web/packages/spatstat/index.html ) mencari analisis cluster.
om_henners
2

Tentu saja, metode analisis data Anda harus bergantung pada masalah substantif yang memotivasi analisis.

Tapi ini beberapa ide:

Dari ESRI:

Bagaimana Analisis Multi-Distance Spuster Cluster: Ripley's k-function (Spatial Statistics) bekerja , di mana i dan j dalam persamaan akan menunjukkan bangunan Anda x dan y. Fungsi-K Ripley akan memberikan inferensi probabilistik.

Dari ilmu komputer:

Ada algoritme kompleks untuk penemuan pola co-location yang Anda dapat google.

b_dev
sumber
"Ide alur sederhana" menarik tetapi Anda perlu membandingkannya dengan: dengan sendirinya sulit untuk mengekstrak informasi yang berguna darinya. Fungsi K Ripley adalah alat yang berguna juga, tetapi sayangnya dalam banyak kasus hanya mencerminkan geometri dari dataset. Dengan rumah-rumah di daerah pinggiran kota atau pedesaan, yang cenderung terletak di sepanjang fitur linear (jalan), fungsi K jelas akan menunjukkan pengelompokan "signifikan" karena alasan ini saja. Karena itu tidak ada yang berguna tentang rumah selain yang dibangun di dekat jalan!
whuber
@whuber 1st terima kasih atas penjelasan masalah fungsi K Ripley. Kedua, ketika kita melihat plot harga saham dari waktu ke waktu, kita dapat mencari tren umum naik atau turun atau acak, juga kita dapat memilih waktu bahwa ada penurunan atau kenaikan besar dan bertanya mengapa. Alur bagaimana konsentrasi bangunan berubah karena perubahan jarak dapat digunakan dengan cara yang sama. Ini dapat digunakan untuk mencari paku dalam konsentrasi, yang merupakan bukti terhadap distribusi acak, juga dapat digunakan untuk memfokuskan penyelidikan lebih lanjut dari paku yang ingin tahu.
b_dev
Kamu benar. Maksud saya adalah bahwa plot dalam dan dari dirinya sendiri memberitahu kita apa-apa tentang clustering. Mungkin analogi yang baik (daripada harga saham) adalah peta choropleth dari jumlah kasus kanker ginjal oleh negara 2000-2010 di AS. Itu juga tidak memberi tahu kita apa pun tentang pengelompokan (geografis) karena tidak memperhitungkan variasi populasi antar negara. Demikian pula, plot lintas-K membutuhkan normalisasi atau referensi yang cocok untuk dapat ditafsirkan. Tren umum, paku, dll., Mungkin hanya mencerminkan pola geografis semua lokasi bangunan.
whuber
@whuber Kamu benar. Setelah membaca komentar Anda di atas, saya telah memutuskan Ide Plot Sederhana saya tidak akan memberikan banyak informasi, setidaknya seperti yang dijelaskan, jadi saya telah menghapusnya agar tidak membingungkan orang. Saya sekarang percaya Statistik Hitungan Gabungan adalah metode paling sederhana untuk mendekati masalah.
b_dev
2

Saya sendiri belum pernah melakukan analisis klaster dalam GIS, tetapi apakah akan lebih mudah jika Anda membuat titik / poligon untuk mewakili gugus X dan / atau Y yang diberikan. Misalnya, jika Anda membuat poin untuk menandakan bangunan Y, Anda dapat kemudian gunakan alat Point Distance untuk mendapatkan semua titik bangunan X dalam jarak tertentu dari lokasi asal Anda.

Jika tidak, membuat buffer di sekitar bangunan tipe Y dan memilih semua bangunan tipe X akan mencapai hasil yang sama jika Anda tidak memiliki ArcInfo.

Nathanus
sumber
0

Anda bisa menggabungkan kedua lapisan dengan menambahkan kolom biner (0,1) untuk mengidentifikasi apakah bangunan itu dari X atau Y.

Dari sana menggunakan GeoDa Anda dapat mengidentifikasi auto-korelasi spasial lokal (clustering) dan menentukan apakah itu tinggi-rendah (satu lapisan berkerumun di sekitar lapisan lain) rendah-tinggi (kebalikan) atau tinggi-tinggi atau rendah-rendah (mandiri) pengelompokan). Panduan pengguna di sini (.pdf)

raphael
sumber