Bu her zaman ortaya çıkan bir konudur. Doğru cevabı alamayabilirim, ama sana kişisel görüşümü verebilirim .
Desteklenmelerinin nedeni, onlar hakkında çeşitli özelliklere atfedilebilir, bu yüzden birkaç taneden bahsedeyim.
İlk olarak, bir spec var . Demek istediğim, otuzlu yaşlarımın başındayım ve bu şey genç yaşımdan beri vardı. Bu yüzden bu özelliğin bir süredir var olduğunu söylemek güvenli. Tabii ki, ayrıca yayınlanmış başka formatlar da var, ama buradaki fark şudur ki ...
Bu nispeten basit! Halen varolan ve çeşitli platformlarda / işletim sistemlerinde yaygın olarak desteklenen DBF Formatı üzerine inşa edilmiştir . Bu formatın yarısını okuyabilen ayrıştırıcılar zaten vardı (DBF bölümü), bu yüzden fazladan ilaveyi desteklemeyi kolaylaştırdı. Bir geometriniz var mı? Tabii sadece seri hale getir ve yaz. Bitirdiniz. Bunun kapsamı ile kontrast ! Birine, bir topolojinin temizliğinin ne yaptığını basit terimlerle açıklamaya çalışın . Topolojik olarak temiz bir kapsama alanı yazmak önemsiz değildir.
En önemlisi, form dosyalarının hala popüler olmasının 1 numaralı nedeninin , hem Açık Kaynak hem de Tescilli sistemlerde desteklenmeleri olduğunu düşünüyorum . Shapefiles'i desteklemeyen hangi GIS'i biliyorsunuz?!? Duyulmamış.
Bunun yerine File GeoDatabases ve Spatialite dosyalarını duyuyoruz . Her iki format da, Shapefiles ile karşılaştırıldığında, işlevsellik, esneklik, hız vb. Bakımından oldukça üstündür. Kendi yollarında, farklı alanlarda kendilerini birbirlerinden daha iyi yapan bazı şeyleri vardır, ancak spatialite ve FileGDB karşılaştırması kesinlikle bu sorunun kapsamı dışındadır.
Bu formatlardan birinin Shapefilfiler'ın yerini alacağını mı düşünüyorum? Mevcut enkarnasyonlarında değil .
Neden?
Teknolojik bir argüman yüzünden değil (her şeyden önce bu açıdan üstün olduklarını söyledim), ama başka bir şey yüzünden: lisanslama.
Peki problemleri neler?
FileGDB :
FileGDB, yeni FileGDB API'siyle birlikte çalışabilirlik sağlar. Bununla birlikte, bu API ikili biçimde sağlanırESRI tarafından. Bu bir şartname değildir. Geçmişte GeoDatabase ekibinde çalıştıktan sonra, size söyleyebilirim ki, teneke folyo şapka takma komplo teorisyenlerinin aksine, bu hiç de kötü değildir. GeoDatabase içindekilerin her sürümde değişmesinden kaynaklanmaktadır. Tam bir teknik özellik yayınlamak, temel olarak her şeyin nasıl muhafaza edilmesi gerektiği ile ilgili tüm detayları vermeyi ve ardından her yıllık sürümle birlikte formattaki değişiklikleri dikkatlice belgelemeyi gerektirir. Mantıklı değil. Bu nedenle, FileGDB API, bir spesifik olmasa da, tüm bu küçük değişiklikleri dışlar. Ve şimdi platformlar arası kullanılabilir! Dikkat et, bu ileriye doğru büyük bir adım! ESRI'nin muhafazakar doğası göz önüne alındığında, bu kesinlikle doğru yönde bir tepkidir.
Ve yine de, sadece ikili destek Açık Kaynak dünyasındaki hiç kimseyi çok mutlu etmiyor. ESRI desteklemiyorsa, başka bir Linux lezzetine söylemek için bazı kodları taşımaktan nasıl faydalanırsınız? Yapamazsın Açık Kaynak'ı güçlü yapan şey budur ve şimdi bundan faydalanamazsınız. ESRI Debian'ı desteklemeyi bırakmaya karar verirse, hepsi bu. Bitirdiniz. Ve değiştirmek için yapabileceğiniz hiçbir şey yok.
Spatialite :
Spatialite harika çünkü tüm ücretsiz işlevselliği SQLite'den alıyor . SQLite her yerde kullanılır. Android telefonunuzda, iPhone / iPad'inizde, Firefox'ta, Google Chrome'da, çeşitli ticari yerleşik cihazlarda - sonsuza dek devam edebilir. Bir Geoformat'a gerçekten ulaşmak için (ve sadece aptal sınırlama kutusu işlemlerini yapmakla kalmaz), PostGIS'in kullandığı geometri kütüphanesinden yararlanmalıdır: GEOS . Ne yazık ki, GEOS, JTS olarak bilinen daha da harika bir geometri kütüphanesine dayanıyor . JTS'deki tüm algoritmalar son derece güçlü, peki sorun ne?
Eh, JTS, Open Source LGPL lisansına sahip ve LGPL viral bir lisans . JTS LGPL'dir, GEOS LGPL'dir, statik olarak GEOS'a bağlı spatialit anlamına gelir LGPL'dir . Bu berbat. Neden? Olmadan açık kaynak lisansı açıklayan çok fazla, bunu otomatik olarak benim tüm uygulamayı açık kaynak yapacak çünkü örneğin ben (sadece iOS statik bağlama sağlar), diyelim ki, spatialite üzerinde bir iPhone uygulamasını kullanamazlar, söyleyebilirim. Herhangi bir GPL lisansı (makul bir şekilde), ESRI’nin saçmalığını korkutur ve böylece 10 ayak direğine değmeyeceklerdir. Bu nedenle, dünyanın en popüler CBS sistemi olan ArcGIS, doğal olarak mekansaliteyi desteklemiyor (ve muhtemelen asla). Bu otomatik olarak uygun bir format olarak öldürür.
Ve böylece her yerde desteklenen berbat şekil dosyalarına geri dönüyoruz.
Güncelleme :
Görünüşe göre cevabım, birilerinin , görüşümü ifade etmek için cevabımın anlamını serbestçe düzenlemenin ve değiştirmenin Tamam olduğuna karar verdiği konusunda tartışmalıydı . Lütfen yapma bunu. Eğer benimle aynı fikirde değilseniz, bu tamamen iyi, sadece fikrinizi farklı bir cevap ile gönderin ve topluluğun karar vermesine izin verin. Orjinal anlamını göstermek için düzenlemelerimi cevabımdan geri aldım. Sqlite'ın uygun bir format olduğunu iddia eden düzenlenmiş cevabı okuduğunuzda bu güncellemeyi ekliyorum.