5.1 GML 2.0

Werbung
GML 2.0
Überblick:
- Einführung (einschließlich Rückblick)
- 3 Basis Schema
- Geometry schema
- Geometrieklassen
- Feature schema
- Xlink schema
- Namensräume
13.06.02
GML 2.0
1
Einführung
- GML= Geographic Markup Language
- GML ist eine XML-Anwendung zum Transport
und zur Speicherung einfacher Geodaten.
- es wird zum Beispiel genutzt um ein City Model
darzustellen
- GML 2.0
- veröffentlich: Oktober 2000
- Verabschiedet: April 2001
- GML 3.0 zur Zeit in Arbeit
13.06.02
GML 2.0
2
Einführung
-
seit GML 2.0 erfolgt die Spezifikation nicht
mehr durch Dokumenttyp-Deklaration, sondern
mittles XML Schema
1. Geometry schema
2. Feature schema
3. Xlinks schema
13.06.02
GML 2.0
3
Rückblick: DTD
die Dokumententyp- Deklaration besteht aus einzelnen DokumenttypDefinitionen (DTD)
 die wiederum aus Element-Definitionen und Attribut-Definitionen besteht
Grundform der Element-Definition:
<!Element Elementname (Inhaltsmodell)>
Beispiel für Inhaltsmodell (geben an in welcher Reihenfolge, welche Kinder und wie viele
Kinder) : #PCDATA
Attribut-Definitionen spezifizieren die zu einem Element erlaubten Attribute
mit ihren Datentypen:
<!ATTLIST Elementname Attributname Attributtyp Optionen>
Beispiel für Attributtypen: CDATA, ENITITY, ID
13.06.02
GML 2.0
4
Einführung
Vorteil GML 2.0 gegenüber GML 1.0:
-
Typ Definition
Vererbung
Bedingungen
13.06.02
GML 2.0
5
Einführung
GML 2.0 basiert auf simple feature
- begrenzt auf einfache Geometrie
-Elemente haben entweder einfache Attribute
(booleans, intergers, reals, strings) oder
geometrische Attribute
- 2D
- die Elemente werden auf ein zwei dimensionales
Referenzsystem SRS (Spatial Reference System)
zurüchgeführt
13.06.02
GML 2.0
6
3 Basis Schema
1. Geometry schema (geometry.xsd)
- beinhaltet die detaillierten geometrischen
Komponenten (Geometrieklassen)
2. Feature schema (feature.xsd)
- geometrische Feature (Merkmale) verbinden die
Geometrieklassen aus den „Geometry Schema“ mit nicht
geometrischen Elementen
3. Xlink schema (Xlink.xsd)
- Xlinks benutzt man zum Zuweisen von Links
(Verknüpfungen) zu XML-Dokumenten
13.06.02
GML 2.0
7
Geometry schema
- enthält die detaillierten geometrischen
Komponenten (Geometrieklassen)
- die detaillierten geometrischen Komponenten braucht
man beispielsweise um eine Stadt darzustellen, wie
Straßen, Flüsse usw.
- die Geometrie wird durch Simple Feature
repräsentiert
- nur 0-2 dimensional
- begrenzt auf eine einfache Geometrie
13.06.02
GML 2.0
8
Geometrieklassen in GML
•
•
•
•
•
•
•
•
Point
LineString
LinearRing
Polygon
MultiPoint
MultiLineString
MultiPolygon
GeometryCollection
13.06.02
auf diese
Klassen
wird im
Näheren
weiter
eingegangen
GML 2.0
9
Spatial Reference System (SRS)
- Zu den Geometriedaten muss das räumliche
Bezugssystem (engl.: Spatial Reference System)
<Pointbenannt
srsName=”http://www.opengis.net/gml/srs/epsg.xml#4326”>
werden, in den die Koordinaten vorliegen.
- Bei<coord><X>5.0</X><Y>40.0</Y></coord>
zusammengesetzten Geometrie reicht es, wenn
</Point>
das Bezugssystem bei der Angabe des
umschliessenden Rechtecks (Bounding Box)
benannt ist.
- der srsName leitet zu der Definition des SRS
13.06.02
GML 2.0
10
Coordinates Element
Zwei Arten der Darstellung von Koordinaten:
- coord – jede Koordinate einzeln dargestellt
Beispiel:
<Point>
<coord><X>5.0</X><Y>40.0</Y></coord>
</Point>
- coordinates - als Koordinatenpaar dargestellt
Beispiel:
<LinearRing>
<coordinates>0.0,0.0 100.0,0.0 100.0,100.0 0.0,100.0 0.0,0.0</coordinates>
</LinearRing>
13.06.02
GML 2.0
11
Coordinates Element
Coord-Schema
<element name=“coord“ type=“gml:CoordType“/>
„Begriffebene“:
beinhaltet nur den
Name und den Typ
des Element
<complexType name=“CoordType“>
<sequence>
<element name=“X“ type=“decimal“/>
<element name=“Y“ type=“decimal“ minOccurs=“0“/>
</sequence>
</complexType>
„Durchführungsebene“:
XML-Schema: beinhaltet
die Art und Weise, wie das
- man unterscheidet in GML 2.0 zwischen den
„Begriffebene“
Element dargestellt
und der „Durchführungsebene“
werden kann
13.06.02
GML 2.0
12
Element Name
Coordinates Element
Namensraum
Typ
Coord-Schema
<element name=“coord“ type=“gml:CoordType“/>
Bedingung: Y muß
mindestens Null
sein
<complexType name=“CoordType“>
<sequence>
<element name=“X“ type=“decimal“/>
<element name=“Y“ type=“decimal“ minOccurs=“0“/>
</sequence>
Sequence =
</complexType>
Reihenfolge,
Aufzählung
13.06.02
GML 2.0
13
Vererbung: aus den Element AbstractGeometryType
erbt das Element PointType z.B. das Attribut
„srsName“
Point Element
Point-Schema:
<complexType name=AbstractGeometryType“ abstract=true“>
<attribute name=„srsName“
type=........
<element name=“Point“ type=“gml:PointType“
substitutionGroup=“gml:_Geometry“/>
<complexType>
<complexType name=“PointType“>
<complexContent>
<extension base=“gml:AbstractGeometryType“>
<sequence>
<choice>
<element ref=“gml:coord“/>
<element ref=“gml:coordinates“/>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
13.06.02
GML 2.0
entweder
nimmt man
das Element
coord oder
coordinates
15
Point Element
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>
stellt ein eindeutiges
Kennzeichen für
geometrische Elemente
dar
13.06.02
ein Point Element
besteht aus einem
Koordinatenpaar
GML 2.0
16
Polygon Element
outerBoundaryIs
innerBoundaryIs
- die Punkte des Polygon sind zu einen Pfad verbunden
 Boundary ist ein Linear Ring
- InnerBoundary: darf keinen anderen Pfad kreuzen und enthält
keinen anderen
-muß mindestens ein ExteriorBoundary und Null oder mehr
innereBoundry Elements enthalten
13.06.02
GML 2.0
20
Polygon Element
PolygonSchema:
<element name=“innerBoundaryIs“ minOccurs=“0“ maxOccurs=“unbounded“>
<complexType name=“PolygonType“>
<complexType>
<complexContent>
<sequence>
<extension base=“gml:AbstractGeometryType“>
<element ref=“gml:LinearRing“/>
<sequence>
<sequence>
</complexType>
<element
name=“outerBoundaryIs“>
</element>
......
</element>
</element name=“innerBoundaryIs“ minOccurs=“0“ maxOccurs=“unbounded“>
......
</element>
<element name=“outerBoundaryIs“>
</sequence>
<complexType>
<sequence>
</extension>
<element ref=“gml:LinearRing“/>
</complexContent>
<sequence>
</complexType>
</complexType>
</element>
13.06.02
GML 2.0
21
Polygon Element
Beispiel:
<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>
<inner BoundaryIs>
<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>
</Polygon>
13.06.02
GML 2.0
22
GeometryCollection Element
Geometrie Collection:
1. eine Reihe von gleichartigen Geometrien
- MultiPoint ist eine Collection von Punkten
- MultiLineString ist eine Collection von LineString
- MultiPolygon ist eine Collection von Polygon
2. eine Reihe von unterschiedlichen Geometrien
Ein GeometryCollection Element kann wiederum ein
GeometryCollection Element enthalten (Rekursion).
13.06.02
GML 2.0
23
Feature schema
- geometrische Feature (Merkmale) verbinden
die Geometrieklassen aus den „Geometry
Schema“ mit nicht geometrischen Elementen
13.06.02
GML 2.0
26
Feature schema
Feature (Merkmal)
Descriptive name =
Location
Formal name =
point Property
Beispiel:
<Dean>
<familyName>Smith</familyName>
<age>42</age>
<nickName>Smith</nickName>
<nickName>Bornehead</nickName>
<gml:location>
<gml:Point>
<gml:coord><gml:X>1.0</gml:X><gml:Y>1.0</gml:Y></gml:coord>
</gml:Point>
<gml:location>
</Dean>
13.06.02
GML 2.0
Geometrieklasse
27
Point
Feature schema
Formal name
Descriptive name
Geometry type
boundedBy
-
Box
pointProperty
location, position, centerOf
Point
lineStringProperty
centerLineOf, edgeOf
LineString
polygonProperty
extentOf, couverage
Poygon
geometryProperty
kennzeichnen
geometrische
multiPointProperty
Attribute
multiLineStringProperty
multiPolygonProperty
multiGeometrieProperty
13.06.02
eine Reihe von
vereinheitlichen
multiLocation, Synonyms
multiPosition, oder
multiCenterOf Decknamen für die
formal
name
multiCenterLineOf,
multiEdgeOf
multiExtentOf, -multiCoverage
dies erlaubt eine
Benutzer
freundliches Set
GML 2.0
Any
MultiPoint
MultiLineString
MultiPolygon
MultiGeometry
28
Feature schema
Ein Element kann jede Art von geometrischen Attributen
haben:
z.B. ein Fernsehturm
 um den Ort zu identifizieren
 hat das Element ein Descriptive name: location, die auf eine
Punktgeometry zurück zuführen ist
 um die physikalische Struktur zu identifizieren
 hat das Element ein Descriptive name: extenOf, die auf eine
Polygongeometry zurück zu führen ist
13.06.02
GML 2.0
29
Xlink schema
- XML Linking Language (Xlink) ist eine Empfehlung
des World Wide Web Consortium
- Xlinks benutzt man zum Zuweisen von Links
(Verknüpfungen) zu XML-Dokumenten
- Kann eine Punkt A- zu Punkt B-Verknüpfung sein,
oder
- Bidirektional: zwei Dokumente in beide Richtungen
verbinden, so können sie sowohl von A nach B als
auch von B nach A gehen
- Können auch multidirektional sein, d.h.
unterschiedliche Wege zwischen beliebig vielen
XML-Dokumenten repräsentieren
13.06.02
GML 2.0
30
Xlink schema
Einfache Links (simple links):
- ist eine „Einbahnstraßen-Verbindung“ zwischen
zwei XML Schemas
xlink:title Attribut ist
optional
xlink:type
Attribute: simple
Xlink:href zeigt den
Ort an, wo das andere
XML Element liegt
Beispiel:
<propertyName xlink:type=“simple“
xlink:title=“Description of target instance“
xlink:href=http://www.myfavoritesite.com/location.xml#identifier/>
13.06.02
GML 2.0
31
Xlink schema
Beispiel:
<CityModel>
<cityMember>
<River>
.....
</River>
</cityMember>
<cityMember xlink:type= “ simple“ xlink:title= “Trinity Lane“
xlink:“href://www.foo.net/cgi-bin/wfs?FeatureID=C10239“/>
</CityModel>
13.06.02
GML 2.0
32
Xlink schema
z.B. man will ein neues Fluss
- eine Ergänzung des Xlink AttributElement einführen, dann
- verweist auf ein GML Schema verweist remoteSchema auf
das allgemeine Schema von
Flüssen
Beispiel:
<gml:featureMember xlink:type=“simple“
gml:remoteSchema=http://www.myfavoritesite.com/types.xsd#RiverTyp
xlink:href=http://www.myfavoritesite.com/rivers#Rv567>
13.06.02
GML 2.0
33
Vielen Dank für Eure Aufmerksamkeit!
13.06.02
GML 2.0
37
Herunterladen