- Simple Features Access
-
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.Inhaltsverzeichnis
Geometrie Klassenmodell
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
Die Simple Feature Access Spezifikation unterscheidet drei verschiedene Gruppen von Methoden.
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).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).
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
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
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)
- Polygon mit einem äußeren Ring und einem inneren Ring
Polygon((0 0, 0 20, 20 20, 20 0, 0 0),(5 5, 5 15, 15 15, 15 5, 5 5))
- Mehrfachpolygon
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)))
Well-known Binary
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
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:
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
Die Simple Feature Access Spezifikation hat in der Geoinformatik sowohl in Open Source Projekte wie auch in proprietären Programme eine weite Verbreitung.
Zwei bekannte, LGPL lizenzierte Programmbibliotheken sind die JTS Topology Suite und GEOS, wobei erstere in Java geschrieben ist und GEOS in C++. Eine Implementierung in dem Web-Framework Django ist durch GeoDjango realisiert. GeoDjango ist bereits in Django von Grund aus integriert.Weblinks
- Simple Feature Access Spezifikation des Open Geospatial Consortium
Wikimedia Foundation.