Ostatnio spędzam dużo czasu przekształcając doskonale dobre nazwy pól, takie jak „Procent obywateli w wieku 25 lat i więcej z tytułem licencjata lub wyższym”, na „edbchogtr”, aby osiągnąć limit 10 znaków w polu DBF.
W innym wątku ( „Dziwactwa” w specyfikacji technicznej Shapefile ), geospatialpython skomentował, że „Pomimo wad, osobliwości i ograniczeń formatu pliku shapefile uparcie utrzymuje się w obszarze GIS i wokół niego. Każda inna próba zastąpienia go była zbyt rozdęta dla proste przechowywanie wektorów lub zbyt zastrzeżone ”.
Ta aktywność w połączeniu z komentarzem pana Lawhead'a zastanawia mnie:
- czy kiedykolwiek podjęto jakiekolwiek wyraźne próby zastąpienia pliku kształtu jako wszechobecnego formatu przechowywania i wymiany danych GIS?
- Czy są jacyś pretendenci?
- Jeśli istniały konkurencyjne formaty, dlaczego zawiodły?
- Czy Esri odmówiła ich poparcia, czy może historia jest po prostu technologiczną bezwładnością?
- Jeśli nie było prób ... dlaczego nie?
Wydaje się, że moglibyśmy zrobić trochę więcej dla siebie, zarówno jako programistów GIS, jak i użytkowników.
Odpowiedzi:
To temat, który zawsze się pojawia. Być może nie mam właściwej odpowiedzi, ale mogę wyrazić moją osobistą opinię .
Powód, dla którego są one obsługiwane, można przypisać kilku cechom na ich temat, więc wspomnę o kilku.
Po pierwsze, istnieje specyfikacja . Mam około trzydziestki i to istniało, odkąd byłem nastolatkiem. Można śmiało powiedzieć, że ta specyfikacja istnieje już od jakiegoś czasu. Oczywiście istnieje kilka innych formatów, które są również publikowane, ale różnica w tym jednym polega na tym, że ...
To jest stosunkowo proste! Jest zbudowany na bazie formatu DBF , który w tym czasie już istniał i był szeroko obsługiwany na kilku platformach / systemach operacyjnych. Były już parsery, które potrafiły odczytać połowę tego formatu (część DBF), więc ułatwiło to obsługę dodatkowego dodawania. Masz geometrię? Pewnie po prostu serializuj i napisz. Gotowe. Porównaj to z zasięgiem ! Spróbuj wyjaśnić komuś w prosty sposób, co robi czyszczenie topologii . Nie jest trywialne napisanie czysto topologicznego pokrycia.
Co najważniejsze, myślę, że głównym powodem, dla którego pliki kształtu są nadal popularne, jest to , że są one obsługiwane zarówno w systemach Open Source, jak i zastrzeżonych . Jaki wiesz GIS, który nie obsługuje plików kształtu?!? Niespotykane.
Jako zamiennik słyszymy o GeoDat bazach danych i Spatialite . Oba formaty są znacznie lepsze pod względem funkcjonalności, elastyczności, szybkości itp. W porównaniu z Shapefiles. Na swój sposób mają pewne rzeczy, które czynią je lepszymi od siebie w różnych obszarach, ale porównanie przestrzeni i FileGDB z pewnością nie wchodzi w zakres tego pytania.
Czy myślę, że którykolwiek z tych formatów zastąpi pliki Shapefiles? Nie w ich obecnych wcieleniach .
Dlaczego?
Nie z powodu argumentu technologicznego (powiedziałem przecież, że pod tym względem są lepsze), ale z powodu czegoś innego: licencjonowania.
Jakie są ich problemy?
FileGDB :
FileGDB zapewnia interoperacyjność dzięki nowemu API FileGDB. Niemniej jednak ten interfejs API jest dostarczany w formacie binarnymprzez ESRI. To nie jest specyfikacja. Pracując w przeszłości w zespole GeoDatabase, mogę ci powiedzieć, w przeciwieństwie do wszystkich teoretyków spiskowych noszących blaszany kapelusz, nie jest to wcale złośliwe. Jest tak, ponieważ elementy wewnętrzne GeoDatabase zmieniają się w każdym wydaniu. Publikacja pełnej specyfikacji wymagałaby zasadniczo podania wszystkich szczegółów dotyczących tego, jak wszystko powinno być utrzymywane, a następnie dokładnego dokumentowania zmian w formacie przy każdej corocznej wersji. To nie ma sensu. Dlatego API FileGDB, mimo że nie jest specyfikacją, wyodrębnia wszystkie te małe zmiany. A teraz można go używać na różnych platformach! Pamiętaj, to ogromny krok naprzód! Biorąc pod uwagę konserwatywny charakter ESRI, jest to zdecydowanie reakcja we właściwym kierunku.
A jednak wsparcie tylko binarne nie sprawia, że nikt w świecie Open Source jest zbyt szczęśliwy. Jak zatem skorzystać z przeniesienia jakiegoś kodu, aby powiedzieć innemu smakowi Linuksa, jeśli ESRI go nie obsługuje. Nie możesz To sprawia, że Open Source jest potężny, a teraz nie możesz z tego skorzystać. Jeśli ESRI zdecyduje się przestać wspierać Debiana, to wszystko. Gotowe. I nic nie możesz zrobić, aby to zmienić.
Przestrzenny :
Spatialite jest niesamowity, ponieważ oferuje wszystkie bezpłatne funkcje SQLite . SQLite jest używany wszędzie. Jest na telefonie z Androidem, iPhonie / iPadzie, Firefox, Google Chrome, na kilku komercyjnych urządzeniach wbudowanych - może trwać wiecznie. Aby naprawdę przekształcić go w Geoformat (a nie tylko wykonywać głupie operacje ograniczające), musi korzystać z tej samej biblioteki geometrii, z której korzysta PostGIS: GEOS . Niestety, GEOS opiera się na innej, jeszcze bardziej niesamowitej bibliotece geometrii znanej jako JTS . Wszystkie algorytmy w JTS są niezwykle wydajne, więc na czym polega problem?
Cóż, JTS jest licencjonowany jako Open Source LGPL , a LGPL jest licencją wirusową . JTS to LGPL, co oznacza, że GEOS to LGPL, oznacza, że przestrzennie powiązane statycznie z GEOS to LGPL. To jest do bani. Dlaczego? Bez zbytniego wyjaśniania licencji typu open source mogę powiedzieć, że na przykład nie mogę używać funkcji spatialite na, powiedzmy, aplikacji na iPhone'a, ponieważ to spowodowałoby, że cała moja aplikacja byłaby automatycznie open source (iOS umożliwia tylko statyczne łączenie). Jakikolwiek rodzaj licencji GPL (rozsądnie) odstrasza ESRI od bzdur, więc nie dotkną go słupem o długości 10 stóp. Dlatego ArcGIS, najpopularniejszy system GIS na świecie, nie obsługuje (i prawdopodobnie nigdy nie będzie) natywnie przestrzenny. To automatycznie zabija go jako realny format.
W ten sposób wracamy do gównianych plików kształtów, które są obsługiwane wszędzie.
Aktualizacja :
Najwyraźniej moja odpowiedź była na tyle kontrowersyjna, że ktoś uznał, że swobodnie jest edytować i zmieniać całe znaczenie mojej odpowiedzi, aby przedstawić ich punkt widzenia. Proszę nie rób tego. Jeśli się ze mną nie zgadzasz, to w porządku, po prostu opublikuj swoją opinię w innej odpowiedzi i pozwól społeczności podjąć decyzję. Wycofałem zmiany do mojej odpowiedzi, aby pokazać oryginalne znaczenie. Dodaję tę aktualizację na wypadek, gdybyś przeczytał zredagowaną odpowiedź, która twierdziła, że sqlite jest wykonalnym formatem.
źródło
Sama część SHP + SHX nie jest taka zła. Prawdziwy problem leży w części DBF. Mógłby to zrobić z nowym formatem, który obsługiwał Unicode i wszelkiego rodzaju nowoczesne typy pól. Problem polega na tym, że jest dobrze obsługiwany przez wszystkie dostępne oprogramowanie.
źródło
GeoPackage jest obiecującym następcą. Jest podobny do Spatialite, ale z OGC i został przyjęty przez wiele programów, w tym ArcGIS i OGR.
Zobacz oficjalną stronę główną http://www.geopackage.org/ i np. Tę prezentację: http://www.slideshare.net/JeffYutzler/geopackage-swg-overview
źródło
Przynajmniej spatialite ma taki zamiar, patrz np. Ta prezentacja http://www.sourcepole.ch/assets/2010/9/10/foss4g2010_spatialite.pdf
Z drugiej strony uważam, że głównym powodem niepowodzenia było to, że shp jest dobrze obsługiwany przez wiele aplikacji i ma tylko niewielkie braki.
Inni podzielają również tę opinię:
http://www.spatiallyadjusted.com/2010/09/16/spatialite-is-not-the-shapefile-of-the-future/
Więcej przemyśleń na temat geobazy danych Esri, spatialite i autodesk sdf tutaj: http://www.spatialdbadvisor.com/blog/121/the-shapefile-manifesto
źródło
Esri od kilku lat promuje Geobazy Plików jako zamiennik plików kształtów.
Niedawno udostępnili interfejs API, który ukrywa wszelkie osobliwości.
źródło
Dialekt XML, podobnie jak GML, zdecydowanie nie jest zoptymalizowany do obsługi ogromnych zestawów danych, ale może być używany jako format wymiany między oprogramowaniem lub platformami.
Nie sądzę, aby pojawił się problem z licencjonowaniem (patrz post Ragi Yaser Burhum o wirusowych cechach Spatialite) i dość łatwo jest przystosować istniejące parsery, jeśli jest to wymagane.
źródło
Żeby spojrzeć na to z innej perspektywy, nie jestem pewien, czy użycie „Odsetek obywateli w wieku 25 lat i starszych z tytułem licencjata lub wyższym” jest doskonale dobrą nazwą. Podczas gdy mieszanie spacji i apostrofów może być obsługiwane, jeśli piszesz kod lub zapytania, bardziej prawdopodobne jest wprowadzenie błędów.
Moim zdaniem przyszłość dystrybucji danych przestrzennych powinna koncentrować się na sieci i usługach internetowych, a specyfikacja WFS (która korzysta z GML) jest otwarta i ustalona. GeoJSON jest mniejszy i można go łatwiej obsługiwać w JavaScript. Jednak przy kompresji rozmiary są porównywalne.
Chciałbym także oddać głos na osobiste bazy danych ESRI . Może to być często złośliwy format Microsoft, ale obsługuje ODBC, zapytania SQL, widoki i pozwala programistom na tworzenie łatwych formularzy wprowadzania danych oraz uwzględnienie co najmniej pewnego poziomu kontroli integralności danych (typy danych, długości, unikalne wartości) .
źródło