Upload
makoto
View
44
Download
0
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Institut für Kartographie und GeoinformationProf. Dr. Lutz Plümer Dr. Thomas H. Kolbe
Geoinformation III
Geography Markup Language GML
Vorlesung 15
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 2
Übersicht über den dritten Vorlesungsblock
1. Offene Systeme, Rechnernetze und das Internet
Die eXtensible Markup Language XML
2. 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 3
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 4
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 5
Zusammenspiel der GML-Komponenten
• 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
FeatureCollection Feature GeometryfeatureMember
*geometryProperty
*nicht-geometrische E.
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 6
Beispiel für eine GML-Modellierung
name:string
Strasse Stadt konkret
Geometrie Feature abstraktgeometryProperty
*
LineStringlineStringProperty
nichtgeometrische Eigenschaft
Spezifische geome-trische Eigenschaft: linienhafte Geometrie
Realweltobjekte werden als Unterklasse der Klasse Feature modelliert
Es sind für alle Geometrie-Klassen eigene geometrische Eigenschaften definiert(nächste Folie)
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 7
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 8
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 9
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 10
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 11
Beispiel zur XML-Kodierung
<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>
<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 12
AnwendungsmodellierungAnwendungsspezifische 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 13
<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>
Einbindung der GML-Schemata
SchemaB
SchemaA
<include>“Bsp“ Namensraum
Feature
Geometrie
<include>
“gml“ Namensraum
<import>
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 14
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 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 16
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 17
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 19
Modellierung der Geometriediese Definitionen sind in einer eigenen Schema-Datei
zusammengestellt: geometry.xsd
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 20
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 21
Wdh.: UML-Diagramm Simple Features
Geometry SpatialReferenceSystem
Point Curve Surface GeometryCollection
LineString Polygon MultiSurface MultiCurve MultiPoint
Line LinearRingMultiPolygon
1+ 2+
1+
1+
1+MultiLineString
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 22
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
LineString1
LineString3
Punkt p
LineString2
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 23
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 24
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 25
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.
<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>
Trennung Vor-/ Nachkommastelle (.)
coordinate separator (,)
tuple separator ( )
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 26
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 27
Point ElementPoint Element: Ein Point Element besteht aus einem Koordinatentupel.
<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:
<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 28
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 29
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 30
LineString ElementLineString: 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 31
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>
LineString1
LineString1 LineString2
LineString2
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 32
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 33
LinearRing Element (I)
LinearRing: 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 34
LinearRing Element (II)
LinearRing: 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 100.0,100.0 </coordinates></LinearRing>
Beispiel:
die letzte Koordinate muss gleich der ersten
sein
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 35
Polygon Element (I)
outerBoundaryIs
innerBoundaryIs
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 36
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 37
<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 38
MultiGeometry ElementMultiGeometry: 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 39
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 40
Ein einfaches aber langes Beispiel (1)
Gemarkung EuskirchenFlur 14Flurstück 5Eigentümer Leo Land
Gemarkung EuskirchenFlur 14Flurstück 7Eigentümer Stadt Euskirchen
Meckenheimer Allee
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 41
UML-Diagramm für ein Stadtmodell
Stadtmodell
Flurstück
strname:string
Strasse
*
*
featureMember
GeometryProperty
AbstractFeatureCollection AbstractFeature AbstractGeometryfeatureMember
*geometryProperty
*
Polygon
LineStringlineStringProperty
polygonProperty 1
1
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 42
<?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>
Ein einfaches aber langes Beispiel (2)
nächste Folie
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 43
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 44
<?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>
Ein einfaches aber langes Beispiel (4)
nächste Folie
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 45
<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>
Ein einfaches aber langes Beispiel (5)
nächste Folie
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 46
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 47
<?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>
Ein einfaches aber langes Beispiel (7)
nächste Folie
Thomas Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 15 48
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 49
<?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
Gemarkung EuskirchenFlur 14Flurstück 5Eigentümer Leo Land