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 !
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!).
- Wird von QGIS 1.8 und 2.x+ unterstützt, sowie nun auch von ArcGIS 10.2.x (siehe Screenshot File-Support ArcGIS 10.2.1).
ESRI weist für ArcGIS 10.2.x die Möglichkeit das Datenformat zu lesen aus – direktes Editieren ist nicht möglich. Ein genauer Test folgt. QGIS 2.2 unterstützt das Format vollwertig (Editieren!).
Die folgenden Twitter und Blogeinträge gehen auf Details ein:
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.
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.
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