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.
Post on 06-Apr-2016
219 Views
Preview:
Transcript
GML 3.0
Geographische Beschreibungssprache
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
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
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“)
04/26/23 GML 3.0 5
Wdh.: Geometrieklassen in GML 2.0:• Point• LineString• LinearRing• Polygon• MultiPoint• MultiLineString• MultiPolygon• MultiGeometry
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
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
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
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
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
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=" "/> </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
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>
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:
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
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
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
04/26/23 GML 3.0 17
Topologie
_Topology
_TopoPrimitive _TopoComplex
Node Edge Face TopoSolid
Quelle: http://www.opengis.org/docs/02-023r4.pdf
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
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:
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
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"/>
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
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="-"/>
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)
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
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
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
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
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
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
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)
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
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
top related