Simple Feature Access

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Simple Features Access)
Wechseln zu: Navigation, Suche

Simple Feature Access ist eine Spezifikation des Open Geospatial Consortium, welche eine allgemein gültige Architektur für geografische Daten und deren Geometrien definiert.

Die Spezifikation beschreibt einerseits die Speicherung und den Zugriff auf Geometrien und andererseits verschiedene räumliche Operatoren.

Geometrie Klassenmodell[Bearbeiten]

Folgende instanzierbare Klassen beinhaltet das Modell:

  • Punkte (Point)
  • Linien (LineString)
  • Polygone (Polygon)
  • Mehrere Punkte (MultiPoint)
  • Mehrere Linien (MultiLineString)
  • Mehrere Polygone (MultiPolygon)
  • Sammlung dieser Geometrien (GeometryCollection)

Sämtliche Geometrien leiten sich von der abstrakten Klasse Geometry ab.

Methoden auf Geometrieobjekte[Bearbeiten]

Die Simple Feature Access Spezifikation unterscheidet drei verschiedene Gruppen von Methoden:

  1. Die erste Gruppe stellt verschiedene grundlegende Methoden zur Verfügung wie z.B. die Abfrage des Geometrietyp (GeometryType), die Abfrage der Ausdehnung (Envelope) oder die Rückgabe der Geometrie als Text (AsText).
  2. In der zweiten Gruppe werden Methoden zusammengefasst, welche räumliche Beziehungen zwischen geometrischen Objekten beschreiben. Zu diesen Methoden gehören z.B. ob Objekte gleich sind (Equals), sich schneiden (Intersects) oder sich berühren (Touches).
  3. Die letzte Gruppe schließlich beinhaltet Methoden zur räumlichen Analyse wie z.B. Pufferzone (Buffer), Verschneidung (Intersection) oder Differenz (Difference).

Repräsentation der Geometrie[Bearbeiten]

Ein weiterer Teil der Spezifikation umfasst die Repräsentation der Geometrie. Dazu gehören das sogenannte Well-known Text (WKT) bzw. das Well-known Binary (WKB) Format.

Well-known Text[Bearbeiten]

Die Well-known Text Repräsentation wird vor allem dazu verwendet, um die Geometrie alphanumerisch darstellen zu können. Beispiele für Well-known Text:

  • Punkt
Point(10 10)
  • LineString (Linie mit "Knickpunkten")
LineString (10 10, 20 20, 30 40)
  • Polygon (Fläche)

ein Polygon wird von zwei Klammern umschlossen. Polygon ohne Loch:

Polygon((10 10, 10 20, 20 20, 20 15, 10 10))

mit einem äußeren Ring und einem inneren Ring (Loch)

Polygon((0 0, 0 20, 20 20, 20 0, 0 0),(5 5, 5 15, 15 15, 15 5, 5 5))
  • Mehrfachpolygon

zwei Polygone

MultiPolygon(((10 10, 10 20, 20 20, 20 15, 10 10)),((60 60, 70 70, 80 60, 60 60 )))

zwei Polygone, erstes Polygon mit Loch:

MultiPolygon(((0 0, 0 20, 20 20, 20 0, 0 0),(5 5, 5 15, 15 15, 15 5, 5 5)),((30 30, 30 40, 40 40, 40 30, 30 30)))


Die erste Klammer umhüllt das komplette Multipolygon. Die folgenden zwei Klammern umschließen das jeweilige Polygon. Ist in diesem Polygon ein Loch, so wird eine Klammer geschlossen, und durch ein Komma das zweite Polygon abgetrennt. Liegt das zweite Polygon geometrisch innerhalb des ersten, so stellt dieses ein Loch dar, liegt es geometrisch außerhalb des Polygons, so handelt es sich bei diesem um eine Exklave.

Well-known Binary[Bearbeiten]

Die Well-known Binary Repräsentation ist eine übertragbare Repräsentation der Geometrien als eine kontinuierliche Byte-Datenkette. Als Datentypen verwendet WKB Integer ohne Vorzeichen aus einem bzw. vier Byte und Zahlen doppelter Genauigkeit aus acht Byte. Beispiel für Well-known Binary:

  • Punkt mit Koordinate 1,1
0101000000000000000000F03F000000000000F03F

Diese Datenkette bedeutet in Teile zerlegt folgendes:

01 : Byte Reihenfolge
01000000 : Geometrie Typ
000000000000F03F : X
000000000000F03F : Y

Repräsentation von Koordinatensystemen[Bearbeiten]

Simple Feature Access standardisiert ebenfalls die Repräsentation von Geodätischen Systemen mit geografischen, projizierten oder geozentrischen Koordinaten in einer alphanumerischen Form als Well-known Text. Beispiele für die Repräsentation von Koordinatensystemen:

  • UTM Zone 10 mit dem nordamerikanischen Datum NAD27
 PROJCS["UTM Zone 10, Northern Hemisphere",
   GEOGCS["clark66",
       DATUM["North_American_Datum_1927",
           SPHEROID["clark66",6378206.4,294.9786982]],
       PRIMEM["Greenwich",0],
       UNIT["degree",0.0174532925199433]],
   PROJECTION["Transverse_Mercator"],
   PARAMETER["latitude_of_origin",0],
   PARAMETER["central_meridian",-123],
   PARAMETER["scale_factor",0.9996],
   PARAMETER["false_easting",500000],
   PARAMETER["false_northing",0],
   UNIT["Meter",1]]
  • Geografisches Koordinatensystem WGS84
 GEOGCS["wgs84",
   DATUM["WGS_1984",
       SPHEROID["wgs84",6378137,298.257223563],
       TOWGS84[0.000,0.000,0.000]],
   PRIMEM["Greenwich",0],
   UNIT["degree",0.0174532925199433]]

Verwendung[Bearbeiten]

Die Simple Feature Access Spezifikation hat in der Geoinformatik sowohl in Open Source Projekten als auch in proprietären Programmen eine weite Verbreitung. Zwei bekannte LGPL lizenzierte Programmbibliotheken sind die JTS Topology Suite und GEOS. JTS stellt dabei eine API für Java bereit, GEOS ist hingegen eine API für C++. Durch die Verwendung von GEOS in PostGIS kann WKT/WKB direkt in der Datenbank PostgreSQL verwendet werden.

Weblinks[Bearbeiten]