Features - GeoJSONspecstableimplmature
Kodierung von Features als GeoJSON.
Umfang
Konformitätsklassen
Das Modul implementiert für die Ressourcen Features und Feature alle Vorgaben der Konformitätsklasse "GeoJSON" von OGC API - Features - Part 1: Core 1.0.
Konfiguration
Optionen
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
buildingBlock | Immer GEO_JSON . | string | v2.0 | |
extensionType | Deprecated Siehe buildingBlock . | string | v2.0 | |
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 | v2.0 |
enabled | true | Soll das Modul aktiviert werden? | boolean | v2.0 |
nestedObjectStrategy | FLATTEN | Deprecated Wird abgelöst durch die flatten -Transformation. | string | v2.0 |
multiplicityStrategy | SUFFIX | Deprecated Wird abgelöst durch die flatten -Transformation. | string | v2.0 |
useFormattedJsonOutput | boolean | v2.0 | ||
separator | "." | Deprecated Wird abgelöst durch die flatten -Transformation. | string | v2.0 |
Beispiele
Ein Beispiel zur Abflachung. Das nicht abgeflachte Feature
{
"type" : "Feature",
"id" : "1",
"geometry" : {
"type" : "Point",
"coordinates" : [ 7.0, 50.0 ]
},
"properties" : {
"name" : "Beispiel",
"inspireId" : "https://example.org/id/soziales/kindergarten/1",
"serviceType" : {
"title" : "Kinderbetreuung",
"href" : "https://inspire.ec.europa.eu/codelist/ServiceTypeValue/childCareService"
},
"pointOfContact" : {
"address" : {
"thoroughfare" : "Beispielstr.",
"locatorDesignator" : "123",
"postCode" : "99999",
"adminUnit" : "Irgendwo"
},
"telephoneVoice" : "0211 16021740"
},
"occupancy" : [ {
"typeOfOccupant" : "vorschule",
"numberOfOccupants" : 20
}, {
"typeOfOccupant" : "schulkinder",
"numberOfOccupants" : 25
} ]
}
}
sieht abgeflacht mit dem Standardtrennzeichen wie folgt aus:
{
"type" : "Feature",
"id" : "1",
"geometry" : {
"type" : "Point",
"coordinates" : [ 7.0, 50.0 ]
},
"properties" : {
"name" : "Beispiel",
"inspireId" : "https://example.org/id/soziales/kindergarten/1",
"serviceType.title" : "Kinderbetreuung",
"serviceType.href" : "https://inspire.ec.europa.eu/codelist/ServiceTypeValue/childCareService",
"pointOfContact.address.thoroughfare" : "Otto-Pankok-Str.",
"pointOfContact.address.locatorDesignator" : "29",
"pointOfContact.address.postCode" : "40231",
"pointOfContact.address.adminUnit" : "Düsseldorf",
"pointOfContact.telephoneVoice" : "0211 16021740",
"occupancy.1.typeOfOccupant" : "vorschule",
"occupancy.1.numberOfOccupants" : 20,
"occupancy.2.typeOfOccupant" : "schulkinder",
"occupancy.2.numberOfOccupants" : 25
}
}
Die entsprechenden Angaben in der Konfigurationsdatei:
- buildingBlock: GEO_JSON
transformations:
'*':
flatten: '.'