Geography Markup Language GML

Slides:



Advertisements
Ähnliche Präsentationen
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Advertisements

Objektorientierte Datenbanken
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
6. Technische Grundlagen der Interoperabilität 6.1 Das Modell der SimpleFeatures (OGC) von Martin Kütt Seminar Geoinformation, WS 01/02 (7. Sem.) Betreuer:
Technische Grundlagen der Interoperabilität
Software-Technik: (fortgeschrittene) Klassendiagramme
Geoinformation III Vorlesung 13b XML-Schema.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Computergraphik mit OpenGL Einführung. Bilder Objekt existiert im Raum unabhängig vom Betrachter Objekte sind beschrieben durch die Position verschiedener.
Datenstrukturen für Landkarten
Import und Verknüpfung von Daten
Fortsetzung DTDs, UML  XML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation I Vorlesung 14 WS 2000/2001 Gerhard Gröger ArcToolbox - Konvertierung.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation I Vorlesung 12 WS 2000/2001 Gerhard Gröger Modellierung mit Geodatabases.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Sesame Florian Mayrhuber
Allgemeines zu Datenbanken
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Die Oracle-Schnittstelle der Berliner 3D-Geodatenbank
Klassen und Klassenstruktur
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
XML-Schema UML  XML-Schema
Normen und Standards in GIS
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 6 SS 2001 Segmentschnitt III.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
Geoinformation I Lutz Plümer
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
Proseminar Geoinformation II
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Normen und Standards in GIS
Vorlesung Einführendes Beispiel-
Einführung in die Programmierung mit Java
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML Grundlagen und Dokumentspezifikationen Vorlesung.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Java-Kurs Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 4 WS 01/02 Quadtrees.
Geoinformation3 Geoinformation III XML-Schema Vorlesung 13a.
Einführung in die Programmierung mit Java
GIS III – Vorlesung 15 Geography Markup Language – Teil 1
SQL und Simple Features
Modellierung der Wirklichkeit
XML Grundlagen, Namensräume & Hyperlinks
Geoinformation III Vorlesung 10c Normen und Standards.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
GML 2.01 Überblick: -Einführung (einschließlich Rückblick) -3 Basis Schema - Geometry schema -Geometrieklassen -Feature schema -Xlink schema -Namensräume.
Normen und Standards in GIS
Datenaustausch und Interoperabilität
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Proseminar Geoinformation II Werkzeuge (ArcCatalog, ArcMap, ArcToolbox) und Formate.
GIS III – Vorlesung 13 Geography Markup Language – Teil 2
Geographische Beschreibungssprache
Ableitung UML  XML Schema
Datenaustausch und Interoperabilität
Sichtbarkeit einschränken
3D-Modellierung mit den offenen Standards des OGC und der ISO
Fortsetzung DTDs, UML  XML
Geography Markup Language GML
Konsistente Modellierung von 3D-Geodaten für Stadtmodelle
Normen und Standards in GIS
Gerhard Gröger Proseminar Geoinformation II WS 2003/2004
Geography Markup Language GML
 Präsentation transkript:

Geography Markup Language GML Geoinformation III Vorlesung 15 Geography Markup Language GML

Übersicht über den dritten Vorlesungsblock 1. Offene Systeme, Rechnernetze und das Internet Die eXtensible Markup Language XML Grundlagen, Document Type Definitions (DTDs) 3. Fortsetzung DTDs, UML  DTD, Namensräume 4. XML Schema 5. Geographic Markup Language GML: der vom OpenGIS-Consortium als XML-Anwendung definierte Standard für Geo-Objekte Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Geography Markup Language GML GML ist eine XML-Anwendung zum Transport und zur Speicherung einfacher Geodaten. Version 2.1.1 wurde vom OpenGIS Consortium im April 2002 verabschiedet Spezifikationen abrufbar unter: http://www.opengis.org brandneu: Verabschiedung von GML 3 am 29. Januar 2003 seit Version 2.0 erfolgt die Spezifikation nicht mehr durch Dokumenttyp-Definitionen (DTD), sondern mittels XML Schema Geodaten besitzen einfache Geometrien und (optional) weitere beschreibende Eigenschaften. Geometrie wird durch SimpleFeatures repräsentiert (ebenfalls von OGC spezifiziert, siehe Vorlesung 10) Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Philosophie von GML GML dient zur Repräsentation räumlicher Objekte, sog. Merkmale (engl.: Features) Modellierung der Geometrie und weiterer Eigenschaften von „Realweltobjekten“ wie z.B. Straße, Fluss, Flurstück, Stadt, Point-of-Interest etc. aber: keine Aussage über die Darstellung z.B. auf dem Bildschirm oder in einer Karte Kernelemente von GML: Geometry (Geometrie-Objekte wie z.B. Linien, Polygone etc.) Feature (Merkmal), steht für ein Realweltobjekt Eigenschaften (Attribute) werden als Properties bezeichnet Differenzierung in geometrische und nicht-geometrische E. Geometrische E. werden durch Geometrie-Objekte modelliert Feature Collection (Menge von Features) Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Zusammenspiel der GML-Komponenten * * FeatureCollection Feature Geometry feature Member geometry Property nicht- geometrische E. Feature ist die zentrale (abstrakte) Klasse Modellierung nichtgeometrischer Eigenschaften von Features: durch Attribute mit Standarddatentypen wie z.B. String, Integer,... durch Assoziationen von Feature zu anderen Klassen Geometry ist die (abstr.) Oberklasse aller Geometrie-Objekte Geometrische Eigenschaften von Features werden durch die Assoziation geometryProperty mit Geometrie-Objekten modelliert Die Bestandteile einer Feature Collection sind über die Assoziation featureMember erreichbar Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Beispiel für eine GML-Modellierung Geometrie Feature abstrakt geometry Property * LineString lineString Property name:string Strasse Stadt konkret Realweltobjekte werden als Unterklasse der Klasse Feature modelliert Es sind für alle Geometrie-Klassen eigene geometrische Eigenschaften definiert (nächste Folie) Spezifische geome-trische Eigenschaft: linienhafte Geometrie nichtgeometrische Eigenschaft Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

vordefinierte geometrische Eigenschaften Geometrietyp formaler Bezeichner beschreibender Bezeichner Box boundedBy - Point pointProperty location, position, centerOf LineString lineStringProperty centerLineOf, edgeOf Polygon polygonProperty extentOf, coverage any geometryProperty MultiPoint multiPointProperty multiLocation, multiPosition, multiCenterOf MultiLineString multiLineStringProperty multiCenterLineOf, multiEdgeOf MultiPolygon multiPolygonProperty multiExtentOf, multiCoverage MultiGeometry multiGeometryProperty Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

XML-Kodierung von GML-Features (I) XML-Kodierung von Features sind in der Schema-Datei feature.xsd zusammengefasst Features werden durch Elemente repräsentiert Es gibt ein vordefiniertes abstraktes Element _Feature vom Typ AbstractFeatureType darf selber nicht in Instanzdokumenten vorkommen für Features müssen eigene Elementnamen vergeben werden Elementtyp muss vom (abstrakten) Typ AbstractFeatureType direkt oder indirekt abgeleitet werden Für das Element muss explizit spezifiziert werden, dass es stellvertretend für das Element _Feature verwendet wird mittels Substitution Group (siehe folgendes Beispiel) Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

XML-Kodierung von GML-Features (II) Definition von _Feature in der Schema-Datei feature.xsd: <element name="_Feature" type="gml:AbstractFeatureType" abstract="true"/> <complexType name="AbstractFeatureType" abstract="true"> <sequence> <element ref="gml:description" minOccurs="0"/> <element ref="gml:name" minOccurs="0"/> <element ref="gml:boundedBy" minOccurs="0"/> <!-- additional properties must be specified in an application schema --> </sequence> <attribute name="fid" type="ID" use="optional"/> </complexType> Jedes Feature besitzt ein ID-Attribut fid Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

XML-Kodierung von GML-Features (III) Features dürfen beliebig viele geometrische Eigenschaften besitzen Jede geometrische Eigenschaft wird in einem eigenen Element eingeschlossen Das Element bezeichnet den Datentyp des Geometrie-Objekts (z.B. polygonProperty) vordefinierte Elemente: siehe Folie 7 Kindelement des „Geometrie-Eigenschaftselements“ ist ein Geometrie-Objekt (z.B. Point, Line, Polygon usw.) Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Beispiel zur XML-Kodierung <Haus> <Nummer>134</Nummer> <Besitzer>Jupp Zupp</Besitzer> <Strasse>Meckenheimer Allee</Strasse> <gml:extentOf> <gml:Polygon> ... </gml:Polygon> </Haus> <element name=“Haus" type=“Bsp:HausTyp“ substitutionGroup="gml:_Feature"/> <complexType name=“HausTyp"> <complexContent> <extension base="gml:AbstractFeatureType"> <sequence> <element name=“Nummer" type=“positiveInteger"/> <element name=“Besitzer" type=“string“/> <element name=“Strasse" type=“string "/> <element ref=“gml:extentOf"/> </sequence> </extension> </complexContent> </complexType> polygonProperty, die als Kindelement ein Polygon besitzt Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Anwendungsmodellierung Anwendungsspezifische Modellierung Schema1 Schema2 Schema3 “Bsp1“ Namensraum “Bsp2“ Namensraum “gml“ Namensraum Temporal Topologie Geodäsie Geometrie Feature Metadaten GML-Rahmenkonzept Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Einbindung der GML-Schemata <schema targetNamespace="http://www.bar.net/Bsp" xmlns="http://www.w3.org/2000/10/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:Bsp="http://www.bar.net/Bsp"> <import namespace="http://www.opengis.net/gml" schemaLocation="feature.xsd"/> ... </schema> SchemaB SchemaA <include> “Bsp“ Namensraum Feature Geometrie “gml“ Namensraum <import> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Bedingungen für Anwendungsmodelle ein Anwendungsschema muss sich auf die abstrakten Konzepte Feature, FeatureCollection und Geometry stützen darf den Namen, die Definition oder Datentypen von vorschreibenden GML-Elementen nicht ändern abstrakte Typdefinitionen können frei erweitert oder eingeschränkt werden das Anwendungsschema muss jedem zugänglich gemacht werden, der Zugriff auf Daten hat, die nach diesem Schema strukturiert sind das relevante Schema muss einen target Namespace spezifizieren, der nicht “http://www.opengis.net/gml“ sein darf Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

FeatureCollection Eine FeatureCollection Sammlung von Features kann mehrere FeatureMembers besitzen <element name="_FeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true" substitutionGroup="gml:_Feature"/> <element name="featureMember" type="gml:FeatureAssociationType"/> <complexType name="AbstractFeatureCollectionType" abstract="true"> <complexContent> <extension base="gml:AbstractFeatureCollectionBaseType"> <sequence> <element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

FeatureCollection Ableitung vom Typ gml:AbstractFeatureCollectionType Ersatz für das abstrakte Element <gml:_FeatureCollection> einzelne Mitglieder werden durch <featureMember> in die FeatureCollection eingebunden: <Stadtmodell fid=“sm1456"> <gml:featureMember> <Haus fid=“H567">....</Haus> </gml:featureMember> <Strasse fid=“Str812">....</Strasse> </Stadtmodell> Mitglieder müssen nicht die selbe Klasse haben Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Beispiel für eine FeatureCollection <element name=“Stadtmodell" type=“Bsp:StadtmodellTyp" substitutionGroup="gml:_FeatureCollection"/> <element name=“Haus" type="Bsp:HausTyp" substitutionGroup="gml:_Feature"/> <element name=“Strasse" type="Bsp:StrassenTyp" substitutionGroup="gml:_Feature"/> <complexType name="StadtmodellTyp"> <complexContent> <extension base="gml:AbstractFeatureCollectionType"> <sequence>...</sequence> </extension> </complexContent> </complexType> <complexType name="HausTyp"> <extension base="gml:AbstractFeatureType"> <sequence>....</sequence> <complexType name="StrassenTyp"> <sequence>.....</sequence> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Weitere Merkmale von GML Features können referenziert werden innerhalb/ in anderen Dateien Mitglieder einer FeatureCollection können zum Teil in anderen Dateien stehen Realisierung mittels Xlink Relationen werden dadurch möglich, dass in einem Feature die zu diesem in Relation stehenden Features enthalten oder referenziert sein können Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Modellierung der Geometrie diese Definitionen sind in einer eigenen Schema-Datei zusammengestellt: geometry.xsd Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Wdh.: Simple Features Standard des Open GIS Consortium (OGC) OGC: privater, nichtkommerzieller Verein Mitglieder: GIS-Hersteller, Behörden, Universitäten Modellierung der Geometrie raumbezogener Objekte "Simple": nur 0 - 2-dimensional (weder 2,5-D noch 3-D) nur gerade Linien keine Topologie keine Aggregation " ... reicht in 80% aller Fälle aus ... (?)" Implementierung standardisiert für SQL (Relationale Datenbanken), CORBA, OLE/COM GML/XML Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Wdh.: UML-Diagramm Simple Features Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ 1+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ MultiPolygon MultiLineString Line LinearRing 1+ Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Wdh.: Simple Features und Topologie LineString1 LineString3 Punkt p LineString2 drei LineStrings mit einem gemeinsamen Punkt p Punkt p existiert dreimal (je einmal für LineString1, LineString2 und LineString3) drei Punkte mit identischen Koordinaten es gibt keine Knoten im Sinn von Landkarten/Graphen keine expliziten topologischen Beziehungen Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Geometrieklassen in GML Point LineString LinearRing Polygon MultiPoint MultiLineString MultiPolygon MultiGeometry Auf diese Klassen wird im Folgenden näher einge-gangen Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Spatial Reference System (SRS) zu den Geometriedaten muss das räuml. Bezugssystem (Spatial Reference System) benannt werden, in dem die Koordinaten vorliegen bei zusammengesetzten Geometrien reicht es, wenn das Bezugssystem bei der Angabe des umschließenden Rechtecks (Bounding Box) benannt ist Benennung erfolgt auf Basis der Klassifikation geodätischer Bezugssysteme der European Petrol Survey Group EPSG (www.epsg.org), Beispiel: EPSG:4326 entspricht WGS84 Verwendung in GML durch Angabe einer URI, diese kann in beliebigen Geometrie-Elementen als Attribut angegeben werden: <Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326" Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Repräsentation von Koordinaten (I) 1. Coordinates Element: Liste von Koordinaten Die syntaktische Vorschrift zur Trennung der Dezimalstellen, der x und y Werte und der Koordinatenpaare wird durch die Attribute festgelegt. Trennung Vor-/ Nachkommastelle (.) coordinate separator (,) tuple separator ( ) <Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coordinates> 49.11,24.12 </coordinates> </Point> <element name="coordinates" type="gml:CoordinatesType"/> <complexType name="CoordinatesType"> <simpleContent> <extension base="string"> <attribute name="decimal" type="string" use="default" value="."/> <attribute name="cs" type="string" use="default" value=","/> <attribute name="ts" type="string" use="default" value=" "/> </extension> </simpleContent> </complexType> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Repräsentation von Koordinaten (II) 2. Coord Element: Koordinatenwerte in eigenen Unterelementen <Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coord><X>5.0</X><Y>40.0</Y></coord> </Point> <element name="coord" type="gml:CoordType" /> <complexType name="CoordType"> <sequence> <element name="X" type="decimal"/> <element name="Y" type="decimal" minOccurs="0"/> <element name="Z" type="decimal" minOccurs="0"/> </sequence> </complexType> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Point Element Point Element: Ein Point Element besteht aus einem Koordinatentupel. <element name="Point" type="gml:PointType" substitutionGroup="gml:_Geometry"/> <complexType name="PointType"> <complexContent> <extension base="gml:AbstractGeometryType"> <sequence> <choice> <element ref="gml:coord"/> <element ref="gml:coordinates"/> </choice> </sequence> </extension> </complexContent> </complexType> <Point gid="P1" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coord><X>56.1</X><Y>0.45</Y></coord> </Point> Beispiel: Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Box Element (I) Box Element: Ein Box Element dient zur Modellierung räuml. Ausdehnung. Ein Box Element besteht aus zwei Koordinatentupeln. Das kleinere der Koordinatentupel kommt zuerst. <element name="Box" type="gml:BoxType"/> <complexType name="BoxType"> <complexContent> <extension base="gml:AbstractGeometryType"> <sequence> <choice> <element ref="gml:coord" minOccurs="2" maxOccurs="2"/> <element ref="gml:coordinates"/> </choice> </sequence> </extension> </complexContent> </complexType> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Box Element (II) Box Element: Ein Box Element dient zur Modellierung räuml. Ausdehnung. Ein Box Element besteht aus zwei Koordinatentupeln. Das kleinere der Koordinatentupel kommt zuerst. Beispiel: 0.0,0.0 30.0,100.0 <Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coordinates> 0.0,0.0 30.0,100.0 </coordinates> </Box> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

LineString Element LineString: Folge von Punkten, durch gerade Liniensegmente verbunden <element name="LineString" type="gml:LineStringType" substitutionGroup="gml:_Geometry"/> <complexType name="LineStringType"> <complexContent> <extension base="gml:AbstractGeometryType"> <sequence> <choice> <element ref="gml:coord" minOccurs="2" maxOccurs="unbounded"/> <element ref="gml:coordinates"/> </choice> </sequence> </extension> </complexContent> </complexType> <LineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coordinates>100.0,100.0 230.0,80.0 350.0,130.0 </coordinates> </LineString> Beispiel Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

MultiLineString Element MultiLineString: Menge (Aggregation) von LineStrings LineString1 LineString2 <element name="MultiLineString" type="gml:MultiLineStringType" substitutionGroup="gml:_Geometry"/> <complexType name="MultiLineStringType"> <complexContent> <restriction base="gml:GeometryCollectionType"> <sequence> <element name="lineStringMember" maxOccurs="unbounded"> <complexType> <element ref="gml:LineString"/> </sequence> </complexType> </element> </restriction> </complexContent> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

MultiLineString Element (II) MultiLineString: Menge (Aggregation) von LineStrings <MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <lineStringMember> <LineString> <coord><X>56.1</X><Y>0.45</Y></coord> <coord><X>67.23</X><Y>0.98</Y></coord> </LineString> </lineStringMember> <coord><X>46.71</X><Y>9.25</Y></coord> <coord><X>56.88</X><Y>10.44</Y></coord> <coord><X>324.1</X><Y>219.7</Y></coord> <coord><X>0.45</X><Y>4.56</Y></coord> </MultiLineString> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

LinearRing Element (I) einfacher, geschlossener LineString <element name="LinearRing" type="gml:LinearRingType" substitutionGroup="gml:_Geometry"/> <complexType name="LinearRingType"> <complexContent> <extension base="gml:AbstractGeometryType"> <sequence> <choice> <element ref="gml:coord" minOccurs="4" maxOccurs="unbounded"/> <element ref="gml:coordinates"/> </choice> </sequence> </extension> </complexContent> </complexType> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

LinearRing Element (II) einfacher, geschlossener LineString <LinearRing srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coordinates> 100.0,100.0 230.0,80.0 350.0,130.0 </coordinates> </LinearRing> Beispiel: die letzte Koordinate muss gleich der ersten sein Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Polygon Element (I) outerBoundaryIs innerBoundaryIs Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Polygon Element (II) <element name="Polygon" type="gml:PolygonType" substitutionGroup="gml:_Geometry"/> <complexType name="PolygonType"> <complexContent> <extension base="gml:AbstractGeometryType"> <sequence> <element name="outerBoundaryIs"> <complexType> <element ref="gml:LinearRing"/> </sequence> </complexType> </element> <element name="innerBoundaryIs" minOccurs="0" maxOccurs="unbounded"> </extension> </complexContent> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

<Polygon gid="_98217" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <outerBoundaryIs> <LinearRing> <coordinates> 0.0,0.0 100.0,0.0 100.0,100.0 0.0,100.0 0.0,0.0 </coordinates> </LinearRing> </outerBoundaryIs> <innerBoundaryIs> 10.0,10.0 10.0,40.0 40.0,40.0 40.0,10.0 10.0,10.0 </innerBoundaryIs> 60.0,60.0 60.0,90.0 90.0,90.0 90.0,60.0 60.0,60.0 </Polygon> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

MultiGeometry Element Durch ein MultiGeometry Element kann eine Sammlung unterschiedlicher Geometrien modelliert werden. Es kann alle primitiven Geometrie-Elemente beinhalten (Points, LineStrings, Polxgons, MultiPoints usw.) Ein MultiGeometry Element kann wiederum ein MultiGeometry Element enthalten (Rekursion). <element name="MultiGeometry" type="gml:GeometryCollectionType"/> <complexType name="GeometryCollectionType"> <complexContent> <extension base="gml:AbstractGeometryCollectionBaseType"> <sequence> <element ref="gml:geometryMember" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

MultiGeometry Element <MultiGeometry gid="c731" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <geometryMember> <Point gid="P6776"> <coord><X>50.0</X><Y>50.0</Y></coord> </Point> </geometryMember> <LineString gid="L21216"> <coord><X>0.0</X><Y>0.0</Y></coord> <coord><X>0.0</X><Y>50.0</Y></coord> <coord><X>100.0</X><Y>50.0</Y></coord> </LineString> <Polygon gid="_877789"> <outerBoundaryIs> <LinearRing> <coordinates>0.0,0.0 100.0,0.0 50.0,100.0 0.0,0.0</coordinates> </LinearRing> </outerBoundaryIs> </Polygon> </MultiGeometry> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Ein einfaches aber langes Beispiel (1) Meckenheimer Allee Gemarkung Euskirchen Flur 14 Flurstück 5 Eigentümer Leo Land Flurstück 7 Eigentümer Stadt Euskirchen Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

UML-Diagramm für ein Stadtmodell Flurstück strname: string Strasse * feature Member Polygon LineString lineStringProperty polygonProperty 1 GeometryProperty AbstractFeatureCollection AbstractFeature AbstractGeometry feature Member * geometry Property Stadtmodell Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Ein einfaches aber langes Beispiel (2) <?xml version="1.0" encoding =“ISO-8859-1“?> <Stadtmodell xmlns="http://www.vorlesung.net/beispiel" xmlns:gml="http://www.opengis.net/gml“> <gml:name>Kataster</gml:name> <gml:boundedBy> . </gml:boundedBy> <gml:featureMember> </gml:featureMember> </Stadtmodell> nächste Folie Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Ein einfaches aber langes Beispiel (3) BoundedBy: Die in boundedBy definierte Box umschließt alle Geodaten dieser Datei. <gml:boundedBy> <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coordinates> 9500.0,4300.0 9650.7,4353.6</gml:coordinates> </gml:Box> </gml:boundedBy> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Ein einfaches aber langes Beispiel (4) <?xml version="1.0" encoding =“ISO-8859-1“?> <Stadtmodell xmlns="http://www.vorlesung.net/beispiel" xmlns:gml="http://www.opengis.net/gml“> <gml:name>Kataster</gml:name> <gml:boundedBy> <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coordinates> 9500.0,4300.0 9650.7,4353.6</gml:coordinates> </gml:Box> </gml:boundedBy> <gml:featureMember> <Flurstueck> ... </Flurstueck> </gml:featureMember> <Strasse> ... </Strasse> </Stadtmodell> nächste Folie Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Ein einfaches aber langes Beispiel (5) <gml:featureMember> <Flurstueck> <gml:name>Flst. 5</gml:name> <Gemarkung>Euskirchen</Gemarkung> <Flur>14</Flur> <Eigentuemer>Leo Land</Eigentuemer> <gml:polygonProperty> <gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> . </gml:Polygon> </gml:polygonProperty > </Flurstueck> </gml:featureMember> nächste Folie Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Ein einfaches aber langes Beispiel (6) <gml:polygonProperty> <gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:outerBoundaryIs> <gml:LinearRing> <gml:coordinates> 9500.0,4300.0 9566.8,4306.2 9572.2,4325.5 9568.8,4341.0 9513.7,4343.6 9500.0,4300.0 </gml:coordinates> </gml:LinearRing> </gml:outerBoundaryIs> </gml:Polygon> </gml:polygonProperty> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Ein einfaches aber langes Beispiel (7) <?xml version="1.0" encoding =“ISO-8859-1“?> <Stadtmodell xmlns="http://www.vorlesung.net/beispiel" xmlns:gml="http://www.opengis.net/gml“> <gml:name>Kataster</gml:name> <gml:boundedBy> <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coordinates> 9500.0,4300.0 9650.7,4353.6</gml:coordinates> </gml:Box> <gml:featureMember> <Flurstueck> ... </Flurstueck> </gml:featureMember> <Strasse> ... </Strasse> </Stadtmodell> nächste Folie Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Ein einfaches aber langes Beispiel (8) <Strasse> <strname>Meckenheimer Allee</strname> <gml:lineStringProperty> <gml:lineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coordinates> 9510.0,4333.0 9536.4,4320.1 9555.5,4310.7 </gml:coordinates> </gml:lineString> </gml:lineStringProperty > </Strasse> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15

Nicht den Kopf verlieren <?xml version="1.0" encoding =“ISO-8859-1“?> <Stadtmodell xmlns="http://www.vorlesung.net/beispiel" xmlns:gml="http://www.opengis.net/gml“> <gml:name>Kataster</gml:name> <gml:boundedBy> <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coordinates> 9500.0,4300.0 9650.7,4353.6</gml:coordinates> </gml:Box> </gml:boundedBy> <gml:featureMember> <Flurstueck> <gml:name>Flst. 5</gml:name> <Gemarkung>Euskirchen</Gemarkung> <Flur>14</Flur> <Eigentuemer>Leo Land</Eigentuemer> <gml:polygonProperty> <gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:outerBoundaryIs> <gml:LinearRing> <gml:coordinates> 9500.0,4300.0 9566.8,4306.2 9572.2,4325.5 9568.8,4341.0 9513.7,4343.6 9500.0,4300.0 </gml:coordinates> </gml:LinearRing> </gml:outerBoundaryIs> </gml:Polygon> </gml:polygonProperty > </Flurstueck> </gml:featureMember> <Strasse> <strname>Meckenheimer Allee</strname> <gml:lineStringProperty> <gml:lineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> 9510.0,4333.0 9536.4,4320.1 9555.5,4310.7 </gml:lineString> </gml:lineStringProperty > </Strasse> </Stadtmodell> Nicht den Kopf verlieren Gemarkung Euskirchen Flur 14 Flurstück 5 Eigentümer Leo Land Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15