33
GML 3.0 Geographische Beschreibungssprache

GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

Embed Size (px)

Citation preview

Page 1: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

GML 3.0

Geographische Beschreibungssprache

Page 2: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 2

Gliederung

• Wiederholung: GML 2

• Struktur von GML 3

• Geometrie in GML 3

• Topologie in GML 3

• Beispiel: simpleNetwork.xml

Page 3: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 3

Wiederholung

GML: Geography Markup Language

XML-Anwendung für die Modellierungund Speicherung geographischerInformationen einschließlich räumlicher undnicht-räumlicher Eigenschaften (Properties).

Quelle: http://www.ikg.uni-bonn.de/Lehre/Geoinfo/GIS_III/Folien/Pack-and-Go/unzip/15 GML.ppt

Page 4: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 4

Wdh.: Kernelemente in GML 2.0:

• Geometry (Geometrie-Objekte)• Feature (Merkmal) Realweltobjekt

Eigenschaften Properties Unterscheidung von geometrischen und nichtgeometrischen Eigenschaften Modellierung geometrischer

Eigenschaften durch Geometrie-Objekte

( Assoziation „geometryProperty“)

Page 5: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 5

Wdh.: Geometrieklassen in GML 2.0:• Point• LineString• LinearRing• Polygon• MultiPoint• MultiLineString• MultiPolygon• MultiGeometry

Page 6: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 6

Struktur in GML 3.0

Objectgml:_Object

GML Objektgml:_GML

GML Featuregml:_Feature

GML Geometrygml:_Geometry

GML Topologygml:_Topology

GML Valuegml:_Value

GML Metadatagml:_MetaData

Quelle: http://www.opengis.org/docs/02-023r4.pdf

Page 7: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 7

GML Observationgml:_Observation

GML Coveragegml:_Coverage

GML Temporalgml:_TimeObject

GML StyleDescriptorgml:_StyleDescriptor

GML Temporal Reference Systemgml:_TimeReferenceSystem

GML Coordinate Reference Systemgml:_CRS

GML Unit Definitiongml:UnitDefinition

GML Definitiongml:Definition

GML Coveragegml:_Coverage

Struktur in GML 3.0: Forts.

Quelle: http://www.opengis.org/docs/02-023r4.pdf

Page 8: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 8

Basiskomponente in GML 3.0:_GML

<element name=”_GML“ type=”gml:AbstractGMLType” abstract=”true”substitutionGroup=”gml:_Object”/><complexType name=”AbstractGMLType” abstract=”true”> <sequence><element ref=”gml:metaDataProperty minOccurs=”0”maxOccurs=”unbounded”/> <element ref =”gml:description” minOccurs=”0”/> <element ref= "gml:name" minOccurs="0" maxOccurs="unbounded"/> <sequence/> <attribute ref="gml:id" use="optional"/></complexType>

In GML 2 war _Feature die Basiskomponente

Page 9: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 9

Geometrie GML 2: Definitionen zur Modellierung in einer Schema-Datei:

geometry.xsd

GML 3:Erweiterung der Geometrie-Objekte:

• geometryBasic0d1d.xsd

• geometryBasic2d.xsd

• geometryPrimitives.xsd

• geometryComplexes.xsd

• geometryAggregates.xsd

Page 10: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 10

geometryBasic0d1d.xsd

<element name="Point" type="gml:PointType" substitutionGroup="gml:_GeometricPrimitiv"/>

<complexType name="PointType"> <complexContent> <extension base="gml:AbstractGeometricPrimitiveType"> <sequence> <choice> <element ref="gml:pos"/> <element ref"gml:coordinates"/> </choice> </sequence> </extension> </complexContent></complexType>

Darstellung von Punkten: Element Point

Page 11: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 11

geometryBasic0d1d.xsd

<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="&#x20;"/> </extension> </simpleContent></complexType>

Darstellung von Point mit coordinates<Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coordinates> 49.11,24.12 </coordinates></Point>

Darstellung von Koordinaten: Element Coordinates

Page 12: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 12

geometryBasic0d1d.xsdElement Coord von GML 3 nicht unterstützt

stattdessen:Element pos: Angabe von Double-Werten, Trennung der Werte

durch Leerzeichen

<element name="pos“ type="gml:DirectPositionType/> <complexType name="DirectPositionType"> <simpleContent> <extension base="gml:doubleList"> <attribute name="srsName type="anyURI use="optional"/> <attribute name="dimension type="positiveInteger" use="optional"/> </extension> </simpleContent></complexType>

Darstellung von Point mit pos:<Point gml:id="p1111" srsName="http://.../epsg.xml#4326"> <pos>3 6</pos></Point>

Page 13: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 13

u.a.weitere Möglichkeiten der Interpolation zwischen PunktenSimple Type CurveInterpolationType <simpleType name="CurveInterpolationType"> <resriction base="string"> <enumeration value="linear"/> <enumeration value="geodesic"/> <enumeration value="circularArc3Points"/> <enumeration value="circularArc2PointWithBulge"/> <enumeration value="circularArcCenterPointWithRadius"/> <enumeration value="elliptical"/> <enumeration value="clothoid"/> <enumeration value="conic"/> <enumeration value="polynomialSpline"/> <enumeration value="cubicSpline"/> <enumeration value="rationalSpline"/> </restriction> </simpleType>

geometryPrimitives.xsd:

Page 14: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 14

Anwendung einer Interpolationsmethode:

<element name="ArcString" type="gml:ArcStringType" substitutionGroup="gml:_CurveSegment"/> <compleType name="ArcStringType"> <complexContent> <extension base="gml:AbstractCurveSegmentType"> <sequence> <choice> <choice minOccurs="3" maxOccurs="unbounded"> <element ref="gml:pos"/> <element ref="gml:pointRep"/> </choice> <element ref="gml:coordinates"/> </choice> </sequence> <attribute name="interpolation type="gml:CurveInterpolationType" fixed="circularArc3Points"/> <attribute name="numArc" type="integer" use="optional"/> </extension> </complexContent> </complexType>

Interpolation auf Kreisbogen-durch-

3-Punkte festgesetzt

Anzahl der Bögen kann festgesetzt werden

Element ArcString

Page 15: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 15

Beispiel: ArcString<ArcString gml:id="b2" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"><coordinates> a,b c,d e,f g,h i,j </coordinates></ArcString>

a,b c,d

e,f

g,h

i,j

Anzahl der Bögen: 2*numArc +1

Page 16: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 16

Weiterhin:1-D-Bereich: Anwendungen wie die Modellierung von Kreisen (Circles)

2-D-Bereich:Modellierung von Flächen mit verschiedenen Interpolationsmethoden(planar, spherical, elliptical, polynomialSpline,...)

3-D-Bereich:Modellierung von Körpern (solids)

geometryPrimitives.xsd

Page 17: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 17

Topologie

_Topology

_TopoPrimitive _TopoComplex

Node Edge Face TopoSolid

Quelle: http://www.opengis.org/docs/02-023r4.pdf

Page 18: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 18

<element name="_Topology" type="gml:AbstractTopologyType" abstract="true" substitutionGroup="gml:_Object"/>

<complexType name="AbstractTopologyType" abstract="true"> <complexContent> <extension base="gml:AbstractGMLType/> </complexContent></complexType>

Basistyp für alle topologischen Elemente: topologische Primitive topologische Komplexe

AbstractTopologyType:

Element _Topology

Page 19: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 19

Basistyp auf der nächsten Stufe für alle topologischen PrimitiveAbstractTopoPrimitive<element name="_TopoPrimitive" type="gml:AbstractTopoPrimitiveType" abstract="true" substitutionGroup="gml:_Topology"/>

<complexType name="AbstractTopoPrimitiveType" absrtact="true"> <complexContent> <extension base="gml:AbstractTopologyType"> <sequence> <element ref="gml:isolated" minOccurs="0" maxOccurs="unbounded"/> <element ref="gml:container" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent></complexType>

Beziehungen zwischen topologischen

Primitiven

AbstractTopoPrimitive:

Page 20: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 20

Face

Node

Die Masche (Face) bildet hier den Container für den Knoten (Node). Der Knoten ist die „Isolierte“ der Masche.

Topologische Relationen

Page 21: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 21

kleinstes topologisches Primitiv<element name=”Node” type=”gml:NodeType” substitutionGroup=”gml:_TopoPrimitive”/><complexType name=”NodeType”>

<complexContent> <extension base=”gml:AbstractTopoPrimitiveType”> <sequence> <element ref=”gml:directedEdge” minOccurs=”0” maxOccurs=”unbounded”/> <element ref=”gml:pointProperty minOccurs=”0”/> </sequence> </extension></complexContent>

</complexType>

Bezug zu einem geometrischen Punkt und/oder zu einer

gerichteten Kante (directedEdge) kann hergestellt werden

Node (Knoten)

Beispiel<gml:Node gml:id="n1"/>

Page 22: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 22

gml:SignType

<simpleType name=”SignType”><restriction base=”string”>

<enumeration value=”-“><enumeration value=”+”>

</restriction></simpleType>

kleiner Exkurs:

Als SignType kann entweder ein „+“ oder

ein „-“ gewählt werden.

directedNodeKnoten wird zu Start- oder Endknoten deklariert

- Startknoten+ Endknoten

Page 23: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 23

<element name=”directedNode” type=”gml:DirectedNodePropertyType”/><complexType name=”DirectedNodePropertyType”> <choice> <element ref=”gml:Node” minOccurs=”0”/> <choice> <attribute name =”orientation” type=”gml:SignType” default=”+”/> <attributeGroup ref=”gml:AssociationAttributeGroup”/></complexType>

default: Solange nichts anderes deklariert wird,

bleibt „orientation“ mit „+“ besetzt.

directedNode

Beispiel<gml:directedNode gml:id="dn1" orientation="-"/>

Page 24: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 24

<element name="Edge" type="gml:EdgeType" substitutionGroup="gml:_TopoPrimitive"/>

<complexType name="EdgeType"> <complexContent> <extension base="gml:AbstractTopoPrimitiveType"> <sequence> <element ref="gml:directedNode" minOccurs="2" maxOccurs="2"/> <element ref="gml:directedFace" minOccurs="0" maxOccurs="unbounded"/> <element ref="gml:curveProperty" minOccurs="0"/> </sequence> </extension> </complexContent></complexType>

Kante besitzt auf jeden Fall 2 gerichtete

Knoten

Edge (Kante)

Page 25: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 25

n1 (10,10) n2 (20,10) n3 (30,10)

n4 (20,20)

e1 e2

e3

Beispiel: simpleNetwork.xml

Quelle: http://www.opengis.org/docs/02-023r4.pdf

Page 26: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 26

<?xml version="1.0" encoding="UTF-8"?>

<Topology xmlns="http://www.opengis.net/app" xmlns:sch="http://www.ascc.net/xml/schematron"

xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http//www.opengis.net/gml"xmlns:app="http://www.opengis.net/app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.opengis.net/app networkExamples.xsd">

<gml:Node gml:id="n1"> <gml:pointProperty> <pml:Point> <gml:coordinates>10,10</gml:coordinates> </gml:Point> </gml:pointProperty> </gml:Node> n1 (10,10)

simpleNetwork.xml

Page 27: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 27

<gml:Node gml:id="n2"> <gml:pointProperty> <pml:Point> <gml:coordinates>20,10</gml:coordinates> </gml:Point> </gml:pointProperty> </gml:Node>

n1 (10,10) n2 (20,10) n3 (30,10)

n1 (10,10) n2 (20,10)

<gml:Node gml:id="n3"> <gml:pointProperty> <pml:Point> <gml:coordinates>30,10</gml:coordinates> </gml:Point> </gml:pointProperty> </gml:Node>

simpleNetwork.xml

Page 28: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 28

<gml:Node gml:id="n4"> <gml:pointProperty> <pml:Point> <gml:coordinates>20,20</gml:coordinates> </gml:Point> </gml:pointProperty></gml:Node>

n1 (10,10) n2 (20,10) n3 (30,10)

n4 (20,20)

simpleNetwork.xml

Page 29: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 29

simpleNetwork.xml <gml:Edge gml:id="e2"> <gml:directedNode orientation="-" xlink:href="#n1"/> <gml:directedNode orientation="+" xlink:href="#n2"/> <gml:centerLineOf> <gml:LineString> <gml:coordinates>10,10 20,10</gml:coordinates> </gml:LineString> </gml:centerLineOf> </gml:Edge>

n1 (10,10) n2 (20,10) n3 (30,10)

n4 (20,20)

e1

<element name="centerLineOf“ type="gml:CurvePropertyType" substitutionGroup="gml:curveProperty"/>

beschreibender Bezeichner: LineString wird erwartet

Page 30: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 30

<gml:Edge gml:id="e2"> <gml:directedNode orientation="-" xlink:href="#n2"/> <gml:directedNode orientation="+" xlink:href="#n3"/> <gml:centerLineOf> <gml:LineString> <gml:coordinates>20,10 30,10</gml:coordinates> </gml:LineString> </gml:centerLineOf> </gml:Edge>

n1 (10,10) n2 (20,10) n3 (30,10)

n4 (20,20)

simpleNetwork.xml

e1 e2

Page 31: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 31

simpleNetwork.xml

<gml:Edge gml:id="e3"> <gml:directedNode orientation="-" xlink:href="#n2"/> <gml:directedNode orientation="+" xlink:href="#n4"/> <gml:centerLineOf> <gml:LineString> <gml:coordinates>20,10 20,20</gml:coordinates> </gml:LineString> </gml:centerLineOf> </gml:Edge>

n4 (20,20)

e1 e2

e3

n1 (10,10) n2 (20,10) n3 (30,10)

Page 32: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 32

Quellenverzeichnis• http://www.w3.org/TR/2000/REC-xml-20001006

• http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/

• http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/

• http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/

• http://www.opengis.org/docs/02-023r4.pdf

• http://www.opengis.org/docs/01-029.pdf

• http://www.ikg.uni-bonn.de/Lehre/Geoinfo/Gis_iv_SS_02/Vortraege/borsutzky.ppt

• http://www.ikg.uni-bonn.de/Lehre/Geoinfo/GIS_III/Folien/Pack-and-Go/unzip/ 14a XML-Schema,UML-XML-Schema.ppt

Page 33: GML 3.0 Geographische Beschreibungssprache. 27.06.2015GML 3.02 Gliederung Wiederholung: GML 2 Struktur von GML 3 Geometrie in GML 3 Topologie in GML 3

04/26/23 GML 3.0 33

Quellenverzeichnis

• http://www.ikg.uni-bonn.de/Lehre/Geoinfo/GIS_III/Folien/Pack-and-Go/unzip/ 14b XML-Schema,UML-XML-Schema.ppt

• http://www.ikg.uni-bonn.de/Lehre/Geoinfo/GIS_III/Folien/Pack-and-Go/unzip/15a GML.ppt

• http://www.ikg.uni-bonn.de/Lehre/Geoinfo/GIS_III/Folien/Pack-and-Go/unzip/15b GML.ppt

• http://www.ikg.uni-bonn.de/Lehre/Geoinfo/GIS_III/Folien/Pack-and-Go/unzip/15c GML.ppt