Saya memiliki kelas fitur dengan lebih dari 2.000 fitur, dan saya harus menjadikan mereka semua kelas fitur individual berdasarkan bidang.
Apakah ada cara untuk melakukan ini?
Saya memiliki kelas fitur dengan lebih dari 2.000 fitur, dan saya harus menjadikan mereka semua kelas fitur individual berdasarkan bidang.
Apakah ada cara untuk melakukan ini?
Anda dapat menggunakan alat Split By Attributes:
Membagi dataset input dengan atribut unik
Ada versi yang tersedia untuk:
Split By Attributes
konstan menghasilkan.dbf
tabel individual , bukan kelas fitur individual. Tapi, di ArcGIS Desktop 10.6, alat yang sama menghasilkan shapefile individu dengan benar . Saya tidak mengerti mengapa, dan mendapat keluaran yang sama dengan mencoba mengatur direktori kerja ke folder atau geodatabase.Anda dapat mencapai ini dengan model yang sangat sederhana jika Anda memiliki ArcGIS 10.0 atau lebih tinggi.
Buat model dengan Feature Iterator di mana grup dengan bidang adalah atribut yang ingin Anda pilih saat itu kemudian mengirim output ke alat fitur copy menggunakan substitusi inline untuk memastikan nama file yang unik. Model ditunjukkan di bawah ini:
sumber
Saya tidak memiliki akses ke ArcMap 10, hanya 9.3, tetapi saya berharap itu tidak akan jauh berbeda dari ini.
Anda bisa membuat skrip sederhana dengan Python, yang memeriksa bidang atribut Anda untuk nilai yang berbeda, dan kemudian, untuk masing-masing menjalankan operasi SELECT ke Shapefile asli Anda.
Jika Anda tidak terbiasa dengan skrip python, yang perlu Anda lakukan adalah membuka IDLE Anda (python GUI) membuat file baru, dan menyalin kode di bawah ini. Setelah mengadaptasi kode untuk my_shapefile Anda, outputdir dan my_attribute seharusnya bekerja.
sumber
Apakah Anda melihat alat Split Layer By Attributes diperbarui untuk ArcMap 10 di sini ? Jika tidak berhasil, Anda dapat menggunakan Split (Analisis) untuk kebutuhan Anda.
Kode Contoh:
sumber
Split By Attribute
fungsionalitas dan jawaban Anda sebagian besar tentangSplit [By Geometry]
.Saya menggunakan skrip @ AlexandreNeto dan memperbaruinya untuk pengguna ArcGIS 10.x. Terutama Anda sekarang harus mengimpor "arcpy" daripada "arcgisscripting":
sumber
Ini adalah cara yang bahkan lebih mudah untuk melakukan ini ... dan hasilnya menjadi GDB.
http://www.umesc.usgs.gov/management/dss/split_by_attribute_tool.html
mengunduh alat dari USGS, butuh waktu 3 menit untuk melakukan apa yang saya coba selama 1 jam.
sumber
Saya tahu Anda dapat menggunakan iterator dalam model builder, tetapi jika Anda lebih suka menggunakan python di sini adalah sesuatu yang saya hasilkan. Tambahkan skrip ke kotak alat dengan parameter dalam urutan sebagai Input shpfile, bidang (multinilai, diperoleh dari input), dan ruang kerja. Script ini akan membagi shapefile menjadi beberapa shapefile berdasarkan bidang yang Anda pilih, dan mengeluarkannya ke folder pilihan Anda.
sumber
Saya akhirnya berhasil bekerja dengan SearchCursor dan Select_analysis
sumber
Saya tidak terbiasa dengan alat Seleksi Fitur Iterate di ModelBuilder, tetapi mengekspor hanya itu sebagai kode Python menunjukkan bahwa mereka dapat dipanggil menggunakan arcpy.
sumber
Anda dapat menggunakan kursor pencarian untuk mengulangi setiap fitur dalam kelas fitur dan menulis hanya geometri ke kelas fitur unik. Dalam contoh ini, saya menggunakan kelas fitur Amerika Serikat dan mengekspor negara bagian ke shapefile baru:
sumber
cursor
operasi.Anda dapat menggunakan token geometri (SHAPE @) di dalam Fitur Salin (Manajemen Data) untuk mengekspor setiap fitur.
sumber
Di Arcpy, layer Cursors kehormatan pilihan / TableView. Menurut Mendapatkan daftar fitur yang dipilih di ArcGIS untuk Desktop menggunakan kode Python? , Anda cukup mengulangi pilihan fitur.
Namun jika Anda ingin membuat pilihan menggunakan arcpy, gunakan alat SelectLayerByAttribute_management .
sumber