Features - CSVspeccustomimplcandidate
Kodierung von Features als komma-separierte Werte (CSV).
Umfang
Objekteigenschaften, bei denen es sich um Arrays oder Objekte handelt, werden immer mit der Transformation flatten
abgeflacht, wobei standardmäßig '.' als Trennzeichen verwendet wird. Array-Eigenschaften sind auf maxMultiplicity
-Werte beschränkt.
Geometrien werden nicht kodiert.
Konfiguration
Optionen
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
buildingBlock | Immer CSV . | string | v2.0 | |
enabled | false | Soll der Baustein aktiviert werden? | boolean | 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 |
defaultProfiles | {} | Erlaubt es, den Standardwert des Profile-Parameters für ein bestimmtes Format zu ändern. Der Schlüssel ist die Art des Profils, z. B. rel oder val . Der Wert ist der Standardprofilwert, z. B. rel-as-uri oder val-as-title . Wenn nur einige oder keine Profilarten festgelegt sind, gelten die Anwendungsstandards. | object | v4.2 |
maxMultiplicity | 3 | Wenn das Feature-Schema Array-Eigenschaften enthält, werden für jede Array-Eigenschaft maxMultiplicity Eigenschaften erstellt. Wenn eine Instanz mehrere Werte in einem Array hat, werden nur die ersten Werte in die Daten aufgenommen. | number | v3.2 |
Beispiele
Die folgende Konfiguration aktiviert CSV als Feature-Kodierung, bei der alle Objekte und Arrays mit einem Unterstrich als Trennzeichen und zwei Eigenschaften pro Array-Eigenschaft abgeflacht werden.
- buildingBlock: CSV
enabled: true
transformations:
'*':
flatten: '_'
maxMultiplicity: 2
Für ein Feature mit den folgenden GeoJSON-"properties":
{
"att1": "foo",
"att2": [ "bar1", "bar2", "bar3" ]
"att3": {
"value": 123,
"values": [ 456, 789, 0 ]
}
}
Die resultierende CSV-Datei würde wie folgt aussehen:
att1,att2_1,att2_2,att3_value,att3_values_1,att3_values_2
foo,bar1,bar2,123,456,789