Skip to content

ISYBAU XML einlesen

Thomas Schüttenberg edited this page Dec 8, 2017 · 27 revisions

mittels GMLAS

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...

Resultat

  • 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!

PostGIS Datenbankimport

Mit OGR kann kein PostgreSQL Schema angelegt werden

? Schema anlagen mittel ogr2ogr funktioniert nicht: Warning 6: dataset PG: [...] does not support layer creation option CREATE_SCHEMA

Import (überschreibend)

ogr2ogr -overwrite -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

leere Tabellen im ISYBAU DB-Schema anlegen

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

(weiterer) Import im angegebenen Schema (-append)

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
Clone this wiki locally