260 likes | 371 Views
Seminar Geoinformation, WS 01/02 (7. Sem.). 6. Technische Grundlagen der Interoperabilität. 6.1 Das Modell der SimpleFeatures (OGC). von. Martin Kütt. Betreuer: Dr. Gröger. Inhalt des Seminarvortrags:. Einleitung Erläuterung des geometrischen Objektmodells
E N D
Seminar Geoinformation, WS 01/02 (7. Sem.) 6. Technische Grundlagen der Interoperabilität 6.1 Das Modell der SimpleFeatures (OGC) von Martin Kütt Betreuer: Dr. Gröger
Inhalt des Seminarvortrags: • Einleitung • Erläuterung des geometrischen Objektmodells • Erläuterung der einzelnen Klassen des geometrischen Objektmodells
Einleitung • Absicht: • Definition eines Standardschemas, das eine „einfache“ Handhabung raumbezogener Daten ermöglicht • abspeichern, • wiederauffinden, • abfragen, • aktualisieren • Ein simple feature hat räumliche als auch nicht – räumliche Merkmale • SimpleFeatures basieren auf einer 2D Geometrie (lineare Interpolation zwischen den Scheitelpunkten) • Ansammlung mehrerer raumbezogener SimpleFeatures werden in Tabellenform gespeichert
Das geometrische Objektmodell Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ 1+ 1+ Line LinearRing MultiPolygon MultiLineString
Geometry Collection • Ansammlung mehrerer geometrischer Objekte (mind. 1) • alle Elemente dieser Klasse müssen den gleichen räumlichen Bezug aufweisen • GeometryCollection übt weiterhin keine Zwänge auf die einzelnen Elemente aus • allerdings können die Unterklassen dieser Klasse beschränkt sein (z. B. hinsichtlich der Dimension) Methoden • NumGeometries( ): Integer – Gibt die Anzahl der geometrischen Objekte an • GeometryN (N:integer): Geometrie – Liefert das N – te geometrische Objekt
Das geometrische Objektmodell Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ 1+ 1+ Line LinearRing MultiPolygon MultiLineString
Point • 0 – dimensionale Geometrie • repräsentiert einen Ort im Koordinatenraum • die Klasse Point hat einen x – und einen y – Koordinatenwert • die Begrenzung der Klasse Point ist die leere Menge Methoden • X( ): Double – liefert die x – Koordinate für einen Punkt • Y( ): Double – liefert die y – Koordinate für einen Punkt
Multipoint • Besteht aus einer Ansammlung von Punkten • die Punkte sind weder geordnet noch zusammenhängend • die Klasse wird als „einfach“ bezeichnet, wenn alle Elemente (=Punkte) unterschiedliche Koordinatenwerte besitzen • die Begrenzung dieser Klasse ist die leere Menge
Das geometrische Objektmodell Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ 1+ 1+ Line LinearRing MultiPolygon MultiLineString
Curve • ist ein 1 – dimensionales geometrisches Objekt • wird üblicherweise durch eine Reihe von Punkten repräsentiert • weiterhin wird die Form der Interpolation zwischen den Punkten spezifiziert • wird jeder Punkt nur einmal durchlaufen, so gilt sie als „einfach“
sie gilt als „geschlossen“, wenn der Startpunkt gleich dem Endpunkt ist • die Begrenzung einer geschlossenen Kurve ist die leere Menge • eine Kurve, die einfach und geschlossen ist, wird als Ring bezeichnet • die Begrenzung einer nicht geschlossenen Kurve besteht aus Anfangs – und Endpunkt
Methoden • Length ( ): Double – Die Länge einer Kurve • Startpoint ( ): Point – Der Startpunkt • Endpoint ( ): Point – Der Endpunkt • IsClosed ( ): Integer – Returns 1 (TRUE), wenn Kurve geschlossen • IsRing ( ): Integer – Returns 1 (TRUE), wenn die Kurve ein Ring ist
Das geometrische Objektmodell Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ 1+ 1+ Line LinearRing MultiPolygon MultiLineString
LineString, Line, LinearRing • ein Linestring ist eine Kurve (Curve), wenn zwischen den Punkten linear interpoliert wird • besteht ein LineString aus exakt zwei Punkten, so wird er als Line bezeichnet • Ist ein LineString „einfach“ und „geschlossen“, so wird er als LinearRing bezeichnet LinearRing Beispiele: s e s e s s e e einfach nicht einfach geschl./einf. geschl./ nicht einf.
Methoden • NumPoints ( ): Integer – Gibt die Anzahl der Punkte eines LineStrings an • PointN(N:Integer): Point – Gibt den spezifizierten Punkt N eines LineStrings an
Das geometrische Objektmodell Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ 1+ 1+ Line LinearRing MultiPolygon MultiLineString
MultiCurve • 1 – dimensionale Geometrie • Elemente dieser Subklasse sind Kurven • Die Klasse wird als „einfach“ bezeichnet, wenn alle Elemente „einfach“ sind • Schnittpunkte dürfen nur in der Begrenzung zweier Elemente vorkommen • Begrenzung dieser Klasse sind all diejenigen Punkte, welche in einer ungeraden Anzahl der Teilelemente vorkommen • MultiCurve gilt als „geschlossen“, wenn alle Teilelemente „geschlossen“sind Methoden • IsClosed ( ):Integer = Returns 1(TRUE), wenn Startp.() = Endp.() • Length ( ): Double = Gibt die Länge der Multicurve an
MultiLineString • MultiCurve = MultiLineString, wenn Elemente LineStrings • (lineare Interpolation zwischen den Punkten) Beispiele: e2 e2 e2 e2 s2 s2 s1 s1 s1 s1 e1 s1 e1 e1 e1 s2 einfach Grenzen = {s1,e2} nicht einfach Grenzen = {s1,e1} geschlossen Grenzen = {Ø}
Das geometrische Objektmodell Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ 1+ 1+ Line LinearRing MultiPolygon MultiLineString
Surface • 2D – geometrisches Objekt • Zeichnet sich durch eine „äußere“ Grenze aus • Darüber hinaus können mehrere „innere“ Grenzen bestehen • Einfache Oberflächen (= Simple Surfaces) haben im 3D die gleiche Gestalt, wie ebene Oberflächen • Polyhedral Surfaces erhält man, indem man einfache Oberflächen entlang ihrer Grenzen miteinander „vernäht“ • diese müssen dann nicht mehr eben sein (3D) Methoden • Area ( ) : Double - das Gebiet (gem. in einem math. Ref.) • Centroid ( ):Point – Schwerpunkt nicht zwingend auf der Oberfläche • PointOnSurface ( ): Punkt auf der Oberfläche
Polygon • ebene Oberfläche, definiert durch eine äußere und 0 oder mehrere innere Grenzen • jede innere Grenze legt ein „Loch“ im Polygon fest • die Grenzen bestehen aus LinearRings • mehrere Grenzen dürfen sich nicht schneiden • Berührpunkte sind gestattet Beispiele Polygon mit einem zwei bzw. drei Ringen
Methoden • ExteriorRing ( ): LineString - Gibt die externen Ring des Polygons an • NumInteriorRing ( ): Integer - Gibt die Anzahl der inneren Ringe an • InteriorRingN (N:Integer): Linestring - Gibt den N - ten internen Ring eines Polygons an
Das geometrische Objektmodell Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ 1+ 1+ Line LinearRing MultiPolygon MultiLineString
MultiSurface • 2D Ansammlungen von Oberflächen • zwei verschiedene Oberflächen (Surfaces) dürfen sich nicht schneiden • - ansonsten kein Multisurface sondern Surface • die Grenzen zweier Elemente können sich in einer begrenzten Anzahl von Punkten berühren • MultiSurface wird als abstrakte Klasse bezeichnet • Sie definiert verschiedene Vorgehensweisen für deren Unterklassen Methoden • Area ( ): das Gebiet (gemessen in dem räuml. Ref. Syst.) • Centroid ( ): den Schwerpunkt (nicht zwingend auf der Fläche) • PointOnSurface ( ): Punkt auf der Oberfläche
MultiPolygon • Subklasse, deren Elemente Polygone sind • Kennzeichen : • Die Innenräume und die Grenzen zweier Polygone dieser Klasse dürfen sich nicht schneiden • Sie dürfen sich an einer begrenzten Anzahl von Punkten berühren • MultiPolygon besteht aus einer geordneten, geschlossenen Ansammlung von Punkten • Die inneren Bereiche dieser Klasse sind nicht zusammenhängend • Die Anzahl der inneren Bereiche entspricht der Anzahl der Polygone
MultiPolygon • die Grenzen dieser Klasse bestehen aus einer Ansammlung geschlossener Kurven (LineString) • Jede Grenze wird exakt einem Polygon zugeordnet, welches sich in der Klasse befindet Beispiele 1 Polygon 3 Polygone 2 Polygone 2 Polygone