Post on 06-Apr-2016
transcript
13.06.02 GML 2.0 1
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 2
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 3
Einführung
- seit GML 2.0 erfolgt die Spezifikation nicht mehr durch Dokumenttyp-Deklaration, sondern mittles XML Schema
1. Geometry schema2. Feature schema3. Xlinks schema
13.06.02 GML 2.0 4
Rückblick: DTDdie Dokumententyp- Deklaration besteht aus einzelnen Dokumenttyp- Definitionen (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 5
Einführung
Vorteil GML 2.0 gegenüber GML 1.0:
- Typ Definition- Vererbung- Bedingungen
13.06.02 GML 2.0 6
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 7
3 Basis Schema1. 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 8
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 9
Geometrieklassen in GML
• Point• LineString• LinearRing• Polygon• MultiPoint• MultiLineString• MultiPolygon• GeometryCollection
auf diese Klassen wird im Näheren weiter eingegangen
13.06.02 GML 2.0 10
Spatial Reference System (SRS)
- Zu den Geometriedaten muss das räumliche Bezugssystem (engl.: Spatial Reference System) benannt werden, in den die Koordinaten vorliegen.
- Bei zusammengesetzten Geometrie reicht es, wenn das Bezugssystem bei der Angabe des umschliessenden Rechtecks (Bounding Box) benannt ist.
- der srsName leitet zu der Definition des SRS
<Point srsName=”http://www.opengis.net/gml/srs/epsg.xml#4326”>
<coord><X>5.0</X><Y>40.0</Y></coord>
</Point>
13.06.02 GML 2.0 11
Coordinates ElementZwei 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 12
Coordinates ElementCoord-Schema
<element name=“coord“ type=“gml:CoordType“/>
<complexType name=“CoordType“><sequence>
<element name=“X“ type=“decimal“/><element name=“Y“ type=“decimal“ minOccurs=“0“/>
</sequence></complexType>
„Begriffebene“: beinhaltet nur den Name und den Typ
des Element
- man unterscheidet in GML 2.0 zwischen den „Begriffebene“ und der „Durchführungsebene“
„Durchführungsebene“: XML-Schema: beinhaltet die Art und Weise, wie das Element dargestellt
werden kann
13.06.02 GML 2.0 13
Coordinates ElementCoord-Schema
<element name=“coord“ type=“gml:CoordType“/>
<complexType name=“CoordType“><sequence>
<element name=“X“ type=“decimal“/><element name=“Y“ type=“decimal“ minOccurs=“0“/>
</sequence></complexType>
Sequence = Reihenfolge, Aufzählung
Element Name
Typ
Bedingung: Y muß mindestens Null
sein
Namensraum
13.06.02 GML 2.0 15
Point Element
<complexType name=“PointType“>
</complexType>
Point-Schema:
<complexContent>
</complexContent>
<extension base=“gml:AbstractGeometryType“>
</extension>
<sequence>
</sequence>
<choice>
</choice>
<element ref=“gml:coord“/><element ref=“gml:coordinates“/>
entweder nimmt man
das Element coord oder coordinates
<element name=“Point“ type=“gml:PointType“ substitutionGroup=“gml:_Geometry“/>
Vererbung: aus den Element AbstractGeometryType erbt das Element
PointType z.B. das Attribut „srsName“
<complexType name=AbstractGeometryType“ abstract=true“><attribute name=„srsName“ type=........
<complexType>
13.06.02 GML 2.0 16
Point Element
<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:
stellt ein eindeutiges Kennzeichen für
geometrische Elemente dar
ein Point Element besteht aus einem Koordinatenpaar
13.06.02 GML 2.0 20
Polygon ElementouterBoundaryIs
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 21
Polygon ElementPolygonSchema:
<complexType name=“PolygonType“> <complexContent> <extension base=“gml:AbstractGeometryType“>
<sequence> <element name=“outerBoundaryIs“>
...... </element> </element name=“innerBoundaryIs“ minOccurs=“0“ maxOccurs=“unbounded“>
...... </element>
</sequence> </extension> </complexContent></complexType>
<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>
13.06.02 GML 2.0 22
Polygon Element
<coordinates>0.0,0.0 100.0,0.0 100.0,100.0 0.0,100.0 0.0,0.0</coordinates>
<coordinates>10.0,10.0 10.0,40.0 40.0,40.0 40.0,10.0 10.0,10.0</coordinates>
Beispiel:
<Polygon gid= “_98217” srsName= “http://www.opengis.net/gml/srs/epsg.xml#4326”>
</Polygon>
<outerBoundaryIs>
</outerBoundaryIs><inner BoundaryIs>
</innerBoundaryIs>
<LinearRing>
</LinearRing>
<LinearRing>
</LinearRing>
13.06.02 GML 2.0 23
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 GeometrienEin GeometryCollection Element kann wiederum einGeometryCollection Element enthalten (Rekursion).
13.06.02 GML 2.0 26
Feature schema
- geometrische Feature (Merkmale) verbindendie Geometrieklassen aus den „GeometrySchema“ mit nicht geometrischen Elementen
13.06.02 GML 2.0 27
Feature schema
<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>
Feature (Merkmal)Descriptive name =
LocationFormal name = point Property
Beispiel:
Geometrieklasse Point
13.06.02 GML 2.0 28
Feature schemaFormal name Descriptive name Geometry type
boundedBy - Box
pointProperty location, position, centerOf Point
lineStringProperty centerLineOf, edgeOf LineString
polygonProperty extentOf, couverage Poygon
geometryProperty - Any
multiPointProperty multiLocation, multiPosition, multiCenterOf
MultiPoint
multiLineStringProperty multiCenterLineOf, multiEdgeOf MultiLineString
multiPolygonProperty multiExtentOf, multiCoverage MultiPolygon
multiGeometrieProperty - MultiGeometry
kennzeichnen geometrische Attribute
eine Reihe von vereinheitlichen Synonyms oder Decknamen für die formal name - dies erlaubt eine Benutzer freundliches Set
13.06.02 GML 2.0 29
Feature schemaEin Element kann jede Art von geometrischen Attributenhaben:
z.B. ein Fernsehturm
um den Ort zu identifizierenhat das Element ein Descriptive name: location, die auf eine
Punktgeometry zurück zuführen ist
um die physikalische Struktur zu identifizierenhat das Element ein Descriptive name: extenOf, die auf eine
Polygongeometry zurück zu führen ist
13.06.02 GML 2.0 30
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 31
Xlink schemaEinfache Links (simple links):- ist eine „Einbahnstraßen-Verbindung“ zwischen
zwei XML Schemas
<propertyName xlink:type=“simple“xlink:title=“Description of target instance“xlink:href=http://www.myfavoritesite.com/location.xml#identifier/>
xlink:title Attribut ist optional
xlink:type Attribute: simple
Xlink:href zeigt den Ort an, wo das
andere XML Element liegt
Beispiel:
13.06.02 GML 2.0 32
Xlink schema
<CityModel>
<cityMember><River>
.....</River>
</cityMember>
<cityMember xlink:type= “ simple“ xlink:title= “Trinity Lane“xlink:“href://www.foo.net/cgi-bin/wfs?FeatureID=C10239“/>
</CityModel>
Beispiel:
13.06.02 GML 2.0 33
Xlink schema
- eine Ergänzung des Xlink Attribut- verweist auf ein GML Schema
<gml:featureMember xlink:type=“simple“gml:remoteSchema=http://www.myfavoritesite.com/types.xsd#RiverTypxlink:href=http://www.myfavoritesite.com/rivers#Rv567>
z.B. man will ein neues Fluss Element einführen, dann
verweist remoteSchema auf das allgemeine Schema von
Flüssen
Beispiel:
13.06.02 GML 2.0 37
Vielen Dank für Eure Aufmerksamkeit!