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 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.0 für die zwei Operationen.
Operationen
Ressource | Pfad | Methoden | Formate | Beschreibung |
---|---|---|---|---|
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
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. |
Konfiguration
Optionen
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
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 bbox bzw. Parameter datetime für die Selektion verwendet werden. Die übrigen Attribute werden als zusätzliche Parameter für die jeweilige Feature Collections 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