Seminar: mobile GIS Austausch von Geodaten



Ähnliche Dokumente
Seminar: mobile GIS Austausch von Geodaten

... MathML XHTML RDF

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

Ressourcen-Beschreibung im Semantic Web

IT-Zertifikat: Daten- und Metadatenstandards

Word 2010 Schnellbausteine

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Errata-Liste zum Kurs: Einführung in XML (2. Auflage)

WEBSEITEN ENTWICKELN MIT ASP.NET

Gemeinsam mit Book Industry Study Group, New York, und Book Industry Communication, London. ONIX for Books Supply Update Nachricht Überblick

1 Mathematische Grundlagen

Java und XML 2. Java und XML

XML-Austauschformat für Sicherheitsdatenblätter

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Im Folgenden werden die jeweiligen Elemente erklärt. Im Anschluss folgt ein Beispieldatensatz in xml.

Qualitätssicherung bei der mobilen Datenerfassung

Kennen, können, beherrschen lernen was gebraucht wird

XML. Teil 3: Namensräume. Abteilung Informatik WS 02/03

Anbindung des Onyx Editors an das Lernmanagementsystem OLAT Anwendungsdokumentation

Hilfedatei der Oden$-Börse Stand Juni 2014

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Containerformat Spezifikation

4. BEZIEHUNGEN ZWISCHEN TABELLEN

ISO im Überblick

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Gezielt über Folien hinweg springen

White Paper. Fabasoft Folio Zugriffsdefinitionen Winter Release

Klaus Schild, XML Clearinghouse Namensräume

Containerformat Spezifikation

Tracking-Beispiele. Inhalt: Standard Tracking / Cookie Tracking Anchor-Tracking Direct Tracking Referer Tracking Tracking von Produkt-Feeds

Arbeiten mit UMLed und Delphi

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

Erweiterung eines SMIL Players für die Darstellung von Transparenzen und SVG Inhalten

4 Grundlagen der Datenbankentwicklung

Metadateneditoren für ArcGIS

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet.

WinVetpro im Betriebsmodus Laptop

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Daten- und Metadatenstandards Wintersemester 2011 / November 2011 XML II: DTD

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Insiderwissen Hintergrund

Bibliothekssysteme / Verbundsysteme / Netze

WSDL. Web Services Description Language. André Vorbach. André Vorbach

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Gegeben ist das folgende XML-Dokument.

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

XML 1. Einführung, oxygen. Ulrike Henny. IDE Summer School 2013, Chemnitz

Hinweise zum elektronischen Meldeformular

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Veröffentlichen von Apps, Arbeitsblättern und Storys. Qlik Sense Copyright QlikTech International AB. Alle Rechte vorbehalten.

Installationsanleitung FRITZ!BOX Fon 7270

Online-Publishing mit HTML und CSS für Einsteigerinnen

Geoproxy Freistaat Thüringen. Dokumentation zur Einbindung des Web Feature Service in GIS-Anwendungen. - ArcGIS von ESRI - Stand:

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Synchronisations- Assistent

App Entwicklung mit dem Android SDK

Norm 240 Versionierung

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11

MCRServlet Table of contents

Übersetzung des Singapore Framework für Dublin-Core-Anwendungsprofile

Mailverteiler. HowTo. Erstellen von Mailverteilern im mytum Portal. Version 1.0. preliminary

Dokumentation. Schnittstelle IKISS Bayerischer Behördenwegweiser. Stand:

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

FAQ 04/2015. Auswirkung der ISO auf 3SE53/3SF13 Positionsschalter.

Internet online Update (Mozilla Firefox)

BPEL. Business Process Execution Language. Andre Rein. 21. August Serviceorientierte Architekturen

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Visualisierung von Geodaten

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Artenkataster. Hinweise zur Datenbereitstellung. Freie und Hansestadt Hamburg. IT Solutions GmbH. V e r s i o n

IMS - Learning Design

Anleitung zur Anmeldung beim EPA zur Nutzung von OPS 3.1

Klaus Schild, XML Clearinghouse Transformation von XML-Dokumenten

Browsereinstellungen für moneycheck24 in Explorer unter Windows

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

In S-Firm wird nur angeboten die Datei auf Diskette zu exportieren; die Einstellung für HBCI ist ausgegraut.

XSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML

Thema. Intelligente Agenten im Web

5.2 Neue Projekte erstellen

Anleitung auf SEITE 2

Anleitung über den Umgang mit Schildern

BENUTZERHANDBUCH. Version 7.6

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Microsoft Access 2010 Navigationsformular (Musterlösung)

Formatbeschreibung Barcodelisten

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Erste Schritte mit

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Programmmoduls für die CEMES-Plattform zur onlinebasierten Ermittlung der Leistungspunkte

Transkript:

Seminar: mobile GIS Austausch von Geodaten Tobias Wallura Betreuer: Florian Wenzel Zusammenfassung. Es existieren eine Vielzahl von verschiedenen Geodatenquellen im Internet. Damit diese Daten alle in der selben Art verarbeitet werden können, müssen diese in einem einheitlichen Format vorliegen. Als globales Austauschformat kommt hier GML zum Einsatz. Diese Arbeit gibt zuerst einen Überblick über die Entwicklung und den Einsatz von GML und befasst sich danach mit dessen technischen Eigenschaften. Dabei werden zunächst die benötigten XML Grundlagen geklärt, um sich anschließend auf die wesentlichen GML Aspekte konzentrieren zu können. 1 Einführung Es gibt verschiedene Arten von Geodaten, beispielsweise Straßennetze, Schienennetze, oder Versorgungseinrichtungen. Im Geo-Web werden diese Daten lokal von den zuständigen Einrichtungen gepflegt und aktuell gehalten. Dabei kommen verschiedenste Datenbanken zum Einsatz. Um einen einheitlichen Zugriff auf diese Informationsquellen zu gewährleisten, benötigt es einen globalen Standard zur Kodierung der gespeicherten Geodaten. Diese Funktion wird von der XML Sprache Geography Markup Language (GML) erfüllt. Dabei wird GML überwiegend beim Transport von Geodaten eingesetzt. GML wird zur Kodierung von Geodaten, nicht aber deren Darstellung verwendet. Zur Darstellung wird beispielsweise auf das, ebenfalls XML-basierte, Format KML verwiesen. 1.1 Entwicklung von GML GML ist ein Standard, welcher vom Open Geospatial Consortium (OGC) verabschiedet ist. Die Entwicklung des GML Standards wurde vornehmlich von Galdos Systems Inc. (Kanada) und NTT Data (Japan) vorangetrieben. Bis 1999 wurden die Formate X-GML von Galdos Systems Inc. und G-XML von NTT Data unabhängig voneinander entwickelt. Unter dem von Galdos geleitete Projekt Xbed, woran u.a. auch NTT Data beteiligt war, entstand Simple Feature XML (SFXML). Dieses wurde mit weiteren Änderungen durch Galdos schließlich unter dem Namen GML als RFC dem OGC vorgelegt.

2 Datenbankunterstützung für mobile GIS Während GML 1.0 auf DTD 1 und RDF 2 basierte, brachte GML 2.0 als grundlegende Änderung die Verwendung von XML Schema. GML 3.0 ist dagegen eine weitgehend kompatible Erweiterung zur Version 2.0, welche Unterstützung für zusätzliche Modellierungsarten bietet. Hierzu zählen u.a. zeitliche Eigenschaften und Koordinaten Referenz Systeme. Aufgrund der Übernahme von Kern Konzepten aus G-XML in GML 3.0 konnte G-XML 3.0 als ein Application Schema basierend auf GML 3.0 entwickelt werden. Zum Zeitpunkt Juni 2011 ist GML 3.2.1 die aktuelle Version. Diese wurde nach fünfjähriger Entwicklung, im Jahr 2007, als ISO Standard 19136 verabschiedet. Abb. 1. Zeitliche Entwicklung des GML Standards [3] 1.2 Einsatz von GML Abbildung 2 auf der nächsten Seite gibt einen groben Überblick in welchem Bereich GML eingesetzt wird. Auf den hervorgehobenen Verbindungen können GML Daten übertragen werden. Als Beispiel einer bereits weit verbreiteten Technologie wird hier GeoRSS aufgeführt. GeoRSS ist ein Standard zum Kodieren von Geo Informationen in RSS Feeds. Dabei kann entweder das GeoRSS Simple GML Profile (siehe 3.3 auf Seite 13) oder der vollwertige GML Standard mit GeoRSS GML verwendet werden. [4] GeoRSS Simple wird z.b. in der Twitter XML API eingesetzt und kann von verschiedenen Kartendiensten wie z.b. Google Maps, Bing Maps oder OpenLayers visualisiert werden. 2 Extensible Markup Language (XML) GML ist eine XML basierte Sprache und macht Gebrauch von verschiedenen XML Technologien. Die XML Sprachfamilie umfasst mehr als zwanzig verschie- 1 Document Type Definition, siehe http://www.w3.org/tr/xml/#sec-prolog-dtd 2 Resource Description Framework, siehe http://www.w3.org/rdf/ 3 Basierend auf der Grafik http://commons.wikimedia.org/wiki/file:geoserver_ GeoNetwork_with_web_app.png

Austausch von Geodaten 3 Abb. 2. Einsatz von GML im Internet. GML Datenfluss ist hervorgehoben. 3

4 Datenbankunterstützung für mobile GIS dene Standards. Die für GML Wichtigsten werden im Folgenden näher vorgestellt. 2.1 XML Schema Seit GML 2.0 wird XML Schema zur Beschreibung und Definition von GML Dokumenten verwendet. Im Gegensatz zu dem in GML 1.0 verwendeten DTD ist XML Schema für Datendefinitionen ausdrucksstärker und bietet den Vorteil selbst in XML geschrieben zu sein. Anhand eines XML Schemas kann ein darauf basierendes XML Dokument auf formale Gültigkeit geprüft werden. In dem XML Schema Dokument werden hierzu Elemente mit ihren zugehörigen Unterelementen und Datentypen definiert. Im Folgenden werden die wichtigsten Elemente einer XML Schema Definition beschrieben. Für die gesamte Spezifikation von XML Schema wird auf die W3C Recommendation verwiesen. [2] Typen Es muss zwischen zwei verschiedenen Arten von Typen unterschieden werden. Einmal im Kontext eines XML Schemas und zum anderen im Kontext einer XML Schema Instanz: [6] XML Schema Innerhalb eines XML Schema Dokuments ist mit Typ der strukturelle Typ eines Elements gemeint. Dieser beschreibt den Aufbau eines XML Elements. Der Typ wird einem Element durch das type Attribut zugewiesen: <xs:element name="instancetype" type="xs:string" />. Als Typ können hier vordefinierte Typen, wie xs:string oder selbst definierte <complextype> oder <simpletype> Typen verwendet werden. XML Schema Instanz Innerhalb einer XML Schema Instanz bezeichnet Typ den semantischen Typ. Der Name dieses semantische Typs wird im zugehörigen XML Schema einem Element durch das name Attribut zugewiesen. Das im vorigen Absatz definierte Element steht in einer XML Schema Instanz als Element vom Typ InstanceType bereit: <InstanceType>Text</InstanceType>. XML Namensräume 4 XML Namensräume werden durch URIs benannt. Diese können, müssen aber nicht, auf das entsprechende XML Schema verweisen. Jedes XML Schema hat einen targetnamespace. Dieses identifiziert das Schema. Anhand des Namensraums wird das Schema von anderen Dokumenten aus referenziert. Durch das Attribut xmlns[:name]="uri" kann ein Namensraum eingebunden werden. Wird der name angegeben, sind alle Elemente des Namensraums als <name:element> ansprechbar. Ansonsten entfällt das Präfix und die Elemente sind als <Element> erreichbar. 4 XML Namensräume sind eine eigene W3C Recommendation. Mit XML Schema werden Namensräume definiert.

Austausch von Geodaten 5 Einfache Elemente Elemente vom Typ <simpletype> haben dagegen keine Unterelemente, es sind reine Textelemente. Hier kann nur der Inhalt bzw. der Datentyp mit evtl. zusätzlichen Einschränkungen definiert werden. Attribute sind stets von diesem Typ. Komplexe Elemente Zu einem Element vom Typ <complextype> kann eine beliebige Anzahl von Unterelementen und Attributen definiert werden. Unterelemente werden innerhalb von <all>, <choice> oder <sequence> erstellt. Attribute können mit <attribute> oder <attributegroup> hinzugefügt werden. Ein komplexes Element kann von einem anderen, ebenfalls komplexen Element, erben. Dabei kann der Basistyp entweder erweitert oder eingeschränkt werden. Substitution Durch das Feature Substitution Groups ist es möglich, Elemente zu definieren, welche an Stelle anderer eingesetzt werden können. Dies ist v.a. bei Vererbungshierarchien sinnvoll, die einen Basistyp definiert haben und eine Reihe anderer Elemente statt diesem Basistyp eingesetzt werden sollen. In Listing 1 wird das Element <punkt> als Ersatz zu <point> definiert. Listing 2 zeigt wie eine Instanz darauf aufbauend erstellt werden kann. [2] Listing 1. Substitution Group XML Schema <x s : e l e m e n t name=" polygon "> <xs: complextype> <x s : s e q u e n c e> <x s : e l e m e n t name=" point " maxoccurs="unbounded" type=" x s : s t r i n g " /> </ x s : s e q u e n c e> </ xs: complextype> </ x s : e l e m e n t> <x s : e l e m e n t name="punkt" type=" x s : s t r i n g " substitutiongroup=" point " /> <polygon> <point>a</ point> <punkt>b</ punkt> </ polygon> Listing 2. Substitution Group XML Instanz Beispiel Listing 3 definiert ein komplexes Element <polygon> welches die einfachen Elemente <point> untergeordnet hat. Eine gültige Instanz dieses Schemas ist in Listing 4 auf der nächsten Seite zu sehen. Listing 3. XML Schema <?xml version=" 1. 0 " encoding="utf 8"?>

6 Datenbankunterstützung für mobile GIS <xs:schema targetnamespace=" h t t p : //www. example. org /XS" xmlns:xs=" h t t p : //www. w3. org /2001/XMLSchema" elementformdefault=" q u a l i f i e d "> <x s : e l e m e n t name=" polygon "> <xs: complextype> <x s : s e q u e n c e> <x s : e l e m e n t name=" point " maxoccurs="unbounded"> <xs:simpletype> <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 value="[0 9]+ [0 9]+" /> </ x s : r e s t r i c t i o n> </ xs:simpletype> </ x s : e l e m e n t> </ x s : s e q u e n c e> <x s : a t t r i b u t e name=" id " type=" x s : s t r i n g " use=" r e q u i r e d " /> </ xs: complextype> </ x s : e l e m e n t> </ xs:schema> Listing 4. XML Schema Instanz <?xml version=" 1. 0 " encoding="utf 8"?> <polygon xmlns=" h t t p : //www. example. org /XS" x m l n s : x s i=" h t t p : //www. w3. org /2001/XMLSchema i n s t a n c e " xsi:schemalocation=" h t t p : //www. example. org /XS" id=" Polygon1 "> <point>42 10</ point> <point>48 11</ point> </ polygon> 2.2 XML Linking Language (XLink) und XML Pointer Language (XPointer) Mittels XLink können entfernte Ressourcen miteinander verknüpft werden. Dies ist vergleichbar mit einem HTML Hyperlink. Es existieren zwei Arten von XLink Verknüpfungen, Simple und Extended. Simple entspricht dem HTML Hyperlink, wobei ein XML Element auf eine andere Ressource verweist. Extended bietet die Möglichkeit eine Verlinkung zwischen mehreren Ressourcen herzustellen. [1] Mit XPointer können bestimmte Elemente in einem XML Dokument referenziert werden. Dies ist mit einem HTML Anker zu vergleichen. Ein mit XLink und XPointer aufgebauter Link hat, analog zu einem HTML Link, die Form URI#ANCHOR, wobei ANCHOR einen XPointer Ausdruck darstellt. Dieser XPointer Ausdruck hat die Form xpointer(expr). EXPR ist hierbei ein

Austausch von Geodaten 7 XPath 5 Ausdruck. Alternativ kann bei der Referenzierung anhand einer ID auch die Kurzschreibweise #XMLID statt #xpointer(id( XMLID )) verwendet werden. In Listing 5 wird die Verwendung von XLink Simple und XPointer dargestellt. Auf XLink Extended wird hier verzichtet, da es in GML selbst nicht verwendet wird. Entwicklern steht es jedoch zur Verwendung bereit. Listing 5. XLink und XPointer <c o n t a i n e r x m l n s : x l i n k=" h t t p : //www. w3. org /1999/ x l i n k "> <element id="eid" /> <l i n k x l i n k : t y p e=" simple " x l i n k : h r e f=" h t t p : //www. w3. org /2001/XMLSchema. xsd#i n t " /> <l i n k x l i n k : t y p e=" simple " x l i n k : h r e f="#x p o i n t e r ( id ( EID ) ) " /> <l i n k x l i n k : t y p e=" simple " x l i n k : h r e f="#eid" /> </ c o n t a i n e r> 2.3 Extensible Stylesheet Language Transformations (XSLT) XSLT ist eine XML Sprache, mit welcher die Transformation eines XML Dokuments beschrieben werden kann. Dabei kann das resultierende Dokument wiederum dem XML Standard entsprechen, muss es aber nicht. Häufig angewendete Transformationen sind Konvertierung zwischen verschiedenen XML Schemas, von XML nach HTML oder, v.a. zur Visualisierung von Geodaten interessant, von XML bzw. GML nach SVG oder KML. [5] 3 GML Im Folgenden werden die grundlegenden Konzepte des GML Standards näher erläutert. Um einen tieferen Einblick in die vorhandenen Modellierungsmöglichkeiten von GML zu gewinnen, sei auf [6] und [8] verwiesen. 3.1 GML Aufbau Es muss grundsätzlich zwischen GML Instanzen und GML Schemas unterschieden werden. GML Schemas sind in XML Schema (siehe 2.1 auf Seite 4) geschrieben. GML Instanzen sind folglich auch Instanzen eines XML Schemas. 5 Weitere Informationen zu XPath können dessen Spezifikation entnommen werden. http://www.w3.org/tr/xpath/

8 Datenbankunterstützung für mobile GIS Instances GML Instanzen enthalten die vom Benutzer kodierten Objekte, in GML Features genannt. Die Instanz wird anhand eines Application Schemas erstellt und muss strikt dessen Definition folgen. Application Schemas GML Application Schemas beschreiben den Aufbau einer GML Instanz. Hier werden die gültigen Elemente und deren Aufbau definiert. Elemente werden anhand von vordefinierten XML Schema Datentypen oder GML Core Schema Elementen zu komplexen Objekten kombiniert. Core Schemas Die GML Core Schemas werden vom OGC erstellt und verwaltet. Diese bieten das Grundgerüst um weitere Application Schemas zu erstellen. Hier werden u.a. Geoelemente, wie z.b. Punkte oder Flächen Abb. 3. GML Schemas und Instanzen definiert. In GML 2.0 sind drei Schemas definiert: Feature, Geometry und XLinks. Im Vergleich dazu existieren in GML 3.0 bereits 28 [6] Schemas. 3.2 Konzept von GML Hier werden die verwendeten Begriffe im Zusammenhang mit der Kodierung von Daten durch GML beschrieben. Ein UML Klassendiagramm, welches den Aufbau und die Vererbung zwischen den einzelnen GML Objekten verdeutlicht, ist in Abbildung 4 auf der nächsten Seite aufgeführt. In dem Diagramm sind zugunsten der Übersichtlichkeit nicht alle Elemente und Attribute vorhanden. Technisch lässt sich dieses Modell durch Standard XML Vererbung und Substitution Groups (siehe 2.1 auf Seite 5) realisieren. Die farblich hervorgehobenen Elemente werden im weiteren Verlauf dieses Kapitels näher beschrieben. Object-Property Model In GML wird zur Modellierung der Daten das so genannte Object-Property Model verwendet. In dieser Arbeit werden die deutschen Übersetzungen, Objekt und Eigenschaft, verwendet. Ein Objekt ist dabei etwa ein GML Feature oder eine GML Geometrie. Jedes Objekt hat eine Reihe von Eigenschaften, welche durch Kindelemente des Objekts modelliert werden. Jedes Objekt muss eine, im aktuellen Dokument eindeutige, gml:id besitzen. Eine Eigenschaft kann entweder einen einfachen Wert oder eine Referenz mittels xlink:href auf ein weiteres GML Objekt enthalten. Dadurch lassen sich auch Relationen zwischen Objekten herstellen. Abbildung 5 auf der nächsten Seite und Listing 6 auf Seite 10 veranschaulichen das Object-Property Model.

Austausch von Geodaten 9 Abb. 4. GML Vererbungshierarchie Abb. 5. UML Darstellung des Object-Property Model [6]

10 Datenbankunterstützung für mobile GIS Listing 6. XML Aufbau des Object-Property Model [6] <app:objectname1 g m l :id=".. "> <app: propertyname1>v a l u e 1</ app: propertyname1> <app: propertyname2> <app:objectname2 gml:id=".. ">...</app:objectname2> </ app: propertyname2> <app: propertyname3>v a l u e 3</ app: propertyname3> </ app:objectname1> Relationen [6] In GML werden Relationen über Eigenschaften hergestellt. Der Name einer Eigenschaft ist dabei der Rollenname, welcher beschreibt wie das Objekt mit dem Verknüpften in Beziehung steht. Listing 7 stellt eine bidirektionale Relation dar (<Stadt> <liegtin> <Bundesland>). Relationen können auch unidirektional sein. Listing 7. Einfache Relation zwischen zwei Objekten <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> XML Attribute In GML werden Attributen hauptsächlich zur Referenzierung von entfernten Daten verwendet. Die wichtigsten Attribute dabei sind: gml:id Eindeutige ID eines GML Objekts. Jedem Objekt muss eine ID zugeordnet sein. gml:srsname Gibt das zu verwendende Koordinatenreferenzsystem an (engl. Spatial Reference System). Nur auf Geometrien anwendbar. WGS 84 bzw. EPSG 4326 ist unter http://www.opengis.net/def/crs/epsg/0/4326 zu finden. Alternativ kann statt einer auflösbaren URL auch eine URN verwendet werden. Für EPSG 4326 ist dies urn:x-ogc:def:crs:epsg:6.3:4326. [7] gml:uom Gibt die Einheit eines Wertes an (engl. Unit of measure). Dieses Attribut kann nur auf bestimmte Eigenschaften angewendet werden. Als Wert können hier gebräuchliche Einheitsangaben, wie m oder ft, oder URIs verwendet werden. Als URI existiert für Meter z.b. die EPSG URN urn:ogc:def:uom:epsg:6.3:9001. [7]. xlink:href Verweist auf den Wert den eine Eigenschaft annehmen soll (Remote Property) (siehe auch 2.2 auf Seite 6). Ist dieses Attribut bei einer Eigenschaft gesetzt, darf dieses Element keinen eigenen Inhalt besitzen (<element xlink:href=".." />).

Austausch von Geodaten 11 Features Features sind GML Objekte. Der Aufbau eines Features wird in GML Application Schemas definiert. Dabei sind Features von gml:abstractfeature abzuleiten. Benutzerdefinierte Features werden in Abbildung 4 auf Seite 9 als Custom Feature eingereiht. Ein Feature ist z.b. das in Listing 8 aufgeführte Objekt <Stadt>. Dieses enthält sowohl geometrische als auch rein informationsbezogene Eigenschaften. An dem XML Präfix gml werden Eigenschaften erkannt, welche im GML Core Schema definiert sind. Das zugehörige Application Schema ist in Listing 9 aufgezeigt. Zugunsten der Übersichtlichkeit sind in den Listings notwendige Namensräume nicht mit angegeben. Listing 8. GML Feature 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=" urn:x o g c : d e f : c r s : E P S G : 6. 3 :4326 "> <g m l : e x t e r i o r> <gml:linearring> <g m l : p o s L i s t> 48.29 10.76 48.28 10.95 48.40 10.94 48.40 10.85 </ g m l : p o s L i s t> </ gml:linearring> </ g m l : e x t e r i o r> </ gml: Polygon> </ f l a e c h e> <gml:centerof> <gml:point srsname=" urn:x o g c : d e f : c r s : E P S G : 6. 3 :4326 "> <gml:pos>48.36 10.9</ gml:pos> </ gml:point> </ gml:centerof> </ Stadt> Listing 9. GML Application Schema <?xml version=" 1. 0 " encoding="utf 8"?> <xs:schema xmlns:xs=" h t t p : //www. w3. org /2001/XMLSchema" xmlns:gml=" h t t p : //www. opengis. net /gml"> <xs: complextype name=" StadtType "> <xs:complexcontent> <x s : e x t e n s i o n base=" gml:abstractfeaturetype "> <x s : s e q u e n c e> <x s : e l e m e n t name=" einwohner " type=" x s : i n t e g e r " /> <x s : e l e m e n t name=" f l a e c h e " type=" gml:surfacepropertytype " />

12 Datenbankunterstützung für mobile GIS <x s : e l e m e n t r e f=" gml:centerof " /> </ x s : s e q u e n c e> </ x s : e x t e n s i o n> </ xs:complexcontent> </ xs: complextype> <x s : e l e m e n t name=" Stadt " type=" StadtType " substitutiongroup=" gml:_feature " /> </ xs:schema> Feature Collections [6] Mit Feature Collections lassen sich Features innerhalb eines Objekts zusammenfassen. Eine Feature Collection ist technisch gesehen selbst ein GML Feature. Der Unterschied besteht darin, dass es durch die Eigenschaften <gml:featuremember> oder <gml:featuremembers> mit anderen Features in Verbindung gesetzt werden kann. Durch die Verwendung des xlink:href Attributs lassen sich Listen aufbauen, welche sowohl entfernte als auch lokal definierte Features enthalten. Bei Feature Collections muss die <gml:boundedby> Eigenschaft angegeben werden. Diese stellt die Bounding Box der enthaltenen Features dar. Sie wird zum schnellen Suchen von Features verwendet. Sollte die Bounding Box nicht angegeben werden können, muss dies mit dem Attribut xsi:nil="true" und, falls anwendbar, dem Attribut gml:nilreason mit einer entsprechenden Begründung, wie etwa inapplicable, missing oder unknown, kenntlich gemacht werden. [8] Listing 10. GML Feature Collection <Bundesland g m l : i d="de BY"> <gml:name>bayern</ gml:name> <gml:boundedby> <gml:envelope srsname=" urn:x o g c : d e f : c r s : E P S G : 6. 3 :4326 "> <gml:lowercorner>47.2703 8.9771</ gml:lowercorner> <gml:uppercorner>50.5644 13.8350</ gml:uppercorner> </ gml:envelope> </ gml:boundedby> <gml:featuremember x l i n k : h r e f="#oberbayern " /> <gml:featuremember x l i n k : h r e f="#niederbayern " /> <gml: featuremember> <Bezirk g m l : i d="schwaben"> <gml:name>schwaben</ gml:name> </ Bezirk> </ gml: featuremember> </ Bundesland>

Austausch von Geodaten 13 Geometrische Eigenschaften Durch geometrische Eigenschaften lassen sich die Geodaten eines Features beschreiben. Sie enthalten als Wert eine GML Geometrie. Diese Eigenschaften werden in Application Schemas definiert. Häufig eingesetzte geometrische Eigenschaften sind zur Einfachheit bereits in GML vorhanden. Aus Kompatibilitätsgründen sind sie zudem in GML 3.2.1 vorhanden, sollten jedoch nicht mehr verwendet werden. Da diese Eigenschaften dennoch oft eingesetzt werden, sind die Wichtigsten davon hier aufgeführt: centerof, position, extentof und centerlineof. [8] Es ist zu beachten, dass bei diesen Eigenschaften keine eindeutige Semantik bezüglich dem zugehörigen Feature definiert ist. Geometrien Hier wird zwischen den direkt verwendbaren Geometrien und den Basistypen, welche zum Aufbau von Geometrien verwendet werden, unterschieden. Die grundlegenden Basistypen sind: gml:pos Stellt einen Punkt im zugehörigen Koordinatensystem dar. Je nach dessen Dimension müssen hier entsprechend viele Werte durch Leerzeichen getrennt eingetragen werden. gml:poslist Wird wie das <gml:pos> Element aufgebaut. Der Unterschied besteht darin, dass hier eine Reihe von Punkten dargestellt werden können. gml:coordinates Wird wie <gml:poslist> zur Kodierung von mehreren Punkten eingesetzt. Ab GML 3 wird es von dem <gml:poslist> Element abgelöst. Im Gegensatz zu <gml:pos> und <gml:poslist> ist der Inhalt von <gml:coordinates> im XML DOM nur als String verfügbar. [3] Darauf aufbauend existieren eine Reihe weiterer Geometrien. Hier ist für die Dimensionen 0D bis 3D je ein Beispiel aufgeführt: [8] gml:point Beschreibt einen Punkt im Raum durch <gml:coordinates> oder durch <gml:pos>. gml:linestring Gibt eine durch Punkte verbundene Linie an. Punkte können durch eine Reihe von <gml:pos> oder durch ein <gml:poslist> bzw. <gml:coordinates> beschrieben werden. gml:polygon Eine zweidimensionale Fläche, welche durch einen äußeren Ring und beliebig vielen inneren Ringen beschrieben wird. gml:solid Repräsentiert ein dreidimensional Objekt. Dieses wird durch eine äußere und beliebig vielen inneren Grenzen definiert. 3.3 GML Profile Der GML Standard ist eine komplexe Spezifikation, welche in Version 3.0 über 500 Seiten umfasst. Um den Standard schneller verbreiten zu können und den Einsatz und Einstieg in GML zu erleichtern, können GML Profile erstellt werden. Diese umfassen nur einen Teilbereich des gesamten GML Standards und sind

14 Datenbankunterstützung für mobile GIS daher leichter anzuwenden als die gesamte GML Spezifikation. Oft werden auch GML Profile speziell für bestimmte Themengebiete erstellt. Offizielle GML Profile sind z.b. das Point Profile, GML Simple Features Profile und das GML Profile for RSS. [3] 4 Zusammenfassung Diese Arbeit betrachtet nur einen kleinen Ausschnitt des gesamten GML Standards. Weitere interessante Themen wie die Kodierung von Topologien, zeitlichen und dynamischen Features, Abdeckungen oder Styling von Daten können in der verwendeten Hauptreferenz [6] nachgeschlagen werden. Abschließend kann festgestellt werden, dass GML versucht eine Kodierungsmöglichkeit für alle denkbaren Geodaten bereitzustellen. Entsprechend umfangreich und komplex ist der Standard. GML Profile bieten daher einen guten Einstiegspunkt für weniger herausfordernde Geodaten. Literatur 1. XML Linking Language (XLink) Version 1.0. http://www.w3.org/tr/xlink, 2001. Besucht: 07.06.2011. 2. XML Schema Part 0: Primer Second Edition. http://www.w3.org/tr/ xmlschema-0/, 2004. Besucht: 08.06.2011. 3. Geography Markup Language. http://en.wikipedia.org/wiki/geography_ Markup_Language, 2011. Besucht: 06.06.2011. 4. GeoRSS. http://en.wikipedia.org/wiki/georss, 2011. Besucht: 14.06.2011. 5. XSLT. http://en.wikipedia.org/wiki/xslt, 2011. Besucht: 08.06.2011. 6. R. Lake, D. S. Burggraf, M. Trninic, and L. Rae. Geography Mark-Up Language: Foundation for the Geo-Web. John Wiley & Sons, 2004. 7. OGC. Definition identifier URNs in OGC namespace. Technical report, Open Geospatial Consortium Inc, 2007. 8. OGC. Geography markup language (GML) encoding standard v3.2.1. Technical report, Open Geospatial Consortium Inc, 2007.

Austausch von Geodaten 15 Erklärung Hiermit erkläre ich, Tobias Wallura, dass ich die vorliegende Arbeit selbständig verfasst und keine anderen Hilfsmittel als die angegebenen verwendet habe. Die Stellen der Arbeit, die anderen Werken dem Wortlaut oder dem Sinn nach entnommen sind, wurden in jedem Fall unter Angabe der Quelle kenntlich gemacht.