-
Notifications
You must be signed in to change notification settings - Fork 4
ISYBAU XML einlesen
Thomas Schüttenberg edited this page Jan 5, 2018
·
27 revisions
Es braucht die Open Option "XSD", um auf das lokale Schema zu verweisen s.o., um mit dem OGR Treiber GMLAS eine ISYBAU XML-Datei zu öffnen.
ogrinfo GMLAS:1302_ISYBAU_XML_Beispieldaten\ISYBAU_XML-2013-Stammdaten_Sanierung_Abnahme.xml
-oo XSD=1302_ISYBAU_XML_Schema\1302-metadaten.xsd
OSGeo4W Shell: Pfade relativ, entsprechend einem heruntergeladenen isybau2qgep Repo...
- Layernamen (z.B.
identifika_datenkolle_zustandsda_inspiziertabwassertecanlage
) werden durch GMLAS jeweils aus den XML-Elementen (Tabellen), zwischen denen nur 1:1-Relationen bestehen, aneinander gereiht.- Der Treiber versucht dabei immer eindeutige Layernamen aus maximal 64 Zeichen zu bilden (mittels Abkürzungs-Logik und laufenden Nummern, falls doch Duplikate auftreten). - (vgl. #38)
- Mit ein und dem selben Eingangsschema führt das natürlich immer zum selben Ergebnis. Das bedeutet, die Layerbezeichnungen von ISYBAU-Importen sind vorhersehbar, was für die standardisierte Weiterverarbeitung von Vorteil ist!
Zunächst Schema anlegen, sonst erfolgt der Import in public
.
ogrinfo PG:"host=localhost port=5432 dbname=testdb password=xyz user=twb" -sql "CREATE SCHEMA isybau"
ogr2ogr -f PostgreSQL PG:"host=localhost port=5432 dbname=testdb password=xyz user=twb schemas=isybau"
GMLAS:1302_ISYBAU_XML_Schema\1302-metadaten.xsd -oo XSD=1302_ISYBAU_XML_Schema\1302-metadaten.xsd
- Dadurch werden alle 62 Tabellen des ISYBAU XML 2013 Schemas in der PostgreSQL Datenbank angelegt (s.u.).
- Dies ist jedoch keine zwingende Vorraussetzung für einen Datenimport.
ogr2ogr -f PostgreSQL PG:"host=localhost port=5432 dbname=testdb password=xyz user=twb schemas=isybau"
GMLAS:1302_ISYBAU_XML_Beispieldaten\ISYBAU_XML-2013-Stammdaten_Sanierung_Abnahme.xml
-oo XSD=1302_ISYBAU_XML_Schema\1302-metadaten.xsd
-oo REMOVE_UNUSED_LAYERS=YES -oo REMOVE_UNUSED_FIELDS=YES -forceNullable
- Dadurch werden nur die Tabellen und Felder des ISYBAU XML 2013 Schemas in der PostgreSQL Datenbank angelegt, die im XML-Dokunent vorkommen.
(vgl. Checkboxes der GML App Schema Toolbox):
-
-oo SCHEMA_FULL_CHECKING={NO|YES}
Whether to be pedantic with XSD checking or to be forgiving e.g. if the invalid part of the schema is not referenced in the main document. Defaults to NO. -
-oo VALIDATE={NO|YES}
: whether the document should be validated against the schemas. Validation is done at dataset opening. Default is NO.-
-oo FAIL_IF_VALIDATION_ERROR={NO|YES}
: Whether a validation error should cause dataset opening to fail. (only used if VALIDATE=YES) Default is NO.
-
-
-oo REMOVE_UNUSED_LAYERS={NO|YES}
Im XML nicht vorkommende Layer nicht mit ausgeben, Voreinstellung NO. -
-oo REMOVE_UNUSED_FIELDS={NO|YES}
Im XML nicht vorkommende Felder nicht mit ausgeben, Voreinstellung NO. -
-forceNullable
Die im Quellschema bestehenden NOT NULL Constraints nicht in die Zieltabellen übertragen, d.h. weniger strikt als das Schema verlangt.- ggf. stattdessen
-skipfailures
- ggf. stattdessen
-
-overwrite
überschreiben, d.h. vorhandene Ausgabelayer werden gelöscht und neu, leer angelegt. -
-append
Daten werden an vorhandene Layer angefügt, statt diese neu zu erstellen.
Für einen robusten, vollständgen Import hinsichtlich einer Datenaufbereitung und Weiterverarbeitung empfielt es sich den vollständigen Umfang des Schemas, also alle Layer und alle Felder zu importieren bzw. zu generieren und evt. NOT NULL Fehler zuzulassen.
- Konfigurationsdatei
- mehrere Importe in das gleiche Schema (-append) -> Zusammenführen von ISYBAU XML Dateien