Saya mengekspor geometri dengan atribut teks terlampir dari database oracle ke format esri shapefile (.shp) dengan perpustakaan Java dan Geotools.
Kolom atribut dalam database kami memiliki nama dengan lebih dari 10 karakter, dan Geotools memaksa untuk memotongnya. Saya mengerti bahwa itu karena spesifikasi file .shp atau .dbf.
Saya dapat mengatasinya, dengan membuat beberapa file txt sederhana dengan "shrtname" = "Nama lengkap dan panjang", tetapi jelas itu tidak akan dipahami dan diimpor oleh perangkat lunak lain selain dari kami.
Apakah ada cara resmi untuk melakukan pemetaan dari nama bidang pendek ke nama teks lengkap panjang?
Misalnya, file xml di sebelah semua file .shp .dbf .shx lainnya.
Ada cara standar untuk mengatasinya, meskipun klien Anda mungkin tidak sepenuhnya senang dengan itu: Anda mengekspor dua file, satu shapefile dan file data dalam format yang dapat dibaca oleh perangkat lunak mereka. Shapefile hanya memiliki pengidentifikasi unik, [Id], untuk atribut. File data memiliki beberapa atribut: [Id] untuk mencocokkan bentuk, [Bidang] untuk memberikan nama bidang, [Tipe] untuk menunjukkan jenisnya, dan satu atribut dari setiap tipe data yang mungkin untuk menyimpan nilai. Setiap bidang dalam file asli disimpan sebagai catatan dalam file data ini.
Sebagai contoh, tabel sumber terlihat seperti ini:
akan memiliki file data yang sesuai
Harus jelas bagaimana menggunakan data ini dalam RDBMS dan bagaimana mengkonversi bolak-balik antara dua format.
sumber
Jika pelanggan Anda menggunakan ArcGIS, Anda bisa menyediakan skrip untuk menetapkan alias bidang secara massal . Ini akan memberi mereka penampilan nama bidang yang panjang ketika mereka menggunakan data.
Skrip yang sama dapat berfungsi untuk memberikan alias dalam paket GIS lainnya juga.
sumber
Rute termudah untuk diambil adalah dengan menyimpan HANYA geometri Anda sebagai shapefile, untuk kemampuan mengedit geometri yang sangat baik yang ada di banyak aplikasi GIS, BELUM menyimpan semua data bidang Anda (atau sebagian besar dari mereka) dalam sqlite sebagai tabel. Bergabunglah dengan mereka jika perlu untuk meneliti data lapangan Anda.
TETAPI Jika Anda perlu mengedit tabel saat melakukan permintaan spasial, atau memilih fitur shapefile di QGIS, Anda harus melupakan [shapefile yang bergabung dengan tabel sqlite] sebagai opsi, dan alih-alih mengekspor semuanya ke Spatialite. Belajar menggunakan Qspatialite dan Spatialite_GUI (keduanya gratis satu sama lain dengan banyak fitur yang tidak dimiliki - Anda akan perlu dan menggunakan keduanya jika Anda melakukan banyak hal dengan SQLITE)
Penting untuk diingat bahwa tabel tersebut (bergabung ke shapefile) tidak akan dapat diedit pada saat yang sama dengan bergabung. Dan bermigrasi ke Spatialite akan menjadi alternatif yang sangat baik untuk shapefile. Itu tetap dengan kesederhanaan dan portabilitas shapefile sambil menawarkan sebagian besar keutamaan database SQL, tanpa kompleksitas PostgreSQL.
sumber
Perbaikan sementara bisa, simpan sebagai file TAB, yang dapat memiliki nama kolom hingga 31 karakter.
sumber