Ili2gpkg: Bessere Unterstützung für ArcGIS

Nach etwas Recherche und eigenen Tests habe ich folgende Erkenntnis gewonnen, was die Unterstützung von GeoPackage durch ArcGIS betrifft (Basis: ArcGIS Pro 3.3.1):

Feststellungen

1. Autoincrement

Damit eine Tabelle in einer GeoPackage-Datei in ArcGIS nicht nur angezeigt, sondern auch editiert werden kann, muss diejenige Spalte mit dem Primärschlüssel zusätzlich die Eigenschaft AUTOINCREMENT aufweisen. Ist dies nicht der Fall, so erscheint die folgende Fehlermeldung und die Änderungen lassen sich nicht speichern.
"The table does not have an auto-incrementing column."

2. Inhalt von gpkg_contents

Wird eine GeoPackage-Datei in ArcGIS Pro geöffnet, so werden nur diejenigen Tabellen aufgeführt, welche in der Systemtabelle gpkg_contents registriert sind. Alle anderen Tabellen werden ignoriert.

Obige Feststellungen führen zu folgenden Problemen in Zusammenhang mit ili2gpkg:

Probleme

zu 1: Die Verwendung von AUTOINCREMENT ist für das korrekte Funktionieren einer .gpkg-Datei nicht nötig, es wird sogar aus Performancegründen explizit davon abgeraten, AUTOINCREMENT zu verwenden! Wohl aus diesem Grund wird bei der Erstellung eines GeoPackages mittels ili2gpkg darauf verzichtet. Trotzdem scheint ArcGIS Pro darauf zu bestehen, wenn man Daten editieren will. Das hat ein Test gezeigt, wo ich bei einem mittels ili2gpkg erzeugten GeoPackage und manueller Ergänzung von AUTOINCREMENT erfolgreich Daten in ArcGIS Pro editieren konnte.

zu 2: ili2gpkg ergänzt die Systemtabelle gpkg_contents nur mit solchen Einträgen auf Tabellen, welche eine Geometrie enthalten. Alle anderen Tabellen (z. B. Wertelisten von INTERLIS Aufzähltypen) erscheinen nicht in gpkg_contents und werden deshalb von ArcGIS Pro nicht angezeigt.

Lösungsvorschläge (zur Diskussion)

zu 1: Mein Test hat gezeigt, dass wenn man bei einem mit ili2gpkg erzeugten GeoPackage in der fraglichen Tabelle bei der Spalte T_Id die Eigenschaft AUTOINCREMENT mitgibt, dies das Editieren in ArcGIS Pro ermöglicht. Daher scheint es mir sinnvoll, wenn man dies als Option bei der Erzeugung des Schemas mitgeben könnte.

zu 2: Zusätzlich zu den bestehenden Tabellen, welche eine Geometrie enthalten, könnte man die übrigen Tabellen, welche durch ili2gpkg erzeugt werden, ebenfalls in gpkg_contents registrieren. Damit stünden diese in ArcGIS Pro zur Verfügung und könnten - falls Punkt 1 realisiert würde - ebenfalls editiert werden.

Wie steht ihr zu diesem Vorschlag? Welche Erfahrungen habt ihr mit GeoPackage und ArcGIS gemacht? Habe ich etwas übersehen und geht es viel einfacher? ESRI selber sieht GeoPackage ja als Nachfolger des Shapefiles.

cc @personal_jensus @olivergrimm @mel @Philippluca @ThomasMarti @ceis @mzehnder @taetscher

4 „Gefällt mir“

@beistehen Danke für diese umfassende Analyse!

btw: Geowerkstatt organisiert am 30.10.2024 einen Workshop in Aarau mit dem Ziel des Austauschs zu Problemen und Hürden mit bestehenden OSS INTERLIS Werkzeugen in Esri-Infrastrukturen.
Interessierte können sich gerne bei mir melden (oliver.grimm@geowerkstatt.ch)

Danke fürs taggen, aber ich kann da leider nicht allzu viel beitragen. Wir verwenden noch ArcGIS 10.6 und da ist die Unterstützung des Geopackages noch nirgends.

Ein Update ist zudem nicht absehbar, eher ein kompletter Wechsel zu QGIS.

Welche Erfahrungen habt ihr mit GeoPackage und ArcGIS gemacht?

Full disclosure: Meine Erfahrung mit GeoPackage und ArcGIS (Pro) ist limitiert. Ich habe mich heute zum ersten Mal testweise damit beschäftigt.

Ich konnte dank diesem Beitrag mit ArcGIS Pro auf ein Geopackage zugreifen - merci Stefan!

Dabei ist mir aufgefallen, dass ArcGIS Pro offenbar nur für File-Geodatabases (.gdb) die Verwendung von Domains (Aufzählungstabellen) ermöglicht, vgl. Support-Page von ESRI. Mit im Geopackage definierten FKs, wie sie von ili2gpkg angelegt werden, scheint nichts gemacht zu werden. Im von @beistehen verlinkten ESRI-Blog wird ebenfalls auf diesen Umstand hingewiesen, wenn auch (fälschlicherweise :slight_smile: ) das Geopackage dafür verantwortlich gemacht wird:

It is a great format for, well, geo-packaging! However, don’t go as far as thinking it is a full-blown GIS workspace, it doesn’t have geodatabase behaviors like domains and attribute rules.

Eine Auflösung von FKs in Aufzählungstabellen (wie man sie bspw. aus QGIS / PG kennt) mit GeoPackage und ArcGIS Pro scheint also (zurzeit?) nicht möglich. Wenn das tatsächlich so ist, wäre das für mich eine grosse Hürde, um diese beiden Technologien irgendwo gemeinsam produktiv einzusetzen.

Von einem User zu verlangen, dass er nur gültige FKs eingibt (und sich bspw. daneben die Aufzählungstabelle öffnet um diese FKs „nachzuschlagen“) finde ich unzumutbar.

2 „Gefällt mir“

Wir (beim Kanton Luzern) nutzen die MGDM als reine Transfermodelle und nicht als „Erfassungsmodelle“. Das heisst ili2gpkg nutzen wir z.B. für die Datenüberführung, allerdings wird hierbei die GeoPackage-Datei nicht verändert und es werden keine Daten editiert. Aktuell sind wir deshalb nicht auf die beiden Lösungsvorschläge angewiesen.
Da das GeoPackage als Nachfolger des Shapefiles angesehen wird, finden wir aber auch, dass das Editieren in ArcGIS Pro grundsätzlich unterstützt werden sollte.

1 „Gefällt mir“

ArcGIS Pro müsste die GeoPackage Schema Extension „lernen“. Diese beinhaltet eine Implementierung für enum und ranged domains und GLOBs. QGIS kann damit seit Version 3.26 umgehen. Allerdings macht der QGIS Model Baker bis dato davon keinen Gebrauch, dort gibt es wiederum eine andere Implementierung von Codelisten.

1 „Gefällt mir“