Używasz GeoPackage zamiast SpatiaLite i odwrotnie?


36

Używam teraz QGIS 2.18, który obejmuje obsługę formatu GeoPackage.

Wiem, że GeoPackage jest jak zamiennik Shapefile, ale nie do końca, ponieważ GeoPackage ma możliwości baz danych. Jednocześnie GeoPackage nie zastępuje w pełni SpatiaLite, ponieważ nie ma zapytań przestrzennych i funkcji. Spatialite obsługuje także GeoPackage.

Zatem w kontekście edycji QGIS, kiedy warto używać GeoPackage (i uzyskiwać dostęp do GeoPackage ze SpatiaLite dla zadań Spatial SQL), a kiedy lepiej używać tylko Spatialite?


1
Interesuje mnie również to pytanie. Należy pamiętać, że obsługa geopakierowania jest obecnie ograniczona z powodu błędu blokującego po pierwszej edycji.
hilpers

Ale to już zostało rozwiązane ?! Nie szyfrował problemów z 2.18.
Matte

Niestety używam 2.18.3
hilpers

Testowałem to w wersji 2.18.3 z procedurą zapisaną w starym narzędziu do śledzenia błędów i nie mogłem go odtworzyć. W jakich okolicznościach masz problem?
Matte

Występuje również błąd blokowania po pierwszej edycji w GeoPackage, ale tylko wtedy, gdy korzystam z nowego importu DWG / DXF w 2.18.3. Mogę z powodzeniem zaimportować plik DWG i wstępnie edytować utworzony pakiet GeoPackage (np. W celu georeferencji za pomocą wtyczki Vector Bender). Ale kiedy zamknę projekt QGIS i ponownie otworzę przycisk edycji przełączania jest wyszarzony i GeoPackage nie może być ponownie edytowany.
Rob Willson

Odpowiedzi:


33

Małe porównanie między GeoPackage i SpatiaLite w QGIS. Do tej pory korzystanie z GeoPackage z QGIS nie jest zbyt produktywne. Może zmieniać się dość szybko (patrz dodatki!).

Niektóre uzupełnienia dotyczące nowego aliasu QGIS 2.99 QGIS 3, listopad 2017 (również dodane w porównaniu): GeoPackage działa teraz prawie bez żadnych problemów w QGIS 3. Wystąpiły niewielkie problemy, które mogą dotyczyć wersji dewelopera QGIS. Rozwiązano również najbardziej problematyczny problem dla SpatiaLite. Kolumny można teraz usuwać bez żadnych dodatkowych obejść. Oba nadal nie obsługują zapisu rastrowego za pomocą GUI, co nie jest dużym problemem, ponieważ rastry w bazie danych nie są głównym celem. Oba formaty to naprawdę dobre działające formaty. GeoPackage koncentruje się na formacie transportowym, a SpatiaLite to łatwy system baz danych oparty na plikach z wieloma narzędziami do budowania lokalnego magazynu danych (ponieważ jest to bardziej RDBMS niż format pliku).

Obie mają:

  1. transakcyjny
  2. SQL i widoki (ale widoki są różnie implementowane w używanym oprogramowaniu)
  3. „wszystko w jednym” warstwy wektorowe, symbolika i tekst, raster
  4. tabele atrybutów prawie bez ograniczeń w porównaniu do pliku kształtu
  5. potrzebujesz od czasu do czasu VACUUM (przechowywanie danych specyficzne dla bazy danych)
  6. większość typów geometrii (jak krzywe)

Pakiet GeoPackage:

  1. jest standardem OGC opartym na SQLite, co oznacza, że ​​implementacja powinna być bardziej spójna w różnych programach; na przykład symbolika może działać w QGIS i ArcMap w przyszłości, gdy używane będą style SLD
  2. całkiem młody (2014), dość pewne problemy z QGIS do 2.18 (aktualizacja: dobre wsparcie w QGIS 3)
  3. umożliwia łatwe usuwanie kolumn w QGIS dla „normalnych” użytkowników przeciwnych SpatiaLite
  4. w tej chwili DB-Manager nie działa z nim zbyt dobrze, a obsługa rastra ogranicza się do odczytu pojedynczego zintegrowanego rastra (bez zapisywania w nim) (przy użyciu QGIS 2.18.3) (aktualizacja: DB-Manager działa teraz dobrze z geopackage)
  5. widoki nie działają w QGIS, ale przez warstwę wirtualną nie stanowi większego problemu, gdy nie są używane do udostępniania wielu użytkownikom (aktualizacja: wciąż brak widoków, ponieważ QGIS 3 może faktycznie tworzyć widoki, ale nie może ich później odczytać)
  6. narzędzia geoprzetwarzania nie pozwalają na dołączanie do istniejącego pliku (zastępuje tylko cały plik) (aktualizacja: działa teraz)

SpatiaLite:

  1. jest rozszerzeniem SQLite, różnie zaimplementowanym w oprogramowaniu GI (głównie z powodu problemów ze sterownikami i wersjami)
  2. znacznie starszy i do tej pory lepiej zintegrowany z QGIS
  3. w QGIS nie można usuwać kolumn bez zapytania SQL, które nie jest skomplikowane, ale dla niektórych użytkowników już za dużo „kodu” (aktualizacja: QGIS 3 robi to teraz)
  4. całkiem duży plik, gdy tylko ma rękę pełną geometrii, niezbyt dobry jako format transportu, ale do przechowywania lokalnej bazy danych (zaczyna się od około 5 MB)
  5. Wiele dodatkowych narzędzi (widoki, mogą tworzyć sieci drogowe, wiele formatów importu / eksportu, zapytania ST_ i więcej)

Czy planujesz używać GeoPackage lub SpatiaLite tylko z QGIS, czy też z innym oprogramowaniem? SpatiaLite obsługuje również wszystkie te gaia-gis.it/gaia-sins/spatialite-sql-latest.html samodzielny bez QGIS.
user30184

Używam głównie SpatiaLite razem z QGIS, ale także ze SpatiaLite-GUI. Wprowadzam to na moich szkoleniach dla QGIS. Jedynym punktem jest problem usuwania kolumn dla początkujących. Nie wprowadzam go do szkoleń ArcGIS, ponieważ mają tam FileGeodatabase, która jest w niektórych organach obowiązkowa (w 10%, gdzie nie jest to plik kształtu, który jest nadal najnowocześniejszy ...). Zacząłem ogłaszać GeoPackage na zaawansowanych kursach QGIS, ale z wyżej wymienionymi wadami. Ale ponieważ GDAL ma dobrą implementację, nie może długo potrwać, dopóki QGIS nie będzie mieć potrzebnych przycisków.
Matte

Jak mówisz, twoje porównanie dotyczy użycia QGIS. Chciałbym podkreślić, że ocenianie, czy SpatiaLite lub GeoPackage jest lepsze na podstawie przypadku „kolumny”, jest bardzo specyficzne dla QGIS. Sam SQLite nie obsługuje tej operacji bezpośrednio sqlite.org/lang_altertable.html . Te same obejścia działają zarówno dla SpatiaLite, jak i GeoPackage, nawet niektóre programy mogą nie mieć przycisków.
user30184

1
Umieściłem to w kontekście pierwotnego pytania, w którym chodziło o QGIS. Punkt z kolumną był jednym przykładem, w którym mam nadzieję, że standard doprowadzi do bardziej spójnego wykorzystania w programach, ponieważ jest to temat dla „normalnego” użytkownika. Nie jestem pewien, czy będzie to możliwe dzięki SpatiaLite, ponieważ poziom integracji jest tak różny nawet po kilku latach. W końcu doprowadzi mnie to do momentu, w którym może być nowym znormalizowanym formatem transportu (GeoPackage). SpatiaLite jest bardziej jak GIS z wbudowanymi funkcjami (zapytania ST, wiele opcji importu danych, sieć ...).
Matte

Zarówno GeoPackage, jak i SpatiaLite są oparte na SQLite.
Matthias Kuhn
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.