XML und GML - FME World Tour
Transcrição
XML und GML - FME World Tour
XML und GML-Datenverarbeitung mit FME 2014 „If you can read - you can write it“ Christian Dahmen con terra GmbH Übersicht • • • • Einführung XML und GML lesen XML und GML schreiben Mehr XML XML und GML • EXtensible Markup Language (XML) > World Wide Web Consortium (W3C) > Auszeichnungssprache • Geography Markup Language (GML) > Open Geospatial Consortium (OGC) > XML Schema zum Austausch räumlicher Daten > Stellt als Bausteine bereit: Objekte, Geometrien, Raumbezugssysteme, Zeit, Maßeinheiten, etc. • Eigenschaften (Auswahl) > Wohlgeformtheit > Validität (Syntax und Schema) Anwendungsschema - Beispiele • AIXM 5.x - Aeronautical Information Exchange Model > Verwaltung und Austausch von flugverkehrsrelevanten Informationen (Aeronautical Information Services, kurz: AIS) • CityGML > Verwaltung und Austausch von virtuellen 3D-Stadtmodellen • NAS - Normbasierte Austauschschnittstelle > Format für den Datenaustausch der amtlichen Geobasisdaten des AAA-Datenmodells (ALKIS ®, ATKIS ® und AFIS®) • INSPIRE GML > Austausch von INSPIRE Geodaten (INSPIRE Download Services) • XPlanGML > Austausch von raumbezogenen Planwerken wie Bauleit-, Regionaloder Landschaftsplänen Übersicht • • • • Einführung XML und GML lesen XML und GML schreiben Mehr XML XML- und GML-Daten mit FME einlesen • Möglichkeiten zum Einlesen von XML/ GML-Daten > Anwendungsspezifische Reader (CityGML, NAS, …) > GML Reader + Schemadateien (*.xsd) > XML Reader + „Feature Paths“ > Xfmap, XQuery (Expertenansatz) Anwendungsspezifische Reader • • Reader-Galerie (Suche nach „XML“) Ca. 40 direkt unterstützte Formate, u.a. > AIXM 5.x (und AIXM 4.x) > CityGML > NAS > INSPIRE GML Reader + Anwendungsschema • GML Reader + Schemadateien (*.xsd) XML Reader • • Der XML Reader kann beliebige XML/ GML-Dokumente einlesen Mit „Feature Paths“ können Elemente angegeben werden, die automatisch in ein FME Feature konvertiert werden. > "Flatten"-Optionen > Transformer XMLFlattener und XMLFragmenter <?xml version="1.0" encoding="UTF-8"?> <FeatureCollection> <Contractor> <name>John</name> <city>Vancouver</city> </Contractor> <Contractor> <name>June</name> <city>Surrey</city> </Contractor> </FeatureCollection> XML lesen mit XfMap • • Einlesen beliebiger XML/ GML-Dokumente über XfMap • XML Reader XfMap definiert Regeln wie XML-Elemente auf FME Feature „gemappt“ werden. > Parameter: Auswahl zwischen Feature Path, xfMap und XRS • Transformer XMLFeatureMapper <?xml version="1.0"?> <xfMap> <feature-map> <mapping match="Feature"> <feature-type> <literal expr="Feature"/> </feature-type> </mapping> </feature-map> Übersicht • • • • Einführung XML und GML lesen XML und GML schreiben Mehr XML XML schreiben • • Anwendungsspezifische Writer (z.B. AIXM 5.x, CityGML) Ansatz über XML-Transformer und TextFile Writer > Erzeuge XML/GML mittels Transformer XMLTemplater > Schreibe die Ausgabe (Attribut) mittels TextFile Writer • Neu in FME 2014: GML Writer + Anwendungsschema Anwendungsspezifische Writer Transformer XMLTemplater • XMLTemplater zur Erzeugung beliebiger XML/ GML-Dokumente <?xml version="1.0" encoding="UTF-8"?> <Kontakt> <person> <nachname>Lutz</nachname> <vorname>Dale</vorname> </person> <person> <nachname>Murray</nachname> <vorname>Don</vorname> </person> </Kontakt> Neu in FME 2014: GML Writer + Anwendungsschema • Anwendungsschema-basiertes Schreiben von GML-Dateien > Beliebige Anwendungsschema (NAS, XPlanGML, usw.) • GML Writer verwendet Anwendungsschema zu Generierung des Schemas (in der Workbench) • Eigenschaften > Direktes Feature Type- und Attribut-Mapping („normales“ Mapping wie bei anderen Formaten) > Unterstützung von einfachen und komplexen Geometrien > „voidable“ Attribute -> NULL Unterstützung Ablauf • • • • • • GML Writer mit Anwendungsschema anlegen Gewünschte Feature Types und Attribute importieren Geometrieeigenschaften setzen Attribute und Listen vorbereiten/ erstellen Mapping durchführen Prozess starten AIXM 5.x - Writer • Writer auf Basis des GML Writers > Vorkonfiguriert für das Schreiben von AIXM 5.x INSPIRE GML Writer • Writer auf Basis des GML Writers > Vorkonfiguriert für das Schreiben von INSPIRE GML INSPIRE Writer INSPIRE Solution Pack for FME • • • Add-on für FME Desktop (kostenpflichtig) Vereinfachung des Schema-Mappings der INSPIRE-relevanten Basis- und Fachdaten auf das INSPIRE Datenmodell Erweiterung der FME um INSPIRE-spezifische Informationen und Funktionalitäten INSPIRE Solution Pack FME Desktop (Spatial ETL) Leistungsumfang • Vorlagen (Template Workspaces) für alle Annex I-Themen > Vorbereitete Schnittstelle zu den ArcGIS for INSPIRE-Datenmodellen > Alle INSPIRE-spezifischen Attribute sind vordefiniert. • Mehr als 100 zusätzliche INSPIRE-Transformer > INSPIRE-spezifische Attributerzeugung, Wertesetzungen und Abhängigkeiten > INSPIRE-spezifische Funktionen: INSPIRE_LifeSpanSetter, INSPIRE_IdentifierSetter • • INSPIRE-Werte- und Attribut- und Codelisten FME Workbench „Tutorial Workspace“ Eindrücke Eindrücke Übersicht • • • • Einführung XML und GML lesen XML und GML schreiben Mehr XML Mehr XML • XMLUpdater > Führt Aktualisierungen, Änderungen und Ergänzungen von XMLDokumenten aus • XMLAppender > Führt beliebige XML-Dokumente/ -Fragmente zusammen • XMLFormatter > Formatiert XML-Dokumente > Pretty-Print XML (Einrückung) > Kommentare und leere Elemente entfernen • … XQuery • • • • XML Query Language (W3C) Abfragesprache für XML-Dokumente http://www.w3.org/TR/xquery/ Beispiel > fn:count(//element) - zählt bestimmte Elemente Zusammenfassung • FME kann (nahezu) beliebige XML- und GML-Daten lesen und schrieben. • Die Auswahl der Methode zum Lesen und Schreiben hängt wesentlich vom Format (Anwendungsschema), aber auch von der Aufgabenstellung ab (vollständiges/ teilweises Einlesen) • Die Verarbeitung von JSON (Java Script Object Notation) erfolgt fast vollständig analog zur XML-Verarbeitung. > Beide Formate sind wesentlich für Webanwendungen.