Bagaimana cara ArcGIS Desktop menghitung titik DALAM untuk Feature to Point?

11

Izinkan saya mencadangkan dan mengatakan bahwa dari apa yang saya pahami ada dua cara umum untuk menghitung centroid poligon di ArcGIS Desktop:

  1. Menggunakan Hitung Geometri pada bidang dalam tabel atribut dari kelas fitur.
  2. Menggunakan Data Management -> Features -> Feature to Pointdari kotak alat.

Keduanya memberikan hasil yang sama - centroid geometris poligon. Namun, tidak ada jaminan bahwa titik tersebut terletak di dalam poligon.

Alat Feature to Point memiliki opsi kotak centang di dalam, yang sesuai dengan dokumentasi:

Menggunakan lokasi yang dikandung oleh fitur input sebagai lokasi titik keluarannya.

Yang ingin saya ketahui adalah bagaimana titik ini dihitung oleh ArcGIS Desktop dan apa artinya "teoritis", jika itu masuk akal.

mindless.panda
sumber
2
Mengingat ketidakjelasan umum dokumentasi ESRI, Anda mungkin harus merekayasa balik prosedur dengan menguji. Ketika saya melakukan ini dengan AV 3.x 15 tahun yang lalu, algoritme-nya adalah (1) menemukan centroid geometris dan kemudian (2) memindahkannya secara horizontal ke titik terdekat di dalam poligon.
whuber
@whuber - dalam hal ini titik dalam dapat berbeda bahkan jika centroid itu sendiri ada di dalam poligon, sehingga membuat saya berpikir itu perhitungan yang sama sekali berbeda
mindless.panda
3
Posting forum ini di situs ESRI menarik dan sepertinya mengindikasikan kotak hitamnya.
mindless.panda
Menggunakan python di 9.3.1, saya membandingkan beberapa cara yang mungkin untuk menghasilkan 'centroid'. Bisa dilihat di sini ! di forum ESRI.
SaultDon
@mindless Dalam algoritma lama, jika centroid berada di dalam poligon, tentu saja itu tidak bergerak: bertepatan dengan titik terdekat di dalam poligon. Namun, pos forum yang Anda temukan membuat masalah ini diperdebatkan: ESRI telah mengubah algoritme. Saya tidak akan menyimpulkan itu "sangat berbeda," meskipun. Mungkin hanya penyempurnaan dari yang lebih tua. Namun, tidak mudah untuk melakukan reverse-engineer.
whuber

Jawaban:

4

Algoritme adalah hak milik tetapi ada dua konsep dasar di sini. Centroid menggunakan algoritma pusat gravitasi (ada banyak cara berbeda untuk menghitung ini). Kotak centang "dalam" menghitung centroid tetapi kemudian memindahkan titik di dalam jika jatuh di luar karena ini diinginkan dalam beberapa kasus.

Pada level ArcObjects, pendekatan ini didefinisikan sebagai Centroid dan Label Point . Lihat tautan Centroid untuk contoh gambar.

Craig Williams
sumber
Meskipun ini tidak memberi tahu kami bagaimana titik dalam dihitung, ia memberi tahu kami sinonim dengan titik label.
mindless.panda
1

Kami telah menggunakan ArcMap 10.3. Fitur terhitung (1) untuk menunjuk dengan opsi dalam (2) fitur untuk menunjuk tanpa opsi dalam (3) centroid dengan menghitung geometri.

Poin dari (2) dan (3) berbagi lokasi, terkadang titik-titik ini berada di luar poligon. (1) membuat titik di dalam poligon, seperti yang diharapkan, sebagian besar identik dengan titik dari (3) dan (2). Kadang-kadang titik dari (1) berbeda, bahkan di mana titik dari (3) atau (2) berada di dalam poligon (!): Kita tidak dapat mendeteksi perlunya pergeseran spasial untuk menerima titik di dalam.

Poin bergeser dari (1) tidak sepenuhnya bergeser ke arah WE atau NS. Kadang-kadang titik yang tidak perlu bergeser terletak baru ke posisi yang jelas tidak mewakili titik gravitasi dan tidak terduga.

Karya ilmiah perlu direproduksi. Kami tidak dapat menemukan dokumentasi untuk algoritme atau menjelaskan pergeseran, terutama jika tidak diperlukan. Dengan demikian centroid fitur-ESRI tidak berlaku.

Christoph
sumber