13.06.02GML 2.01 Überblick: -Einführung (einschließlich Rückblick) -3 Basis Schema - Geometry...

28
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

Transcript of 13.06.02GML 2.01 Überblick: -Einführung (einschließlich Rückblick) -3 Basis Schema - Geometry...

Page 1: 13.06.02GML 2.01 Ü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

GML 2.0Überblick:- Einführung (einschließlich Rückblick)- 3 Basis Schema

- Geometry schema- Geometrieklassen

- Feature schema- Xlink schema

- Namensräume

Page 2: 13.06.02GML 2.01 Ü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

Page 3: 13.06.02GML 2.01 Ü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 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

Page 4: 13.06.02GML 2.01 Ü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 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

Page 5: 13.06.02GML 2.01 Ü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 5

Einführung

Vorteil GML 2.0 gegenüber GML 1.0:

- Typ Definition- Vererbung- Bedingungen

Page 6: 13.06.02GML 2.01 Ü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 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

Page 7: 13.06.02GML 2.01 Ü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 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

Page 8: 13.06.02GML 2.01 Ü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 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

Page 9: 13.06.02GML 2.01 Ü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 9

Geometrieklassen in GML

• Point• LineString• LinearRing• Polygon• MultiPoint• MultiLineString• MultiPolygon• GeometryCollection

auf diese Klassen wird im Näheren weiter eingegangen

Page 10: 13.06.02GML 2.01 Ü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 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>

Page 11: 13.06.02GML 2.01 Ü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 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>

Page 12: 13.06.02GML 2.01 Ü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 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

Page 13: 13.06.02GML 2.01 Ü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 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

Page 14: 13.06.02GML 2.01 Ü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 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>

Page 15: 13.06.02GML 2.01 Ü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 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

Page 16: 13.06.02GML 2.01 Ü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 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

Page 17: 13.06.02GML 2.01 Ü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 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>

Page 18: 13.06.02GML 2.01 Ü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 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>

Page 19: 13.06.02GML 2.01 Ü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 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).

Page 20: 13.06.02GML 2.01 Ü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 26

Feature schema

- geometrische Feature (Merkmale) verbindendie Geometrieklassen aus den „GeometrySchema“ mit nicht geometrischen Elementen

Page 21: 13.06.02GML 2.01 Ü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 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

Page 22: 13.06.02GML 2.01 Ü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 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

Page 23: 13.06.02GML 2.01 Ü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 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

Page 24: 13.06.02GML 2.01 Ü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 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

Page 25: 13.06.02GML 2.01 Ü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 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:

Page 26: 13.06.02GML 2.01 Ü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 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:

Page 27: 13.06.02GML 2.01 Ü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 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:

Page 28: 13.06.02GML 2.01 Ü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 37

Vielen Dank für Eure Aufmerksamkeit!