6. Technische Grundlagen der Interoperabilität 6.1 Das Modell der SimpleFeatures (OGC) von Martin Kütt Seminar Geoinformation, WS 01/02 (7. Sem.) 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 GeometrySpatialReferenceSystem PointCurveSurfaceGeometryCollection LineString LineLinearRing PolygonMultiSurfaceMultiCurve MultiPoint MultiPolygonMultiLineString
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( ):NumGeometries( ): Integer – Gibt die Anzahl der geometrischen Objekte an GeometryN (N:integer):GeometryN (N:integer): Geometrie – Liefert das N – te geometrische Objekt
Das geometrische Objektmodell GeometrySpatialReferenceSystem PointCurveSurfaceGeometryCollection LineString LineLinearRing PolygonMultiSurfaceMultiCurve MultiPoint MultiPolygonMultiLineString
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( ):X( ): Double – liefert die x – Koordinate für einen Punkt Y( ):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 GeometrySpatialReferenceSystem PointCurveSurfaceGeometryCollection LineString LineLinearRing PolygonMultiSurfaceMultiCurve MultiPoint MultiPolygonMultiLineString
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 ( ):Length ( ): Double – Die Länge einer Kurve Startpoint ( ):Startpoint ( ): Point – Der Startpunkt Endpoint ( ):Endpoint ( ): Point – Der Endpunkt IsClosed ( ):IsClosed ( ): Integer – Returns 1 (TRUE), wenn Kurve geschlossen IsRing ( ):IsRing ( ): Integer – Returns 1 (TRUE), wenn die Kurve ein Ring ist
Das geometrische Objektmodell GeometrySpatialReferenceSystem PointCurveSurfaceGeometryCollection LineString LineLinearRing PolygonMultiSurfaceMultiCurve MultiPoint MultiPolygonMultiLineString
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 einfachnicht einfach geschl./einf.geschl./ nicht einf. Beispiele: s e s ss e ee LinearRing
Methoden NumPoints ( ):NumPoints ( ): Integer – Gibt die Anzahl der Punkte eines LineStrings an PointN(N:Integer):PointN (N:Integer): Point – Gibt den spezifizierten Punkt N eines LineStrings an
Das geometrische Objektmodell GeometrySpatialReferenceSystem PointCurveSurfaceGeometryCollection LineString LineLinearRing PolygonMultiSurfaceMultiCurve MultiPoint MultiPolygonMultiLineString
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 geschlossensind Methoden IsClosed ( ):Integer IsClosed ( ): Integer = Returns 1(TRUE), wenn Startp.() = Endp.() Length ( ): DoubleLength ( ): Double = Gibt die Länge der Multicurve an
MultiLineString MultiCurve = MultiLineString, wenn Elemente LineStrings –(lineare Interpolation zwischen den Punkten) Beispiele: s1 e1 s2 e2 einfach Grenzen = {s1,e2} s1 e1 s2 e2 nicht einfach Grenzen = {s1,e1} geschlossen Grenzen = {Ø} s1 e2 e1
Das geometrische Objektmodell GeometrySpatialReferenceSystem PointCurveSurfaceGeometryCollection LineString LineLinearRing PolygonMultiSurfaceMultiCurve MultiPoint MultiPolygonMultiLineString
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 ( )Area ( ) :Double - das Gebiet (gem. in einem math. Ref.) Centroid ( ):Centroid ( ): Point – Schwerpunkt nicht zwingend auf der Oberfläche PointOnSurface ( ):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 einemzweibzw. drei Ringen
Methoden ExteriorRing ( ):ExteriorRing ( ): LineString - Gibt die externen Ring des Polygons an NumInteriorRing ( ):NumInteriorRing ( ): Integer - Gibt die Anzahl der inneren Ringe an InteriorRingN (N:Integer):InteriorRingN (N:Integer):Linestring - Gibt den N - ten internen Ring eines Polygons an
Das geometrische Objektmodell GeometrySpatialReferenceSystem PointCurveSurfaceGeometryCollection LineString LineLinearRing PolygonMultiSurfaceMultiCurve MultiPoint MultiPolygonMultiLineString
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 ( ):Area ( ): das Gebiet (gemessen in dem räuml. Ref. Syst.) Centroid ( ):Centroid ( ): den Schwerpunkt (nicht zwingend auf der Fläche) PointOnSurface ( ):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 Beispiele die Grenzen dieser Klasse bestehen aus einer Ansammlung geschlossener Kurven (LineString) Jede Grenze wird exakt einem Polygon zugeordnet, welches sich in der Klasse befindet 1 Polygon3 Polygone2 Polygone