Die neuen Shapefiles ? SQLite/Spatialite und Co.

Das im GIS-Umfeld weit verbreitete Shapefile-Format (SHP) für Vektordaten hat viele Jahre hinter sich gebracht und beruht auf alten Standards – mitsamt zahlreichen Einschränkungen (Topologie, …).  De facto muss man aus der Praxis gesprochen sagen, dass es aktuell noch immer das meist verwendete Datenaustauschformat darstellt (vermutlich auch oft noch Arbeitsformat) – die meisten frei verfügbaren Geodaten stehen als SHP bespielsweise in den Opendata-Portalen bereit. Mit etwas Glück werden neuere Formate wie GeoJSON angeboten.  Die GIS-Welt befindet sich aber nun langsam im „offenen“ Umbruch – die Alternativen sind da !

Arcgis102_sqlite
ArcGIS 10.2.1 bietet SQLite Unterstützung

Die letzten Jahre hatte man den Eindruck, dass einerseits ESRI mit den Personal/File-Geodatabase-Formaten und SDE/Serverdatenbanken einen Weg eingeschlagen hat, andererseits sich in der OSS-Szene ebenfalls neuere Formate und Technologien wie SQLite/Spatiallite und PostGIS etabliert haben. Aktuell (Q1/2014) scheinen sich beide Welten anzunähern. Was sind nun die „neuen“ Geodatenformate, die sich anbieten ?

SQLite/Spatialite

In OpenSource GIS-Produkten wie QGIS schon länger unterstützt, bieten diese Formate die praktische Option die Geodaten in EINER Datenbank (Datei) zu speichern – und das ganze file-basierend ! Spatiallite ist eine Erweiterung für SQLite – quasi das Oracle-Spatial dazu (räumliche SQL-Abfragen!).

QGIS22_newsqllite

Die Speicherung in diesen Formaten hat zahlreiche Vorteile und hat ihren Charme (SQL-Zugriff etc.). Die breitere Unterstützung nun macht das ganze interessant.

SQLite/Spatialite Database mit ArcGIS 10.2.x erstellen

Leider wird dies noch nicht im klassischen „Click-Weg“ angeboten (kein Create New…), jedoch helfen 3 Zeilen Python in der Python-Konsole:

import arcpy

sqlite_database_path = "/PathTo/Database.sqlite"

arcpy.gp.CreateSQLiteDatabase(sqlite_database_path, "SPATIALITE"

Anstatt einer Spatialite-Datenbank kann man auch den Geometry-Typ con SQLite verwenden: „SPATIALITE“ durch „ST_GEOMETRY“ ersetzen.

Die Arbeit und der Zugriff auf die SQLite/Spatialite DB benötigt lediglich eine „Folder Connection“ (Connect to Folder) in das entsprechende Verzeichnis ! Das Editieren von Features in diesen Datenbanken ist derzeit (ArcMap 10.2.2) noch nicht möglich. Der Daten- Import/Export klappt jedoch.

ArcGIS 10.2.2 Spatialite Layer
ArcGIS 10.2.2 Spatialite Layer

Mehr mit Spatialite machen… hier

GeoPackage

Das GeoPackage-Format beruht auf SQLite und wird gerne als das Shapefile der Zukunft bezeichnet – u.a. in folgendem Vortrag mit zahlreichen Fakten dazu: http://www.fossgis.de/konferenz/2013/programm/attachments/421_fossgis13_geopackage.pdf

GeoPackage wird ein OGC-Standard werden – mehr dazu unter http://www.geopackage.org/

Use GeoPackage with ArcGIS 10.2.x (Draft)

Unter ArcGIS 10.2.x kann man das GeoPackage-Format in der Draft Version mit kleinen manuellen Eingriffen bereits verwenden:

Der „schnelle Weg“ dahin sind 3 Zeilen Python:

import arcpy
sqlite_database_path="/PathTo/Geopackefile.gpkg"
arcpy.gp.CreateSQLiteDatabase(sqlite_database_path,"GEOPACKAGE")

Nun sieht man das GeoPackage in den Folder-Connections im Catalog und kann darin auch arbeiten (siehe Screenshot) – in eigenen Tests hat weder das Editieren noch hat der Import von Daten zuverlässig geklappt.

GeoPackage in ArcGIS 10.2.2
GeoPackage in ArcGIS 10.2.2

http://blogs.esri.com/esri/arcgis/2014/04/14/support-for-ogc-geopackages-in-arcgis/

und

http://de.slideshare.net/MartenHogeweg/ogc-geopackage-support-in-arcgis