480 likes | 590 Views
Geoinformation III. Vorlesung 15. Geography Markup Language GML. Übersicht über den dritten Vorlesungsblock. 1. Offene Systeme, Rechnernetze und das Internet Die e X tensible M arkup L anguage XML Grundlagen, Document Type Definitions (DTDs) 3. Fortsetzung DTDs, UML DTD, Namensräume
E N D
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
FeatureCollection Geometry Zusammenspiel der GML-Komponenten * * Feature • 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 Featureswerden durch die Assoziation geometryProperty mit Geometrie-Objekten modelliert • DieBestandteile einer Feature Collection sind über die Assoziation featureMember erreichbar feature Member geometry Property nicht-geometrische E. Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
Strasse * abstrakt geometry Property name:string Geometrie Feature LineString Stadt konkret lineStringProperty Beispiel für eine GML-Modellierung 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 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
<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> Beispiel zur XML-Kodierung <Haus> <Nummer>134</Nummer> <Besitzer>Jupp Zupp</Besitzer> <Strasse>Meckenheimer Allee</Strasse> <gml:extentOf> <gml:Polygon> ... </gml:Polygon> </Haus> polygonProperty, die als Kindelement ein Polygon besitzt Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
Geodäsie Feature Metadaten Geometrie Temporal Anwendungsspezifische Modellierung “Bsp1“ Namensraum “Bsp2“ Namensraum Schema2 Schema1 “gml“ Namensraum Schema3 Topologie GML-Rahmenkonzept Anwendungsmodellierung Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
SchemaB “Bsp“ Namensraum <include> SchemaA “gml“ Namensraum <import> Feature <include> Geometrie 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> 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> <gml:featureMember> <Strasse fid=“Str812">....</Strasse> </gml:featureMember> </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"> <complexContent> <extension base="gml:AbstractFeatureType"> <sequence>....</sequence> </extension> </complexContent> </complexType> <complexType name="StrassenTyp"> <complexContent> <extension base="gml:AbstractFeatureType"> <sequence>.....</sequence> </extension> </complexContent> </complexType> 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 2+ 1+ 1+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ MultiPolygon MultiLineString Line LinearRing 1+ Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
LineString3 LineString2 Punkt p LineString1 Wdh.: Simple Features und Topologie • 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
<Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326" 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: Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
Trennung Vor-/ Nachkommastelle (.) <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> coordinate separator (,) tuple separator ( ) <Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coordinates> 49.11,24.12 </coordinates> </Point> 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. Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
<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> <Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coord><X>5.0</X><Y>40.0</Y></coord> </Point> Repräsentation von Koordinaten (II) 2. Coord Element:Koordinatenwerte in eigenen Unterelementen Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
Beispiel: <Point gid="P1" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coord><X>56.1</X><Y>0.45</Y></coord> </Point> 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> 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
30.0,100.0 Beispiel: 0.0,0.0 <Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coordinates> 0.0,0.0 30.0,100.0 </coordinates> </Box> 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. Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
LineString: Folge von Punkten, durch gerade Liniensegmente verbunden <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 LineString Element <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> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
LineString2 LineString1 LineString2 LineString1 MultiLineString Element MultiLineString: Menge (Aggregation) von LineStrings <element name="MultiLineString" type="gml:MultiLineStringType" substitutionGroup="gml:_Geometry"/> <complexType name="MultiLineStringType"> <complexContent> <restriction base="gml:GeometryCollectionType"> <sequence> <element name="lineStringMember" maxOccurs="unbounded"> <complexType> <sequence> <element ref="gml:LineString"/> </sequence> </complexType> </element> </sequence> </restriction> </complexContent> </complexType> 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> <lineStringMember> <LineString> <coord><X>46.71</X><Y>9.25</Y></coord> <coord><X>56.88</X><Y>10.44</Y></coord> </LineString> </lineStringMember> <lineStringMember> <LineString> <coord><X>324.1</X><Y>219.7</Y></coord> <coord><X>0.45</X><Y>4.56</Y></coord> </LineString> </lineStringMember> </MultiLineString> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
LinearRing: einfacher, geschlossener LineString LinearRing Element (I) <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: einfacher, geschlossener LineString Beispiel: <LinearRing srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coordinates> 100.0,100.0 230.0,80.0 350.0,130.0 100.0,100.0 </coordinates> </LinearRing> die letzte Koordinate muss gleich der ersten sein LinearRing Element (II) 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> <sequence> <element ref="gml:LinearRing"/> </sequence> </complexType> </element> <element name="innerBoundaryIs" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element ref="gml:LinearRing"/> </sequence> </complexType> </element> </sequence> </extension> </complexContent> </complexType> 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> <LinearRing> <coordinates> 10.0,10.0 10.0,40.0 40.0,40.0 40.0,10.0 10.0,10.0 </coordinates> </LinearRing> </innerBoundaryIs> <innerBoundaryIs> <LinearRing> <coordinates> 60.0,60.0 60.0,90.0 90.0,90.0 90.0,60.0 60.0,60.0 </coordinates> </LinearRing> </innerBoundaryIs> </Polygon> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
MultiGeometry Element MultiGeometry: 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> <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> </geometryMember> <geometryMember> <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> </geometryMember> </MultiGeometry> Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
Gemarkung Euskirchen Flur 14 Flurstück 7 Eigentümer Stadt Euskirchen Gemarkung Euskirchen Flur 14 Flurstück 5 Eigentümer Leo Land Ein einfaches aber langes Beispiel (1) Meckenheimer Allee Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15
* 1 polygonProperty AbstractFeature Stadtmodell AbstractGeometry Flurstück LineString Polygon feature Member 1 * lineStringProperty GeometryProperty Strasse strname:string * * AbstractFeatureCollection geometry Property feature Member UML-Diagramm für ein 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> <gml:featureMember> <Strasse> ... </Strasse> </gml:featureMember> </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:PolygonsrsName="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:boundedBy> <gml:featureMember> <Flurstueck> ... </Flurstueck> </gml:featureMember> <gml:featureMember> <Strasse> ... </Strasse> </gml:featureMember> </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
Gemarkung Euskirchen Flur 14 Flurstück 5 Eigentümer Leo Land <?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> <gml:featureMember> <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> </gml:featureMember> </Stadtmodell> Nicht den Kopf verlieren Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15