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 Bausteinen bereitgestellt.

Die Formate (Kodierungen), die die API unterstützt, werden durch zusätzliche Bausteine 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 den CRS-Baustein) 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, Debug Tokens, FlatGeobuf, GML, GeoJSON, HTML
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, Debug Tokens, FlatGeobuf, GML, GeoJSON, HTML
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.
profile
Features, Feature
Dieser Abfrageparameter unterstützt die Abfrage von Variationen in der Darstellung von Daten im gleichen Format, je nach der beabsichtigten Verwendung der Daten. Die unterstützten Profile hängen vom Provider-Schema der Feature Collection ab. Wenn ein Format das angeforderte Profil nicht unterstützt, wird je nach Format die beste Übereinstimmung für das angeforderte Profil verwendet. Die ausgehandelten Profile werden in Links zurückgegeben, wobei rel auf profile gesetzt ist. Enthält das Feature-Schema mindestens eine Eigenschaft vom Typ FEATURE_REF oder FEATURE_REF_ARRAY, können drei Profile verwendet werden, um die Kodierung der Objektreferenzen in der Antwort auszuwählen. Unterstützt werden "rel-as-link" (ein Link mit URI und einem Titel), "rel-as-key" (die featureId des referenzierten Features) und "rel-as-uri" (die URI des referenzierten Features). Formate, die nur einfache Werte unterstützen, unterstützen typischerweise "rel-as-link" nicht und verwenden "rel-as-key" als Default. HTML, GeoJSON, JSON-FG und GML verwenden "rel-as-link" als der Default. GML unterstützt nur "rel-as-link". Wenn der Baustein Codelists aktiviert ist und das Feature-Schema mindestens eine Eigenschaft mit einer "Codelist"-Einschränkung enthält, können zwei Profile verwendet werden, um die Darstellung von codierten Werten in der Antwort auszuwählen. Unterstützt werden "val-as-code" (der Code) und "val-as-title" (die mit dem Code verbundene Bezeichnung). HTML verwendet "val-as-title" als Default, alle anderen Formate "val-as-code". Hinweis: Explizite Codelisten-Transformationen im Provider oder in der Service-Konfiguration werden immer ausgeführt, der "profile"-Parameter mit dem Wert "val-as-code" deaktiviert nicht diese Transformationen.

Konfiguration

Optionen

NameDefaultBeschreibungTypSeit
buildingBlock
Immer FEATURES_CORE.
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 der Baustein 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
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
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