Featuresspecstableimplmature
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.0 für die zwei Operationen.
Operationen
Ressource | Pfad | Methoden | Formate | Beschreibung |
---|---|---|---|---|
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
Name | Ressourcen | Beschreibung |
---|---|---|
collectionId | Features, Feature | Der Identifikator der Feature Collection. |
featureId | Feature | Der lokale Identifikator des Features in der Feature Collection collectionId . |
Query Parameter
Name | Ressourcen | Beschreibung |
---|---|---|
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
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
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