Menemukan perbedaan antara shapefile menggunakan ArcGIS untuk Desktop?

12

Setiap bulan saya harus QA / QC beberapa data jalan untuk seluruh wilayah (lebih dari 47.000 catatan). Langkah pertama adalah membandingkan dua file. Saat ini, saya menggunakan alat yang dibuat di rumah melalui VBA sekitar 5 tahun yang lalu. Ia berfungsi membandingkan dua file dan melaporkan kembali perbedaan berdasarkan beberapa faktor (catatan ditambahkan, catatan dihapus, perubahan alamat, perubahan kota, panjang segmen / perubahan simpul). Saya kemudian mengekspornya ke masing-masing shapefile. Selain itu, alat ini berfungsi ArcGIS 9.3tetapi tidak lagi berfungsiArcGIS 10.1

Alat ini berfungsi dengan baik, tetapi dibutuhkan sekitar satu jam untuk menyelesaikannya.

Saya sudah mulai bekerja pada semoga meningkatkan alat ini untuk mempercepat kinerja. Saya telah melihat berbagai metode termasuk Compare Feature Tooldan Select by Location.

Kedua alat ini bekerja lebih cepat secara signifikan, namun, mereka sepertinya tidak menangkap semua yang saya butuhkan. Masalah besar yang saya miliki Compare Feature Tooladalah bahwa saya tidak dapat memilih bidang mana yang akan dibandingkan. Ini default ke ObjectID ketika saya perlu membandingkan dengan Segment_ID. Tidak ada opsi untuk memilih itu.

Adakah yang punya solusi atau ide bagus tentang cara mencapai perbandingan penuh seperti yang saya jelaskan?


Untuk beberapa alasan, ArcGIS tidak mengenali gabungan yang saya coba per jawaban RyanDalton.

Tapi

Mengambil saran dari sebuah join, saya telah menemukan cara untuk menemukan catatan yang ditambahkan dan perbedaan catatan yang dihapus dalam dua file dengan:

  1. Bergabung dengan shapefile Bulan Sebelumnya ke shapefile Bulan Sekarang melalui bidang Segment_ID
  2. Melakukan kueri definisi di mana Segment_ID IS NULL
  3. Mengekspornya ke shapefile baru (Fitur Tambahan)

Saya kemudian membalikkan gabungan dan menemukan Fitur Dihapus

Masih bekerja pada cara untuk menemukan perbedaan lain yang terdaftar dan kemudian merangkai semuanya bersama-sama dalam suatu model.


Saya dapat menemukan semua catatan yang telah berubah dengan melakukan pemilihan berdasarkan lokasi catatan dari salah satu dataset yang identik dengan dataset lainnya. Saya kemudian mengalihkan pilihan dan memberi saya semua catatan yang tidak identik.

Saya akan meletakkan semuanya dalam model dan mudah-mudahan itu berfungsi dengan baik.

Craig
sumber

Jawaban:

11

Dengan Compare Feature Tool, Anda harus memilih Segment_IDbidang Anda sebagai bidang pengurutan dalam dialog.

Bidang atau bidang [yang] digunakan untuk mengurutkan catatan dalam Tabel Basis Input dan Tabel Uji Input. Catatan diurutkan dalam urutan menaik. Mengurutkan berdasarkan bidang yang sama dalam Fitur Basis Input dan Fitur Tes Input memastikan bahwa Anda membandingkan baris yang sama dari setiap dataset input.

Jika Anda ingin mendapatkan bidang Segment_ID sebagai bagian dari tabel output Anda, cobalah bergabung output Compare Featuremeja ke sumber Anda Test Tablepada cf.Object_ID=tt.Object_ID, kemudian ekspor keluar meja bergabung dengan Segment_ID Anda.

Anda bisa dengan mudah memasukkan ini ke dalam model untuk pengulangan yang lebih mudah.

RyanKDalton
sumber
Saya telah melakukan ini, namun, tabel yang dibuat melalui alat perbandingan tidak menyertakan bidang Segment_ID (yang merupakan pengidentifikasi unik). Sebaliknya itu hanya mencantumkan objectID yang benar-benar tidak ada gunanya bagiku.
Craig
Diperbarui jawaban saya untuk mencerminkan masuk Segment_IDke tabel output Anda.
RyanKDalton
menambahkan bergabung menyebabkan ArcMap macet setiap kali. Kembali ke papan gambar.
Craig
1

Dalam pengalaman saya, Fitur Membandingkan selalu menggunakan FID atau ObjectID sebagai dasar perbandingan bahkan jika segment_id dipilih sebagai Urut Bidang. FID Shapefile didaur ulang (ditata ulang) sehingga setelah beberapa pengeditan banyak jika tidak semua FID berbeda untuk geografi yang sesuai. Dengan demikian mereka akan memiliki kesalahan perbandingan fitur "benar". Jika Anda menggunakan ObjectID dari GeoDatabase atau GISquirrel maka ID tidak didaur ulang dan Anda dapat mengandalkan alat ini. Anda harus menyimpan basis data selama periode waktu agar ObjectIds tidak pernah disusun ulang.

Terlepas dari deskripsi Urutkan Bidang di bantuan alat GP sangat SALAH menyesatkan. Alat ini akan luar biasa jika dasar perbandingannya adalah segment_ID.

pengguna14022
sumber