Saya memiliki shapefile dan saya ingin mengubah urutan fitur. Apakah itu mungkin?
Saya ingin mengurutkan fitur di shapefile karena saya menanamkan shapefile ini di aplikasi seluler. Aplikasi ini akan menampilkan daftar fitur, dan meskipun saya bisa melakukan penyortiran pada waktu buka, saya lebih suka menyortirnya.
Jawaban:
Anda selalu dapat membuka tabel atribut di ArcMap dan klik kanan header kolom dan pilih Sort Ascending ... / Descending ... untuk bidang tunggal.
Untuk beberapa bidang, Anda lebih suka mengklik Penyortiran Lanjutan untuk memilih beberapa bidang.
CATATAN: Menambahkan, misalnya, bidang ID berurutan berdasarkan penyortiran saat ini (yang bersifat sementara, hanya disimpan di peta ini / mxd) saat menggunakan metode di atas akan dipesan oleh OID / ObjectID asli dari kelas fitur.
Ada ArcScripts yang tersedia yang akan mengurutkan catatan secara permanen dan menampilkan bentuk file baru: http://arcscripts.esri.com/details.asp?dbid=16771
Saya berharap ketika Anda menyatakan 'urutan fitur' bahwa ini adalah urutan yang ditemukan di tabel atribut dan tidak menggambar urutan untuk daftar isi / tingkat simbologi.
sumber
Saya tidak tahu tentang Arc *, tetapi untuk QGIS ada plugin Sortir: http://michaelminn.com/linux/mmqgis/
sumber
Berikut adalah solusi untuk menulis ulang shapefile baru dan diurutkan menggunakan alat baris perintah GDAL / OGR
ogr2ogr
.Misalnya, sebuah shapefile
orig.shp
memiliki bidang angkavolume
untuk disortir. Pernyataan SQL khusus ini melakukan penyortiran terbalik (denganDESC
) sehingga fitur denganvolume
nilai besar digambarkan sebelum (di bawah) fitur dengan nilai kecil:sumber
Jika Anda memiliki akses ke lisensi arcinfo, Anda dapat menggunakan Urutkan di (kotak alat Manajemen Data) yang menulis catatan ke dalam shapefile baru atau pengurutan spasial atau atribut berdasarkan gdb fc berdasarkan atribut
sumber
Perangkat lunak utilitas MapServer (gratis dan sumber terbuka) dapat mengurutkan bentuk berdasarkan nilai atribut:
http://mapserver.org/utilities/sortshp.html
sumber
Metode yang sangat, sangat CEPAT dan mudah untuk mengurutkan lapisan shapefile (menggunakan berbagai bidang).
1 - Ekspor shapefile ke CSV (pilih pemisah yang baik, seperti titik koma) dan tambahkan GEOMETRI menggunakan "opsi lapisan" -> "AS WKT"
2 - Buka file.csv dengan LIBREOFFICE (calc) dan gunakan MENU-> DATA-> SORT (sangat intuitif, kuat dan SANGAT CEPAT (Sortir dengan cepat fitur 50000 menggunakan 3 kolom seperti opsi pengurutan, naik dan turun, dan saya) punya notebook yang sangat lambat;))
3 - Simpan lagi file dari LIBREOFFICE (calc) sebagai "Teks CSV" (tandai "Edit pengaturan filter" dan pilih pemisah sebagai 'titik koma', tidak masalah peringatan dari libreoffice, simpan seperti CSV dan pilih 'titik koma' sebagai pemisah)
4 - Dari Qgis buka file.csv baru (dan diurutkan) dari menu 'Add Layer "-> Add Delimiter Text Layer.
PROS: - Sangat, sangat cepat, urutkan dari berbagai bidang - Bekerja ok dengan data yang disandikan UTF_8
Kon: - Butuh LIBREOFFICE (tetapi apakah itu perangkat lunak open source)
Metode alternatif untuk mengurutkan (mempertahankan poin 2 dan 3, dan merupakan yang paling cepat) menggunakan konsol (BASH)
Buka konsol dan pergi ke tempat Anda memiliki file.csv
Misalkan Anda ingin mengurutkan file dengan kunci:
field6 (desc) + field1 (ascen) + field3 (desce)
jadi perintahnya adalah:
sort -t ';' -k6,6r -k1,1 -k3,3r file.csv> file_sort.csv
CATATAN:
sumber
sumber