Dapatkan jarak terdekat antara dua geometri di ArcPy

8

Saya menggunakan ArcPy dan menggunakan kursor untuk melangkah melalui satu kelas fitur poligon. Untuk setiap poligon 'sumber' ini, saya membuat SearchCursor untuk menemukan semua poligon dalam kelas fitur kedua yang memiliki atribut yang sama. Untuk setiap poligon yang cocok ini, saya ingin mengukur jarak antara itu dan poligon pencarian. Saya juga berencana mengukur perbedaan geometri lainnya (untuk menentukan apakah itu baru saja digeser, diputar, diskalakan, dll).

Tujuan dari pekerjaan ini adalah untuk membangun sejarah perubahan antara kumpulan data poligon yang mewakili fitur pada waktu yang berbeda.

Saya telah melihat metode ReturnDistance yang disebutkan di ArcObjects, tetapi tidak tahu cara menjalankan ini menggunakan ArcPy. Apakah mungkin, dan jika demikian, adakah yang bisa membantu dengan beberapa kode sampel kasar? Jika tidak, saya mungkin akan mengukur perubahan posisi centroid di antara poligon.

Terima kasih, Steve

Steve
sumber

Jawaban:

1

Jawaban ini mungkin tidak dianggap benar karena mengecualikan penggunaan ArcPy. Saya tidak yakin, jika Anda dapat mengakses ReturnDistance di ArcPy. Namun, Anda dapat mengakses ArcObjects dari Python secara langsung. Panduan ini oleh Mark Cederholm akan membantu Anda memulai http://www.pierssen.com/arcgis/upload/misc/python_arcobjects.pdf . Ini akan membutuhkan dari Anda beberapa keterampilan pemrograman berorientasi objek, jika Anda tahu dasar-dasar, sudah cukup. Kalau tidak baca panduan ini. Dalam referensi Anda akan menemukan beberapa tautan ke cuplikan kode, jika Anda cukup sabar, Anda akan mengetahuinya.

Di sini Anda akan memiliki beberapa pendekatan berbeda untuk ArcObjects dengan Python: Mengakses ArcObjects dari Python?

Dan di sini adalah contoh ArcObjects dengan Python (perjuangan saya dengan masalah ini): Arcobjects dalam Python: tetapkan antarmuka ke objek dengan fitur (bentuk) geometri

Butuh sekitar 3 hari untuk menulis program saya sendiri dan saya tidak memiliki petunjuk tentang pemrograman berorientasi objek, semoga berhasil.

Tomek
sumber
Saya menduga ini mungkin yang harus saya lakukan. Terima kasih untuk semua tautan dan info tentang pengalaman Anda dengan ini. Akan mencobanya sendiri.
Steve
11

Jawaban ini terlambat 3 tahun sehingga Anda mungkin sudah dapat solusinya sekarang. Namun untuk kelengkapan, berikut ini adalah metode sederhana untuk mengukur jarak antara 2 objek.

Geometri memiliki metode distanceToyang:

Mengembalikan jarak minimum antara dua geometri. Jika geometri berpotongan, jarak minimum adalah 0.

Kedua geometri harus memiliki proyeksi yang sama.

Stephen Lead
sumber