Features

specstableimplmature

Die Kernfunktionen zur Bereitstellung von Features (Vektordaten).

Umfang

Features spezifiziert die wichtigsten Fähigkeiten zur Bereitstellung von Features.

Der Umfang beschränkt sich auf das Abrufen von Features, deren Geometrien im Koordinatenreferenzsystem WGS 84 mit der Achsenreihenfolge Längengrad/Breitengrad dargestellt werden. Die Selektion von Features kann anhand grundlegender Filterkriterien erfolgen. Zusätzliche Fähigkeiten, die weitergehende Anforderungen erfüllen, werden in zusätzlichen Modulen bereitgestellt.

Die Formate (Kodierungen), die die API unterstützt, werden durch zusätzliche Module aktiviert. Standardmäßig sind GeoJSON und HTML kodiert.

Die Antworten werden seitenweise zurückgeliefert. Das heißt, wenn mehr Features als die Seitengröße verfügbar sind, wird ein Link zur nächsten Seite mit den nächsten Features zurückgegeben.

Für die räumliche Filterung kann ein rechteckiger Bereich (bbox) angegeben werden. Es werden nur Features ausgewählt, deren primäre Geometrie die Begrenzungsgeometrie schneidet. Die Begrenzungsgeometrie wird als vier Zahlen angegeben:

  • Linke untere Ecke, Koordinatenachse 1
  • Linke untere Ecke, Koordinatenachse 2
  • Rechte obere Ecke, Koordinatenachse 1
  • Rechte obere Ecke, Koordinatenachse 2

Sofern die primäre Geometrie nie NULL ist, sollte im Provider Schema für die Eigenschaft der Constraint required: true gesetzt werden. Dies beschleunigt Abfragen mit dem bbox-Parameter, besonders bei größeren Datensätzen.

Das Koordinatenreferenzsystem der Werte ist WGS 84 Längen-/Breitengrad, es sei denn, im Parameter bbox-crs (siehe Modul CRS) wird ein anderes Koordinatenreferenzsystem angegeben.

Für Angaben als Längen-/Breitengrad sind die Werte in den meisten Fällen die Folge von minimaler Länge, minimaler Breite, maximale Länge und maximale Breite. In den Fällen, in denen die Geometrie über den Antimeridian verläuft, ist der erste Wert (westlichster Rand) jedoch größer als der dritte Wert (östlichster Rand).

Für die zeitliche Filterung kann ein Zeitpunkt oder ein Intervall (datetime) angegeben werden. Der Wert ist entweder ein lokales Datum, ein Zeitstempel in UTC oder ein Intervall. Datums- und Zeitstempel-Ausdrücke entsprechen RFC 3339. Intervalle sind zwei Zeitpunkte, die durch einen Schrägstrich (/) getrennt sind. Zur Angabe eines unbegrenzten Intervallendes kann ein Doppelpunkt (..) verwendet werden.

Sofern die primären Zeitangaben (der Zeitpunkt oder die Intervallenden) nie NULL sind, sollte im Provider Schema für die Eigenschaft der Constraint required: true gesetzt werden. Dies beschleunigt Abfragen mit dem datetime-Parameter, besonders bei größeren Datensätzen.

Zusätzliche Attribute können auf der Grundlage ihrer Werte gefiltert werden, wenn sie als abfragbar konfiguriert sind (Queryables).

Alle Filterprädikate müssen erfüllt sein, um ein Feature zu selektieren.

Konformitätsklassen

Features implementiert alle Vorgaben der Konformitätsklasse "Core" von OGC API - Features - Part 1: Core 1.0open in new window für die zwei Operationen.

Operationen

RessourcePfadMethodenFormateBeschreibung
Features
collections/{collectionId}/items
GET
CSV, CityJSON, CityJSON-Seq, FlatGeobuf, GML, GeoJSON, HTML, JSON-FG
Die Antwort ist ein Dokument, das aus Features der Collection besteht. Die in der Antwort enthaltenen Features werden vom Server auf der Grundlage der Abfrageparameter der Anfrage bestimmt.
Feature
collections/{collectionId}/items/{featureId}
GET
CSV, CityJSON, CityJSON-Seq, FlatGeobuf, GML, GeoJSON, HTML, JSON-FG
Die Antwort ist ein Dokument, welches das Feature mit dem angeforderten Identifikator repräsentiert.

Pfad-Parameter

NameRessourcenBeschreibung
collectionId
Features, Feature
Der Identifikator der Feature Collection.
featureId
Feature
Der lokale Identifikator des Features in der Feature Collection collectionId.

Query Parameter

NameRessourcenBeschreibung
bbox
Features
Es werden nur Features ausgewählt, deren primäre Geometrie die Begrenzungsgeometrie schneidet.
datetime
Features
Es werden nur Features ausgewählt, deren primäre zeitliche Eigenschaft den angegebenen Wert (Zeitstempel, Datum oder Intervall) schneidet.
limit
Features
Die maximale Anzahl von Features, die im Antwortdokument zurückgegeben werden. Wenn mehr Features verfügbar sind, wird ein Link zur nächsten Seite mit der Antwort zurückgeliefert. Wird kein Wert für den Parameter angegeben, gilt der Standardwert, der für die API konfiguriert ist.
offset
Features
Der Index des ersten Features in der Antwort in der Gesamtergebnismenge. Dieser Parameter wird für das Paging verwendet.
f
Features, Feature
Wählt das Ausgabeformat der Antwort. Wenn kein Wert angegeben wird, gelten die Standard-HTTP Regeln, d.h. der "Accept"-Header wird zur Bestimmung des Formats verwendet.

Konfiguration

Optionen

NameDefaultBeschreibungTypSeit
buildingBlock
Immer FEATURES_CORE.
string
v3.1
extensionType
Deprecated Siehe buildingBlock.
string
v3.1
transformations
{}
Property-Transformationen erfolgen bei der Aufbereitung der Daten für die Rückgabe über die API. Die Datenhaltung selbst bleibt unverändert. Alle Filterausdrücke (siehe queryables in Features) wirken unabhängig von etwaigen Transformationen bei der Ausgabe und müssen auf der Basis der Werte in der Datenhaltung formuliert sein - die Transformationen sind i.A. nicht umkehrbar und eine Berücksichtigung der inversen Transformationen bei Filterausdrücken wäre kompliziert und nur unvollständig möglich. Insofern sollten Eigenschaften, die queryable sein sollen, möglichst bereits in der Datenquelle transformiert sein. Eine Ausnahme sind typischerweise Transformationen in der HTML-Ausgabe, wo direkte Lesbarkeit i.d.R. wichtiger ist als die Filtermöglichkeit.
object
v3.1
caching
{}
Setzt feste Werte für HTTP-Caching-Header für die Ressourcen.
object
v3.1
enabled
true
Soll das Modul aktiviert werden?
boolean
v3.1
featureProvider
apiId
Identifiziert den verwendeten Feature-Provider. Standardmäßig besitzt der Feature-Provider dieselbe ID wie die API.
string
v3.1
featureType
collectionId
Identifiziert die verwendete Objektart im Feature-Provider. Standardmäßig besitzt die Objektart dieselbe ID wie die Collection.
string
v3.1
array
v3.1
defaultCrs
CRS84
Setzt das Standard-Koordinatenreferenzsystem, entweder 'CRS84' für einen Datensatz mit 2D-Geometrien oder 'CRS84h' für einen Datensatz mit 3D-Geometrien.
string
v3.1
minimumPageSize
1
Setzt den Minimalwert für den Parameter limit.
number
v3.1
defaultPageSize
10
Setzt den Defaultwert für den Parameter limit.
number
v3.1
maximumPageSize
10000
Setzt den Maximalwert für den Parameter limit.
number
v3.1
embeddedFeatureLinkRels
[]
Steuert, welche Links bei jedem Feature in der Ressource "Features" angegeben werden sollen, sofern vorhanden. Die Werte sind die Link-Relation-Types, die berücksichtigt werden sollen. Standardmäßig werden Links wie self oder alternate bei den Features in einer FeatureCollection weggelassen, mit dieser Option können Sie bei Bedarf ergänzt werden.
array
v3.1
showsFeatureSelfLink
false
Steuert, ob in Features immer, auch in der Features-Ressourcen, ein self-Link enthalten ist.
boolean
v3.1
validateCoordinatesInQueries
Validate the coordinates of the bbox or filter parameters against the domain of validity of the coordinate reference system
boolean
v3.1
itemType
string
v3.1
queryables
{}
Steuert, welche der Attribute in Queries für die Filterung von Daten verwendet werden können. Unterschieden werden räumliche (spatial), zeitliche (temporal) und "normale" (q, other) Attribute. Die Attribute unter spatial müssen im Provider-Schema vom Typ GEOMETRY, die Attribute unter temporal vom Typ DATETIME oder DATE sein. Die suchbaren Attribute werden jeweils über ihren Namen in einem Array aufgelistet. Die Queryables können in Filter-Ausdrücken (Modul "Filter") genutzt werden. Die primären räumlichen und zeitlichen Attribute (siehe Provider-Konfiguration) können über die Parameter bboxopen in new window bzw. Parameter datetimeopen in new window für die Selektion verwendet werden. Die übrigen Attribute werden als zusätzliche Parameter für die jeweilige Feature Collectionsopen in new window definiert ("*" kann als Wildcard verwendet werden). Auf diese Weise ist eine Selektion von Objekten bereits ohne zusätzliche Module möglich. Die Attribute unter q werden außerdem bei der freien Textsuche im Query-Parameter mit demselben Namen berücksichtigt.
object
v3.1
coordinatePrecision
{}
Steuert, ob Koordinaten in Abhängig des verwendeten Koordinatenreferenzsystems auf eine bestimmte Anzahl von Stellen begrenzt werden. Anzugeben ist die Maßeinheit und die zugehörige Anzahl der Nachkommastellen. Beispiel: { "metre" : 2, "degree" : 7 }. Gültige Maßeinheiten sind "metre" (bzw. "meter") und "degree".
object
v3.1

Beispiele

Beispiel für die Angaben in der Konfigurationsdatei für die gesamte API (oder in den Defaults):


- buildingBlock: FEATURES_CORE
  coordinatePrecision:
    metre: 2
    degree: 7

Beispiel für die Angaben in der Konfigurationsdatei für eine Feature Collection:


- buildingBlock: FEATURES_CORE
  coordinatePrecision:
    metre: 2
    degree: 7

Example of the specifications in the configuration file for a feature collection:


- buildingBlock: FEATURES_CORE
  enabled: true
  itemType: feature
  queryables:
    spatial:
    - geometry
    temporal:
    - date
    q:
    - name
    - region
    - subregion
    - cluster
    - village
    - searchfield1
    - searchfield2
    other:
    - registerId
    - area_ha
  embeddedFeatureLinkRels:
  - self