Saya harus menggabungkan banyak shapefile menjadi satu shapefile yang hebat.
Jadi saya ingin membandingkan properti dari tabel atribut untuk melihat apakah ada perbedaan antara properti tablep masing-masing bentuk (jenis, panjang, presisi, nama, dll). Dengan niat untuk membakukan semua shapefile
misalnya:
Apakah ada cara untuk mencetak daftar properti tabel seperti yang ditunjukkan pada tab 'bidang' atau untuk mengekspor properti ke .xls atau .dbf?
Atau adakah cara otomatis untuk melakukan standarisasi? (Mungkin ini adalah topik untuk utas baru ...)
Saya menggunakan QGIS 1.8 (QGIS 2.2 juga dimungkinkan).
Terima kasih
Jawaban:
Solusi shell OSGeo4W
IMHO cara termudah untuk mengekstrak properti tabel atribut ( skema ) terdiri dari membuka shell OSGeo4W (karena Anda sedang menang os), ubah direktori ke folder data Anda dan cukup ketik sesuatu seperti:
Ini akan menunjukkan kepada Anda informasi ringkasan seperti proyeksi, skema , jumlah fitur dan luasan. Kemudian, karena Anda memiliki banyak shapefile, Anda dapat melakukan
FOR
siklus seperti berikut ini:Ini mengembalikan satu file txt dengan properti semua shapefile dalam direktori (karena pengalihan output dengan
>>
menambahkan setiap output tunggal keproperties.txt
file).Atau, jika Anda tertarik pada satu file properti untuk setiap shapefile:
Tentang standardisasi, ada beberapa teknik. Saya menyarankan Anda untuk menggunakan
RESIZE
opsi pembuatan lapisan setelah penggabungan untuk mengubah ukuran bidang ke ukuran optimal (misalnya bidang teks dengan panjang yang berlebihan akan dipersingkat). Contohnya:Memproses solusi skrip
Buka kotak alat Pemrosesan di QGIS, buat skrip baru (mengklik
Scripts
->Tools
->Create new script
) dan ketik:Simpan sesuai keinginan Anda, mis
ogrinfo_so.py
. Kemudian, skrip baruogrinfo (summary only)
akan muncul di kotak alat Pemrosesan ->Scripts
->User script
grup. Itu dapat dieksekusi seperti itu atau dalam mode batch.Operasi yang sama dimungkinkan untuk mengubah ukuran panjang bidang, seperti dijelaskan sebelumnya:
Sebuah skrip baru yang disebut
Resize fields
akan tersedia di kotak toolbox Pemrosesan ->Scripts
->User scripts
. Bersenang senang lah!sumber
Shapefile menyimpan atributnya dalam file .dbf, tidak bisakah Anda membuka file .dbf secara langsung dalam program seperti libreoffice calc lalu mencetak dari sana? Jika Anda tidak memiliki terlalu banyak file, ini akan berfungsi.
Pilihan lain adalah menulis skrip python yang mencetak (ke konsol) atribut fitur secara langsung, atau bahkan membandingkannya untuk Anda. Anda dapat mengakses atribut fitur seperti ini:
Anda perlu melakukan ini untuk setiap shapefile perbandingan Anda dan melihat apakah
info lebih lanjut di sini: http://www.qgis.org/en/docs/pyqgis_developer_cookbook/
sumber
Mengikuti tema .dbf apakah Anda sudah mencari pembanding .dbf secara langsung? Saya belum menemukan solusi gratis segera, tetapi sesuatu seperti: dbfCompare
sumber
Cobalah beberapa ekstraktor metadata DBF yang tersedia. Sebagian besar dari mereka mendukung mode baris perintah, sehingga ekstraksi metadata ganda dapat dijalankan secara batch.
http://geology.usgs.gov/tools/metadata/tools/doc/dbfmeta.html http://sco.wisc.edu/wisclinc/metatool/dbfmeta.htm
sumber
Cukup buka file .dbf di Libreoffice Calc atau Excel, simpan saja sebagai file baru. Saya menyimpannya sekali dan shapefile itu tidak baik.
sumber