Features - GeoJSON

specstableimplmature

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.0open in new window.

Konfiguration

Optionen

NameDefaultBeschreibungTypSeit
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: '.'