Baru-baru ini saya telah menghabiskan banyak waktu mengonversi nama bidang yang sangat bagus seperti "Persen warga berusia 25 tahun ke atas dengan gelar sarjana atau lebih tinggi" menjadi hal-hal seperti "edbchogtr" untuk memenuhi batas nama bidang 10 karakter DBF.
Di utas lain ( "Keanehan" dalam spesifikasi teknis Shapefile ), geospatialpython berkomentar bahwa "Terlepas dari kekurangan format, keanehan, dan keterbatasan format shapefile tetap ada di dalam dan sekitar bidang SIG. Setiap upaya lain untuk menggantikannya terlalu membengkak untuk penyimpanan vektor sederhana atau terlalu eksklusif. "
Kegiatan ini ditambah dengan komentar Pak Lawhead membuat saya bertanya-tanya:
- apakah ada upaya eksplisit yang pernah dilakukan untuk mengganti shapefile sebagai penyimpanan data dan format pertukaran GIS di mana-mana?
- Apakah ada pesaing?
- Jika ada format yang bersaing, mengapa gagal?
- Apakah Esri menolak untuk mendukung mereka, atau apakah ceritanya hanyalah salah satu dari kelambanan teknologi?
- Jika belum ada upaya ... mengapa tidak?
Sepertinya kita bisa melakukan sedikit lebih baik untuk diri kita sendiri, baik sebagai pengembang dan pengguna GIS.
Jawaban:
Ini adalah topik yang selalu muncul. Saya mungkin tidak memiliki jawaban yang benar, tetapi saya bisa memberikan pendapat pribadi saya .
Alasan mengapa mereka didukung, dapat dikaitkan dengan beberapa karakteristik tentang mereka, jadi izinkan saya menyebutkan beberapa.
Pertama, ada spec . Maksudku, aku berusia awal tiga puluhan dan benda ini ada sejak aku remaja. Jadi aman untuk mengatakan bahwa spesifikasi ini telah ada selama beberapa waktu. Tentu saja, ada beberapa format lain yang juga diterbitkan, tetapi perbedaannya adalah ...
Ini relatif sederhana! Itu dibangun di atas Format DBF , yang pada saat itu sudah ada dan didukung secara luas di beberapa platform / OS. Sudah ada parser yang bisa membaca setengah dari format ini (bagian DBF), sehingga memudahkan mendukung penambahan tambahan. Anda punya geometri? Tentu hanya membuat serial dan menulisnya. Kamu selesai. Bandingkan ini dengan liputan ! Cobalah untuk menjelaskan kepada seseorang secara sederhana apa yang dilakukan topologi bersih . Bukan hal sepele untuk menulis liputan yang bersih secara topologis.
Yang paling penting, saya pikir alasan # 1 untuk shapefile untuk tetap menjadi populer adalah karena mereka didukung baik dalam sistem Open Source maupun Proprietary . SIG apa yang Anda ketahui yang tidak mendukung shapefile?!? Belum pernah terjadi.
Sebagai gantinya, kami mendengar File GeoDatabases dan Spatialite . Kedua format, sangat unggul dalam hal fungsionalitas, fleksibilitas, kecepatan, dll. Bila dibandingkan dengan Shapefile. Dengan cara mereka sendiri, mereka memiliki hal-hal tertentu yang membuat mereka lebih baik daripada satu sama lain di daerah yang berbeda, tetapi perbandingan spasial dan FileGDB tentu saja di luar cakupan pertanyaan ini.
Apakah saya pikir salah satu format ini akan menggantikan Shapefile? Tidak dalam inkarnasi mereka saat ini .
Mengapa?
Bukan karena argumen teknologi (saya memang mengatakan mereka lebih unggul dalam aspek itu), tetapi karena sesuatu yang lain: lisensi.
Jadi apa masalah mereka?
FileGDB :
FileGDB menyediakan interoperabilitas melalui API FileGDB baru. Namun demikian, API ini disediakan dalam format bineroleh ESRI. Ini bukan spesifikasi. Setelah bekerja di tim GeoDatabase di masa lalu, saya dapat memberitahu Anda, bertentangan dengan semua teori konspirasi yang memakai topi timah, ini sama sekali tidak berbahaya. Itu karena internal GeoDatabase berubah pada setiap rilis. Menerbitkan spesifikasi lengkap pada dasarnya akan memberikan semua rincian tentang bagaimana segala sesuatu seharusnya dipertahankan dan kemudian dengan hati-hati mendokumentasikan perubahan pada format dengan setiap rilis tahunan. Itu tidak masuk akal. Jadi FileGDB API, meskipun bukan spec, itu abstrak semua perubahan kecil itu. Dan sekarang bisa digunakan lintas platform! Pikiran Anda, ini adalah langkah besar ke depan! Mengingat sifat konservatif ESRI, ini jelas merupakan reaksi ke arah yang benar.
Namun, dukungan biner saja tidak membuat siapa pun di dunia Open Source terlalu senang. Bagaimana Anda kemudian memanfaatkan porting beberapa kode untuk mengatakan rasa Linux lain jika ESRI tidak mendukungnya. Kamu tidak bisa Inilah yang membuat Open Source kuat, dan sekarang, Anda tidak dapat memanfaatkan ini. Jika ESRI memutuskan untuk berhenti mendukung Debian, itu dia. Kamu selesai. Dan tidak ada yang bisa Anda lakukan untuk mengubahnya.
Spasial :
Spatialite mengagumkan karena mendapat semua fungsi gratis dari SQLite . SQLite digunakan di mana-mana. Itu ada di Ponsel Android Anda, di iPhone / iPad Anda, di Firefox, di Google Chrome, di beberapa perangkat tertanam komersial - dapat berlangsung selamanya. Untuk benar-benar membuatnya menjadi Geoformat (dan tidak hanya melakukan operasi kotak terikat bodoh), itu perlu memanfaatkan perpustakaan geometri yang sama yang digunakan PostGIS: GEOS . Sedihnya, GEOS didasarkan pada pustaka geometri lain yang bahkan lebih keren yang dikenal sebagai JTS . Semua algoritma di JTS sangat kuat, jadi apa masalahnya?
Yah, JTS dilisensikan sebagai Open Source LGPL , dan LGPL adalah lisensi viral . JTS adalah LGPL, berarti GEOS adalah LGPL, berarti spatialite yang dihubungkan secara statis dengan GEOS adalah LGPL. Ini menyebalkan. Mengapa? Tanpa menjelaskan lisensi open source terlalu banyak, saya dapat memberitahu Anda bahwa, misalnya, saya tidak dapat menggunakan spatialite pada, katakanlah, aplikasi iPhone karena itu akan membuat seluruh aplikasi saya secara otomatis open source (iOS hanya memungkinkan tautan statis). Semua jenis lisensi GPL (sewajarnya) membuat takut ESRI, sehingga mereka tidak akan menyentuhnya dengan tiang 10 kaki. Oleh karena itu, ArcGIS, sistem GIS paling populer di dunia tidak (dan mungkin tidak akan pernah) mendukung spasial secara asli. Ini secara otomatis membunuhnya sebagai format yang layak.
Dan dengan demikian kita kembali ke shapefile jelek yang didukung di mana-mana.
Perbarui :
Rupanya jawaban saya cukup kontroversial sehingga seseorang memutuskan bahwa boleh saja mengedit dan mengubah seluruh arti jawaban saya dengan bebas untuk mengemukakan pandangan mereka. Tolong jangan lakukan itu. Jika Anda tidak setuju dengan saya, itu baik-baik saja, cukup kirimkan pendapat Anda dalam jawaban yang berbeda dan biarkan komunitas memutuskan. Saya memutar kembali suntingan ke jawaban saya untuk menunjukkan makna aslinya. Saya menambahkan pembaruan ini jika Anda membaca jawaban yang diedit yang mengklaim bahwa sqlite adalah format yang layak.
sumber
Bagian SHP + SHX itu sendiri tidak begitu buruk. Masalah sebenarnya terletak pada bagian DBF. Itu bisa dilakukan dengan format baru, yang mendukung unicode dan segala jenis tipe bidang modern. Masalahnya semakin baik didukung oleh semua perangkat lunak di luar sana.
sumber
GeoPackage adalah penerus yang menjanjikan. Ini mirip dengan Spatialite tetapi dari OGC dan telah diadopsi oleh banyak perangkat lunak, termasuk ArcGIS dan OGR.
Lihat beranda resmi http://www.geopackage.org/ dan misal presentasi ini: http://www.slideshare.net/JeffYutzler/geopackage-swg-overview
sumber
Setidaknya spatialite memiliki niat, lihat misalnya presentasi ini http://www.sourcepole.ch/assets/2010/9/10/foss4g2010_spatialite.pdf
Di sisi lain, saya percaya bahwa alasan utama gagal adalah shp didukung oleh banyak aplikasi dan hanya memiliki sedikit kekurangan.
Orang lain juga berbagi pendapat ini:
http://www.spatiallyadjusted.com/2010/09/16/spatialite-is-not-the-shapefile-of-the-future/
Lebih banyak pemikiran tentang file Esri, geodatabase, spatialite, dan autodesk sdf di sini: http://www.spatialdbadvisor.com/blog/121/the-shapefile-manifesto
sumber
Esri telah mempromosikan File Geodatabases selama beberapa tahun sekarang sebagai pengganti shapefile.
Baru-baru ini mereka telah menyediakan API yang menyembunyikan keanehan.
sumber
Dialek XML, seperti GML, jelas tidak dioptimalkan untuk mengoperasikan kumpulan data besar, tetapi, dapat digunakan sebagai format pertukaran antar perangkat lunak atau antar platform.
Saya tidak percaya ada masalah dengan lisensi (lihat posting Ragi Yaser Burhum tentang karakteristik virus Spatialite) dan cukup mudah untuk mengadaptasi parser yang ada jika diperlukan.
sumber
Hanya untuk datang pada ini dari perspektif yang berbeda, saya tidak yakin penggunaan "Persen warga usia 25 dan lebih dengan gelar sarjana atau lebih tinggi" adalah nama bidang yang sangat baik. Meskipun memadukan spasi dan apostrof dapat ditangani, jika Anda menulis kode atau kueri, kemungkinan besar bug akan muncul.
Menurut pendapat saya, masa depan distribusi data spasial harus fokus pada web dan layanan web, dan spesifikasi WFS (yang menggunakan GML) terbuka dan dibuat. GeoJSON lebih kecil, dan bisa lebih mudah digunakan dalam JavaScript. Namun dengan kompresi ukurannya sebanding.
Saya juga ingin memberikan suara untuk Personal Geodatabases ESRI . Ini mungkin format Microsoft yang sering difitnah, tetapi mendukung ODBC, kueri SQL, tampilan, dan memungkinkan non-pengembang untuk membuat formulir entri data yang mudah, dan menyertakan setidaknya beberapa tingkat pemeriksaan integritas data (tipe data, panjang, nilai unik) .
sumber