Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Geography Markup Language GML

Ähnliche Präsentationen


Präsentation zum Thema: "Geography Markup Language GML"—  Präsentation transkript:

1 Geography Markup Language GML
Geoinformation III Vorlesung 15a Geography Markup Language GML

2 Übersicht über den dritten Vorlesungsblock
1 Übersicht über den dritten Vorlesungsblock 1. Offene Systeme, Rechnernetze und das Internet Die eXtensible Markup Language XML Grundlagen, Document Type Definitions (DTDs) 3. Fortsetzung DTDs, UML  DTD, Namensräume 4. XML Schema 5. Geographic Markup Language GML: der vom OpenGIS-Consortium als XML-Anwendung definierte Standard für Geo-Objekte

3 Geography Markup Language GML
2 Geography Markup Language GML GML ist eine XML-Anwendung zum Transport und zur Speicherung einfacher Geodaten. Version wurde vom OpenGIS Consortium im April 2002 verabschiedet Spezifikationen abrufbar unter: Verabschiedung von GML 3.0 am 29. Januar 2003 Abwärtskompatibilität: GML2-Daten sind auch gültige GML3-Dokumente seit Version 2.0 erfolgt die Spezifikation nicht mehr durch Dokumenttyp-Definitionen (DTD), sondern mittels XML Schema Geodaten besitzen einfache Geometrien und (optional) weitere beschreibende Eigenschaften. Geometrie wird durch SimpleFeatures repräsentiert (ebenfalls von OGC spezifiziert, siehe Vorlesung 10)

4 3 Philosophie von GML GML dient zur Repräsentation räumlicher Objekte, sog. Merkmale (engl.: Features) Modellierung der Geometrie und weiterer Eigenschaften von „Realweltobjekten“ wie z.B. Straße, Fluss, Flurstück, Stadt, Point-of-Interest etc. aber: keine Aussage über die Darstellung z.B. auf dem Bildschirm oder in einer Karte Kernelemente von GML: Geometry (Geometrie-Objekte wie z.B. Linien, Polygone etc.) Feature (Merkmal), steht für ein Realweltobjekt Eigenschaften (Attribute) werden als Properties bezeichnet Differenzierung in geometrische und nicht-geometrische E. Geometrische E. werden durch Geometrie-Objekte modelliert Feature Collection (Menge von Features)

5 Zusammenspiel der GML-Komponenten
4 Zusammenspiel der GML-Komponenten FeatureCollection Feature ist die zentrale (abstrakte) Klasse Modellierung nichtgeometrischer Eigenschaften von Features: durch Attribute mit Standarddatentypen wie z.B. String, Integer,... durch Assoziationen von Feature zu anderen Klassen Geometry ist die (abstr.) Oberklasse aller Geometrie-Objekte Geometrische Eigenschaften von Features werden durch die Assoziation geometryProperty mit Geometrie-Objekten modelliert Die Bestandteile einer Feature Collection sind über die Assoziation featureMember erreichbar * Feature * Geometry feature Member geometry Property nicht- geometrische E.

6 Beispiel für eine GML-Modellierung
5 Beispiel für eine GML-Modellierung Geometrie Feature abstrakt geometry Property * LineString lineString Property name:string Strasse Stadt konkret Es sind für alle Geometrie-Klassen eigene geometrische Eigenschaften definiert (nächste Folie) Realweltobjekte werden als Unterklasse der Klasse Feature modelliert Spezifische geometrische Eigenschaft: linienhafte Geometrie nichtgeometrische Eigenschaft A 7x

7 beschreibender Bezeichner
6 vordefinierte geometrische Eigenschaften Geometrietyp formaler Bezeichner beschreibender Bezeichner Box boundedBy - Point pointProperty location, position, centerOf LineString lineStringProperty centerLineOf, edgeOf Polygon polygonProperty extentOf, coverage any geometryProperty MultiPoint multiPointProperty multiLocation, multiPosition, multiCenterOf MultiLineString multiLineStringProperty multiCenterLineOf, multiEdgeOf MultiPolygon multiPolygonProperty multiExtentOf, multiCoverage MultiGeometry multiGeometryProperty

8 XML-Kodierung von GML-Features (I)
7 XML-Kodierung von GML-Features (I) XML-Kodierung von Features sind in der Schema-Datei feature.xsd zusammengefasst Features werden durch Elemente repräsentiert Es gibt ein vordefiniertes abstraktes Element _Feature vom Typ AbstractFeatureType darf selber nicht in Instanzdokumenten vorkommen für Features müssen eigene Elementnamen vergeben werden Elementtyp muss vom (abstrakten) Typ AbstractFeatureType direkt oder indirekt abgeleitet werden Für das Element muss explizit spezifiziert werden, dass es stellvertretend für das Element _Feature verwendet wird mittels Substitution Group (siehe folgendes Beispiel) A #x

9 XML-Kodierung von GML-Features (II)
8 XML-Kodierung von GML-Features (II) Definition von _Feature in der Schema-Datei feature.xsd: <element name="_Feature" type="gml:AbstractFeatureType" abstract="true"/> <complexType name="AbstractFeatureType" abstract="true"> <sequence> <element ref="gml:description" minOccurs="0"/> <element ref="gml:name" minOccurs="0"/> <element ref="gml:boundedBy" minOccurs="0"/> <!-- additional properties must be specified in an application schema --> </sequence> <attribute name="fid" type="ID" use="optional"/> </complexType> Jedes Feature besitzt ein ID-Attribut fid A 1x

10 XML-Kodierung von GML-Features (III)
9 XML-Kodierung von GML-Features (III) Features dürfen beliebig viele geometrische Eigenschaften besitzen Jede geometrische Eigenschaft wird in einem eigenen Element eingeschlossen Das Element bezeichnet den Datentyp des Geometrie-Objekts (z.B. polygonProperty) vordefinierte Elemente: siehe Folie 7 Kindelement des „Geometrie-Eigenschaftselements“ ist ein Geometrie-Objekt (z.B. Point, Line, Polygon usw.)

11 polygonProperty, die als Kindelement ein Polygon besitzt
10 Beispiel zur XML-Kodierung <Haus> <Nummer>134</Nummer> <Besitzer>Jupp Zupp</Besitzer> <Strasse>Meckenheimer Allee</Strasse> <gml:extentOf> <gml:Polygon> ... </gml:Polygon> </gml:extentOf> </Haus> <element name=“Haus" type=“Bsp:HausTyp“ substitutionGroup="gml:_Feature"/> <complexType name=“HausTyp"> <complexContent> <extension base="gml:AbstractFeatureType"> <sequence> <element name=“Nummer" type=“positiveInteger"/> <element name=“Besitzer" type=“string“/> <element name=“Strasse" type=“string "/> <element ref=“gml:extentOf"/> </sequence> </extension> </complexContent> </complexType> polygonProperty, die als Kindelement ein Polygon besitzt A 3x

12 Anwendungsspezifische Modellierung
11 Anwendungsmodellierung Anwendungsspezifische Modellierung Schema1 Schema2 Schema3 “Bsp1“ Namensraum “Bsp2“ Namensraum “gml“ Namensraum Temporal Topologie Geodäsie Geometrie Feature Metadaten GML-Rahmenkonzept A 2x

13 Einbindung der GML-Schemata
12 Einbindung der GML-Schemata <schema targetNamespace=" xmlns=" xmlns:gml=" xmlns:Bsp=" <import namespace=" schemaLocation="feature.xsd"/> ... </schema> SchemaB SchemaA <include> “Bsp“ Namensraum Feature Geometrie “gml“ Namensraum <import> A 2x

14 Bedingungen für Anwendungsmodelle
13 Bedingungen für Anwendungsmodelle ein Anwendungsschema muss sich auf die abstrakten Konzepte Feature, FeatureCollection und Geometry stützen darf den Namen, die Definition oder Datentypen von vorschreibenden GML-Elementen nicht ändern abstrakte Typdefinitionen können frei erweitert oder eingeschränkt werden das Anwendungsschema muss jedem zugänglich gemacht werden, der Zugriff auf Daten hat, die nach diesem Schema strukturiert sind das relevante Schema muss einen target Namespace spezifizieren, der nicht “ sein darf

15 FeatureCollection Eine FeatureCollection Sammlung von Features
14 FeatureCollection Eine FeatureCollection Sammlung von Features kann mehrere FeatureMembers besitzen <element name="_FeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true" substitutionGroup="gml:_Feature"/> <element name="featureMember" type="gml:FeatureAssociationType"/> <complexType name="AbstractFeatureCollectionType" abstract="true"> <complexContent> <extension base="gml:AbstractFeatureCollectionBaseType"> <sequence> <element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType>

16 FeatureCollection Ableitung vom Typ gml:AbstractFeatureCollectionType
15 FeatureCollection Ableitung vom Typ gml:AbstractFeatureCollectionType Ersatz für das abstrakte Element <gml:_FeatureCollection> einzelne Mitglieder werden durch <featureMember> in die FeatureCollection eingebunden: <Stadtmodell fid=“sm1456"> <gml:featureMember> <Haus fid=“H567">....</Haus> </gml:featureMember> <Strasse fid=“Str812">....</Strasse> </Stadtmodell> Mitglieder müssen nicht die selbe Klasse haben

17 Beispiel für eine FeatureCollection
16 Beispiel für eine FeatureCollection <element name=“Stadtmodell" type=“Bsp:StadtmodellTyp" substitutionGroup="gml:_FeatureCollection"/> <element name=“Haus" type="Bsp:HausTyp" substitutionGroup="gml:_Feature"/> <element name=“Strasse" type="Bsp:StrassenTyp" substitutionGroup="gml:_Feature"/> <complexType name="StadtmodellTyp"> <complexContent> <extension base="gml:AbstractFeatureCollectionType"> <sequence>...</sequence> </extension> </complexContent> </complexType> <complexType name="HausTyp"> <extension base="gml:AbstractFeatureType"> <sequence>....</sequence> <complexType name="StrassenTyp"> <sequence>.....</sequence>

18 Modellierung der Geometrie
18 Modellierung der Geometrie diese Definitionen sind in einer eigenen Schema-Datei zusammengestellt: geometry.xsd

19 Wdh.: Simple Features Standard des Open GIS Consortium (OGC)
19 Wdh.: Simple Features Standard des Open GIS Consortium (OGC) OGC: privater, nichtkommerzieller Verein Mitglieder: GIS-Hersteller, Behörden, Universitäten Modellierung der Geometrie raumbezogener Objekte "Simple": nur dimensional (weder 2,5-D noch 3-D) nur gerade Linien keine Topologie keine Aggregation " ... reicht in 80% aller Fälle aus ... (?)" Implementierung standardisiert für SQL (Relationale Datenbanken), CORBA, OLE/COM GML/XML

20 SpatialReferenceSystem
20 Wdh.: UML-Diagramm Simple Features Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ 1+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ MultiPolygon MultiLineString Line LinearRing 1+


Herunterladen ppt "Geography Markup Language GML"

Ähnliche Präsentationen


Google-Anzeigen