Eenvoudige toegang tot functies

Simple Feature Access is een specificatie van het Open Geospatial Consortium , die een algemeen toepasbare architectuur definieert voor geografische gegevens en hun geometrieën .

De specificatie beschrijft enerzijds de opslag en toegang tot geometrieën en anderzijds verschillende ruimtelijke operators.

Geometrie klasse model

Het model bevat de volgende instantieerbare klassen:

  • Punt
  • Lijnen (LijnString)
  • Veelhoeken (veelhoek)
    • De punten op de buitenste ring zijn tegen de klok in gesorteerd (tegen de klok in).
    • De punten van de binnenring (gat) zijn met de klok mee gesorteerd (rechtshandig)
  • Meerdere punten (MultiPoint)
  • Meerdere lijnen (MultiLineString)
  • Meerdere polygonen (MultiPolygon)
  • Verzameling van deze geometrieën (GeometryCollection)

Alle geometrieën zijn afgeleid van de abstracte klasse Geometrie.

Methoden voor geometrische objecten

De specificatie Simple Feature Access onderscheidt drie verschillende groepen methoden:

  1. De eerste groep biedt verschillende basismethoden zoals: B. de query van het type geometrie (GeometryType), de query van de omvang (Envelope) of de terugkeer van de geometrie als tekst (AsText).
  2. De tweede groep vat methoden samen die ruimtelijke relaties tussen geometrische objecten beschrijven. Deze methoden omvatten: B. of objecten hetzelfde zijn (Is gelijk aan), elkaar snijden (Intersects) of aanraken (Touches).
  3. Ten slotte omvat de laatste groep methoden voor ruimtelijke analyse zoals: B. Bufferzone (Buffer), kruising (Intersection) of verschil (Difference).

Weergave van de geometrie

Een ander deel van de specificatie omvat de weergave van de geometrie. Deze omvatten de zogenaamde bekende tekst ( WKT ) of het bekende binaire ( WKB ) formaat.

Bekende tekst

De bekende tekstweergave wordt voornamelijk gebruikt om de geometrie alfanumeriek weer te geven . Voorbeelden van bekende teksten:

  • Punt
Point(10 10)
  • LineString (lijn met "knikpunten")
LineString (10 10, 20 20, 30 40)
  • Veelhoek (gebied)

een veelhoek staat tussen twee haakjes. Veelhoek zonder gat:

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

met een buitenring en een binnenring (gat)

Polygon((0 0, 0 20, 20 20, 20 0, 0 0),(5 5, 5 15, 15 15, 15 5, 5 5))
  • Meerdere polygoon

twee polygonen

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

twee polygonen, eerste polygoon met gat:

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)))

Het eerste haakje omhult de volledige multipolygoon. De volgende twee haakjes omsluiten de respectieve veelhoek. Als er een gat in deze polygoon zit, wordt een haakje gesloten en wordt de tweede polygoon gescheiden door een komma. Als de tweede veelhoek geometrisch binnen de eerste ligt, vertegenwoordigt het een gat, als het geometrisch buiten de veelhoek ligt, is het een exclave .

Bekend binair

De bekende binaire representatie is een overdraagbare representatie van de geometrieën als een continue byte dataketen. Als gegevenstype gebruikt WKB integer zonder teken van één of vier bytes en getallen met een dubbele precisie van acht bytes. Voorbeeld voor bekende binaire:

  • Punt met coördinaat 1.1
0101000000000000000000F03F000000000000F03F

Deze dataketen, opgedeeld in onderdelen, houdt het volgende in:

01 : Byte-Reihenfolge
01000000 : Geometrietyp
000000000000F03F : X
000000000000F03F : Y

Weergave van coördinatenstelsels

Simple Feature Access standaardiseert ook de weergave van geodetische systemen met geografische , geprojecteerde of geocentrische coördinaten in een alfanumerieke vorm als bekende tekst. Voorbeelden van de weergave van coördinatenstelsels:

  • UTM Zone 10 met de Noord-Amerikaanse 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]]
  • Geografisch coördinatensysteem 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]]

gebruik maken van

De specificatie Simple Feature Access wordt veel gebruikt in geospatiale toepassingen, zowel in open source- projecten als in propriëtaire programma's. Twee bekende programmabibliotheken met LGPL- licentie zijn de JTS Topology Suite en GEOS . JTS biedt een API voor Java , terwijl GEOS een API is voor C++ . Door GEOS in PostGIS te gebruiken , kan WKT/WKB direct in de PostgreSQL- database worden gebruikt .

web links