Seminar: mobile GIS Austausch von Geodaten Tobias Wallura 30. Juni 2011 Tobias Wallura Austausch von Geodaten 30.06.2011 1 / 31
Agenda 1 Einführung 2 XML XML Schema XLink und XPointer XSLT 3 GML GML Dokumente Object-Property Model Relationen Features Feature Collections Geometrien 4 Zusammenfassung Tobias Wallura Austausch von Geodaten 30.06.2011 2 / 31
Einführung Überblick 1 Einführung 2 XML XML Schema XLink und XPointer XSLT 3 GML GML Dokumente Object-Property Model Relationen Features Feature Collections Geometrien 4 Zusammenfassung Tobias Wallura Austausch von Geodaten 30.06.2011 3 / 31
Einführung Entwicklung von GML Tobias Wallura Austausch von Geodaten 30.06.2011 4 / 31
Einführung Einsatz von GML im Internet Tobias Wallura Austausch von Geodaten 30.06.2011 5 / 31
XML Überblick 1 Einführung 2 XML XML Schema XLink und XPointer XSLT 3 GML GML Dokumente Object-Property Model Relationen Features Feature Collections Geometrien 4 Zusammenfassung Tobias Wallura Austausch von Geodaten 30.06.2011 6 / 31
XML XML Standards Tobias Wallura Austausch von Geodaten 30.06.2011 7 / 31
XML XML Schema XML Schema Beschreibung und Validierung von XML Dokumenten Begriffsklärung Typ : XML Schema Dokument: struktureller Typ / Content Model XML Schema Instanz: semantischer Typ Tobias Wallura Austausch von Geodaten 30.06.2011 8 / 31
XML XML Schema XML Namensräume Durch URIs identifiziert XML Schema: targetnamespace=uri Einbinden eines Namespaces: xmlns:xs="http://www.w3.org/2001/xmlschema" Tobias Wallura Austausch von Geodaten 30.06.2011 9 / 31
XML XML Schema Einfache Elemente XML Element: <simpletype> Textelement Keine Attribute Definiert auf Basis eines vorhandenen Datentyps <xs:simpletype name=" Simple "> < x s : r e s t r i c t i o n base=" x s : s t r i n g "> <x s : p a t t e r n v a l u e="[0 9]+ [0 9]+" /> </ x s : r e s t r i c t i o n> </ xs: simpletype> Tobias Wallura Austausch von Geodaten 30.06.2011 10 / 31
XML XML Schema Komplexe Elemente XML Element: <complextype> Beliebig viele Kindelemente und Attribute Vererbung <xs:complextype name=" Complex "> <x s : c o m p l e x C o n t e n t> <x s : e x t e n s i o n base=".. "> <x s : s e q u e n c e> <xs:element name=" c h i l d " type=" x s : i n t " /> </ x s : s e q u e n c e> <x s : a t t r i b u t e name=" i d " type=" x s : I D " /> </ x s : e x t e n s i o n> </ xs. complexcontent> </ xs:complextype> Tobias Wallura Austausch von Geodaten 30.06.2011 11 / 31
XML XML Schema Substitution Groups Definiert Elemente welche anstelle anderer eingesetzt werden können Anwendung bei Vererbungshierarchien: ein Basistyp, alle abgeleiteten Typen können stattdessen verwendet werden <xs:element name="number" type=" x s : i n t " /> <xs:element name=" z a h l " type=" x s : i n t e g e r " substitutiongroup="number" /> Tobias Wallura Austausch von Geodaten 30.06.2011 12 / 31
XML XLink und XPointer XLink Verknüpfen entfernter Ressourcen Simple und Extended Verweis durch das Attribut xlink:href Tobias Wallura Austausch von Geodaten 30.06.2011 13 / 31
XML XLink und XPointer XPointer Referenzieren von Elementen Verwendet das Attribut xlink:href="#xpointer" Alles nach # wird von XPointer ausgewertet Selektion durch XPath <l i n k x l i n k : t y p e=" s i m p l e " x l i n k : h r e f=" h t t p : //w3. org /2001/XMLSchema. xsd#i n t " /> <l i n k x l i n k : h r e f="#x p o i n t e r ( i d ( ID ) ) " /> <l i n k x l i n k : h r e f="#id" /> Tobias Wallura Austausch von Geodaten 30.06.2011 14 / 31
XML XSLT XSLT Transformation von XML Dokumenten Ausgabe in beliebigen Format Tobias Wallura Austausch von Geodaten 30.06.2011 15 / 31
GML Überblick 1 Einführung 2 XML XML Schema XLink und XPointer XSLT 3 GML GML Dokumente Object-Property Model Relationen Features Feature Collections Geometrien 4 Zusammenfassung Tobias Wallura Austausch von Geodaten 30.06.2011 16 / 31
GML GML Dokumente GML Dokumente Tobias Wallura Austausch von Geodaten 30.06.2011 17 / 31
GML Object-Property Model Object-Property Model <app:objectname1 g m l : i d=".. "> <app:propertyname1>v a l u e 1</ app:propertyname1> <app:propertyname2> <app:objectname2 g m l : i d=".. ">...</ app:objectname2> </ app:propertyname2> <app:propertyname3>v a l u e 3</ app:propertyname3> </ app: ObjectName1> Tobias Wallura Austausch von Geodaten 30.06.2011 18 / 31
GML Relationen Relationen Verwendet XLink und XPointer Nur bei Properties erlaubt <Stadt g m l : i d=" Augsburg "> <gml: name>augsburg</ gml:name> < l i e g t I n x l i n k : h r e f="#de BY" /> </ Stadt> <Bundesland g m l : i d="de BY"> <gml: name>bayern</ gml: name> <e n t h a e l t x l i n k : h r e f="#augsburg " /> </ Bundesland> Tobias Wallura Austausch von Geodaten 30.06.2011 19 / 31
GML Features Vererbungshierarchie: Features Tobias Wallura Austausch von Geodaten 30.06.2011 20 / 31
GML Features Features Enthält geometrische und informative Daten In Application Schemas definiert An ein Anwendungsgebiet angepasst Tobias Wallura Austausch von Geodaten 30.06.2011 21 / 31
GML Feature Collections Feature Collections Ist ein spezielles Feature Aggregiert mehrere Features Benötigt das Property <gml:boundedby>. Mögliche Werte: Bounding Box (Envelope) Null Tobias Wallura Austausch von Geodaten 30.06.2011 22 / 31
GML Geometrien Vererbungshierarchie: Geometrien Tobias Wallura Austausch von Geodaten 30.06.2011 23 / 31
GML Geometrien Geometrien: Basistypen pos Ein Punkt im zugehörigen Koordinatensystem poslist Eine Liste von Punkten coordinates Selbe Funktion wie gml:poslist mit anderer Syntax. Ab GML 3 veraltet. Tobias Wallura Austausch von Geodaten 30.06.2011 24 / 31
GML Geometrien Geometrien Point Beschreibt einen Punkt im Raum LineString Gibt eine durch Punkte verbundene Linie an Polygon Eine Fläche, beschrieben durch einen äußeren Ring und beliebig vielen inneren Ringen Solid Ein dreidimensional Objekt, beschrieben durch eine äußere und beliebig vielen innere Grenzen (Shells) Tobias Wallura Austausch von Geodaten 30.06.2011 25 / 31
GML Geometrien Beispiel: GML Application Schema Tobias Wallura Austausch von Geodaten 30.06.2011 26 / 31
GML Geometrien Beispiel: GML Application Schema <xs:complextype name=" StadtType "> <x s : c o m p l e x C o n t e n t> <x s : e x t e n s i o n base=" g m l : A b s t r a c t F e a t u r e T y p e "> <x s : s e q u e n c e> <xs:element name=" einwohner " type=" x s : i n t e g e r " /> <xs:element name=" f l a e c h e " type=" g m l : S u r f a c e P r o p e r t y T y p e " /> <xs:element r e f=" g m l : c e n t e r O f " /> </ x s : s e q u e n c e> </ x s : e x t e n s i o n> </ x s : c o m p l e x C o n t e n t> </ xs:complextype> <xs:element name=" Stadt " type=" StadtType " s u b s t i t u t i o n G r o u p=" gml:_feature " /> Tobias Wallura Austausch von Geodaten 30.06.2011 27 / 31
GML Geometrien Beispiel: GML Instanz <Stadt g m l : i d=" Augsburg "> <gml: name>augsburg</ gml:name> <einwohner>263646</ einwohner> <f l a e c h e> <gml:polygon srsname=" EPSG:4326"> <g m l : e x t e r i o r><g m l : L i n e a r R i n g> <g m l : p o s L i s t>48.29 10.76...</ g m l : p o s L i s t> </ g m l : L i n e a r R i n g></ g m l : e x t e r i o r> </ gml:polygon> </ f l a e c h e> <g m l : c e n t e r O f> <gml: Point srsname=" EPSG:4326"> <gml:pos>48.36 10.9</ gml:pos> </ gml: Point> </ g m l : c e n t e r O f> </ Stadt> Tobias Wallura Austausch von Geodaten 30.06.2011 28 / 31
Zusammenfassung Überblick 1 Einführung 2 XML XML Schema XLink und XPointer XSLT 3 GML GML Dokumente Object-Property Model Relationen Features Feature Collections Geometrien 4 Zusammenfassung Tobias Wallura Austausch von Geodaten 30.06.2011 29 / 31
Zusammenfassung Zusammenfassung Komplexer Standard Spezifikation über 500 Seiten GML Profile bereits weit verbreitet Unterstützung in vielen Programmen vorhanden Tobias Wallura Austausch von Geodaten 30.06.2011 30 / 31
Vielen Dank für Ihre Aufmerksamkeit. Fragen? Tobias Wallura Austausch von Geodaten 30.06.2011 31 / 31