350 likes | 459 Views
Datenaustausch und Interoperabililtät von Geodaten. ISO DIS 19107: Spatial Schema. Datenaustausch zwischen GIS. Zur Kommunikation zwischen Rechenersystemen sind Metasprachen (XML, GML, ...) vonnöten Metasprachen siehe Vorlesungen zu GISIII
E N D
Datenaustausch und Interoperabililtät von Geodaten ISO DIS 19107: Spatial Schema
Datenaustausch zwischen GIS • Zur Kommunikation zwischen Rechenersystemen sind Metasprachen (XML, GML, ...) vonnöten • Metasprachen siehe Vorlesungen zu GISIII • Durch Metasprachen können Daten zwar übertragen, aber nicht strukturiert werden
Metadaten - Standards • Definition nach ISO DIS 19115: • ... Schema, das erforderlich ist, um geographische Informationen und Dienste zu beschreiben. • Information über die Identifikation, die Ausdehnung, die Qualität, das räumliche und zeitliche Schema, die räumliche Referenz und Verteilung der digitalen geographischen Daten.
Spatial Schema • Spatial Schema: Ist ein internationaler Standard von Konzeptionellen Schemata um geographische Merkmale (features) zu beschreiben und zu verändern • Feature: Abstraktion eines Realweltphänomens • Geographic Features: Feature mit geographischem Ortsbezug (Vectordaten, Rasterdaten)
Spatial Schema • Räumliche Charakteristiken werden hier durch ein oder mehrere räumliche Attribute dargestellt • Spatial Schema unterstützt hauptsächlich Vektordaten in bis zu 3 Dimensionen • Spatial Schema definiert weiterhin Methoden („spezielle Operatoren“) für geometrische Daten
Spatial Schema • „Conceptual Schemas“ beschreiben die räumlichen Charakteristika von räumlichen Merkmalen • „Spezielle Operatoren“ sind Funktionen die räumliche Merkmale modifizieren, kreieren, löschen und gebrauchen (Methoden)
Spezielle Operatoren • In Spatial Schema gibt es einen klaren Rahmen für Spezielle Operatoren um einen Standard für ihre Implementierung und Definition zu schaffen: • Operationen sollten nicht zu komplex gestaltet werden, um sicher zu stellen, um ihre Funktion in Hinsicht auf bekannte Probleme zu gewährleisten • Diese Definitionen sollen einen Satz Standardoperationen bilden • Zusätzlich sollten algebraische Zusammenhänge definiert werden, die eine Kombination der Basisoperationen ermöglichen
Symbole und Notationen • In Spatial Schema werden Operatoren und Klassen in der Unified Modeling Language (UML) verfaßt. • UML ist dem geneigten Hörer dieser Veranstaltung aus verschiedenen Vorlesungen und Vorträgen hinlänglich bekannt
Geometry Packages • Geometrische Pakete sind hierarchisch in der Art von Bäumen gestaffelt. • Hierbei gibt es sogenannte „root packages“, quasi die Vaterknoten der beiden Paketstrukturen: • GM_Objekt (GeometryObjekt) und • TP_Objekt (TopologicalObjekt)
Spatial Schema - Unterscheidungen • Komplexität: • 1 Geometric primitives • 2 Geometric complexes • 3 Topological complexes • 4 Topological complexes with geometric relation • Dimension: • 1 0 - dimensionale Objekte • 2 0 - und 1 - dimensionale Objekte • 3 0 - , 1 - und 2 - dimesionale Objekte • 4 0 - 3 - dimensionale Objekte
Geometry Packages • Geometry (GM_Object): Quantitative Beschreibung von geometrischen Figuren, Koordinaten und mathematische Funktionen (wie Dimension, Position, Größe, Orientierung und Form) • Ist Abhängig vom benutzten Koordinatensystem. Ändert sich ggf. bei Transformation
Geometry Packages • Topology (TP_Object): Charakteristika von Geometrische Figuren die bei einer „Gummihauttransf.“ invariant bleiben • Ändert sich nicht bei Koordinatentransformation in ein anderes System • Bietet Informationen über Zusammenhänge von Geometrie
Geometry Packages • Für uns besonders interessant: Geometry Packages • Geometry Packeges (unter GM_Object) beinhalten eine Vielzahl von Klassen für Koordinatenbezogene Geometrie • Geometry Packages gliedern sich in drei verschiedene Klassen: GM_Primitives, GM_Complexe und GM_Aggregates
Geometry Packages • GM_Object: ist wie erwähnt die „root class“ für alle Objekte mit geographischer Referenz • Ist eine Punktmenge von koordinatenmäßig bekannten Punkten
Geometry Packages • GM_Primitives: geometrisches Objekt, welches sich nicht weiter in einzelne Teile zerlegen läßt • Hierzu können auch Kurven und Flächen zählen • Diese lassen sich dann jedoch nicht mehr in ihre einzelnen Segmente zerlegen
Primitives • GM_Primitives: • GM_Point: 0-Dimensional, Koordinatenpaar • GM_CurveSegment: Basis für 1-Dimensionale Geometrie, Verknüpfung von zwei Stützpunkten (aber nicht zwingend GM_Points) • GM_Curve: Verknüpfung von CurveSegments
Primitives • Gm_SurfacePatch: Basis für 2-Dimensionale Geometrie, geschl. Verknüpfung von CurveSegments • Gm_Surface: „Side to side“ Verknüpfung von SurfacePatches
Geometry Packages GM_Point 2 0...* GM_CurveSegment 1...* 1 GM_Curve 1...* 1...2 GM_SurfacePatch 1...* 1 GM_Surface
Geometry Packages • GM_Complexes: Bezeichnet einen Satz von primitiven geometrischen Objekten, deren Innere sich nicht schneiden (disjunkt sind) • Ist ein Objekt höherer Dimension Teil eines Complexes, so sind auch alle Teilobjekte niedrigerer Dimension Teil des Complexes...
Geometry Packages • GM_Complexes:
Geometry Packages • GM_Aggregates: stellt eine lockere Gruppierung von gleichartigen geometrischen Objekten dar • Aggregates haben keinerlei interne Struktur • Sie „verbinden“ lediglich spezielle Objekte miteinander.
Geometry Packages • GM_Aggregates:
Geometry Packages GM_Object GM_Primitive GM_Aggregate GM_Complex GM_Point GM_OrientPrimitiv GM_CompPoint GM_MultiPoint GM_CompCurve GM_OrientCurve GM_CompSurface GM_OrientSurface GM_MultiSurface GM_MultiCurve GM_Curve GM_CompSolid GM_MultiSolid GM_Surface GM_Solid
Geometry Packages • Anmerkung: Primitive sind IMMER offen, Grenzen gehören nicht zum Objekt) • Komplexe sind IMMER geschlossen (Grenzen gehören zum Objekt)
„Wie sieht`s aus?“ Konstruktion von Punkten: P1 = GM_Point <position = < 1.00, 5.00 > > P2 = GM_Point <position = < 3.00, 5.00 > > P3 = GM_Point <position = < 3.00, 2.00 > > P4 = GM_Point <position = < 1.75, 2.75 > > P5 = GM_Point <position = < 1.50, 4.50 > > P6 = GM_Point <position = < 2.00, 3.25 > > P7 = GM_Point <position = < 5.00, 4.00 > > Insert P1, P2, P3, P4 ,P5 P6, P7 into Datastore
„Wie sieht`s aus?“ P2 (3.00, 5.00) P1 (1.00, 5.00) P5 (1.50, 4.50) P7 (5.00, 4.00) P6 (2.00, 3.25) P4 (1.75, 2.75) P3 (3.00, 2.00)
„Wie sieht`s aus?“ Konstruktion von Kurvensegmenten: CS1 = GM_CurveSegment < controlPoint = <P1,P2>, interpolation = "linear" > CS2 = GM_CurveSegment < controlPoint = <P2,P3>, interpolation = "linear" > CS3 = GM_CurveSegment < controlPoint = <P2, (6,5), (6,2),P3>, interpolation = "linear" > CS4 = GM_CurveSegment < controlPoint = <P2,P3>, interpolation = "linear" >
„Wie sieht`s aus?“ CS5 = GM_CurveSegment < controlPoint = <P5,(1.9,4.25),(2,4)>, interpolation = "arc" > CS6 = GM_CurveSegment < controlPoint = <(2,4),P6>, interpolation = "linear" > CS7 = GM_CurveSegment < controlPoint = <P7,(4.25,4),(4.25,3.25),(5,3.25),P7>, interpolation = "linear" >
„Wie sieht`s aus?“ P2 (3.00, 5.00) CS1 P1 (1.00, 5.00) P5 (1.50, 4.50) P7 (5.00, 4.00) CS5 CS2 CS3 P6 (2.00, 3.25) CS6 CS7 CS4 P4 (1.75, 2.75) P3 (3.00, 2.00)
„Wie sieht`s aus?“ Konstruktion von Kurven: C1 = GM_Curve segments = <CS1> C2 = GM_Curve segments = <CS2> C3 = GM_Curve segments = <CS3> C4 = GM_Curve segments = <CS4> C5 = GM_Curve segments = <CS5, CS6> C6 = GM_Curve segments = <CS7> Insert C1, C2, C3, C4, C5, C6 into Datastore
„Wie sieht`s aus?“ Konstruktion von Flächen: S0 = GM_Surface patch = <GM_Polygon interior = << C1, C3, - C4 >> > S1 = GM_Surface patch = <GM_Polygon exterior = < C4, - C2, - C1 > , interior << C5, - C5>> > S2 = GM_Surface patch = <GM_Polygon exterior = < - C2, C3, > , interior << - C6>> > S3 = GM_Surface patch = <GM_Polygon exterior = < - C6, > > Insert S0, S1, S2, S3 into Datastore
„Wie sieht`s aus?“ C1 P1 (1.00, 5.00) P5 (1.50, 4.50) P7 (5.00, 4.00) C2 C5 S3 C6 C3 P6 (2.00, 3.25) C4 P4 (1.75, 2.75) S2 P3 (3.00, 2.00) S1
„Wie sieht`s aus?“ Konstruktion eines Komplexes: GComplex = GM_Complex < surfaces = {S0, S1, S2, S3}, curves = {C1, C2, C3, C4, C5, C6}, points = {P1, P2, P3, P4, P5, P6, P7} > Insert GComplex into Datastore
„Wie sieht`s aus?“ Bedeutung der Geometrie: Lake = AreaFearur featureType="Hydrography::Waterbody", extend = S3 Trail = LineFeature fearureType="CulturalFacilities::Hikingtrail", centerline = C5 School = PointFeature featureType="CulturalFacilities::School", location = P4
Finale Vielen Dank für die Aufmerksamkeit - Fragen? -