-
Notifications
You must be signed in to change notification settings - Fork 4
ISYBAU XML einlesen
Thomas Schüttenberg edited this page Dec 9, 2017
·
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 2013 Schemas in der PostgreSQL Datenbank angelegt. 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 die Tabellen und Felder des ISYBAU 2013 Schemas in der PostgreSQL Datenbank angelegt, die im XML-Dokunent vorkommen.
-
zusätzliche Optionen:
-
-forceNullable
Die im Quellschema bestehenden NOT NULL Constraints nicht in die Zieltabellen übertragen. -overwrite
-oo REMOVE_UNUSED_LAYERS=NO
-oo REMOVE_UNUSED_FIELDS=NO
-oo EXPOSE_METADATA_LAYERS=YES
-
ogr2ogr -overwrite -f PostgreSQL PG:"host=localhost port=5432 dbname=kanal password=xyz user=twb schemas=isybau"
GMLAS:Q:\isybau_schema\1302-metadaten.xsd -oo XSD=Q:\isybau_schema\1302-metadaten.xsd -oo REMOVE_UNUSED_LAYERS=NO
-oo REMOVE_UNUSED_FIELDS=NO -oo EXPOSE_METADATA_LAYERS=YES -nlt CONVERT_TO_LINEAR -forceNullable
ogr2ogr -append -update -f PostgreSQL PG:"host=localhost port=5432 dbname=kanal password=xyz user=twb schemas=isybau"
GMLAS:Q:\gdm\isybau2qgep\ISYBAU_XML-2013-Stammdaten_Sanierung_Abnahme.xml -oo XSD=Q:\isybau_schema\1302-metadaten.xsd
-oo REMOVE_UNUSED_LAYERS=NO -oo REMOVE_UNUSED_FIELDS=NO -oo EXPOSE_METADATA_LAYERS=YES -nlt CONVERT_TO_LINEAR -forceNullable