diff --git a/api-v1-compensation-json-properties-de.md b/api-v1-compensation-json-properties-de.md new file mode 100644 index 0000000..24a74a1 --- /dev/null +++ b/api-v1-compensation-json-properties-de.md @@ -0,0 +1,179 @@ +# Json Attribute +## Kompensation + +### Beispiel +
+ Beispiel body (POST|PUT) + +```json +{ + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + 7.477097511291501, + 50.14218444767971 + ], + [ + 7.479243278503415, + 50.140479182654374 + ], + [ + 7.483620643615721, + 50.14300955409459 + ], + [ + 7.482976913452146, + 50.14405466845533 + ], + [ + 7.481346130371092, + 50.14416467916495 + ], + [ + 7.479929924011228, + 50.143174573669675 + ], + [ + 7.47808456420898, + 50.14232196640389 + ], + [ + 7.477097511291501, + 50.14218444767971 + ] + ] + ] + ], + "properties": { + "title": "Kompensation 123", + "is_cef": false, + "is_coherence_keeping": false, + "intervention": "97d7cce8-83e9-4043-bc76-317caf983a41", + "before_states": [ + { + "biotope": "136156", + "biotope_details": [], + "surface": 1000.0 + }, + { + "biotope": "136156", + "biotope_details": [], + "surface": 11.0 + }, + { + "biotope": "136159", + "biotope_details": [ + "138046", + "161751" + ], + "surface": 1.0 + } + ], + "after_states": [ + { + "biotope": "136204", + "biotope_details": [], + "surface": 1000.0 + } + ], + "actions": [ + { + "action": "709452", + "action_details": [], + "amount": 1000.0, + "unit": "qm", + "comment": "" + }, + { + "action": "709130", + "action_details": [ + "709649", + "709709" + ], + "amount": 1.0, + "unit": "pcs", + "comment": "" + } + ], + "deadlines": [ + { + "type": "finished", + "date": "2022-01-31", + "comment": "" + } + ] + } +} +``` + +
+ +### Attribute +* `type`: + * Muss immer `MultiPolygon` sein +* `coordinates`: + * Enthält die Koordinaten der Geometrie(n) (EPSG:4326) +* `properties`: + * Enthält die Attribute des Eingriffsobjektes +* `title` (str): + * Bezeichnung/Titel des Eingriffs +* `is_cef` (boolean): + * Ob die Kompensation eine CEF Maßnahme darstellt +* `is_coherence_keeping` (boolean): + * Ob die Kompensation eine Kohärenzsicherung darstellt +* `intervention` (str): + * Id des zugehörigen Eingriffs (muss bereits angelegt worden sein) +* `before_states` (list): + * Enthält Informationen zu einer Menge von Biotopen, welche sich vor Durchführung der Kompensation auf der angegebenen Fläche befanden +* `before_state.biotope` (str): + * Identifiziert eindeutig einen Biotoptyp +* `before_state.biotope_details` (list): + * Identifiziert eindeutig eine Menge von Zusatzmerkmalen, welche dem Biotop zugeordnet werden können +* `before_state.surface` (float): + * Flächenmenge des Biotops in m² +* `after_states` (list): + * Enthält Informationen zu einer Menge von Biotopen, welche sich nach Durchführung der Kompensation auf der angegebenen Fläche befinden + * Aufbau identisch zu `before_states` +* `actions` (list): + * Enthält Informationen zu einer Menge von konkreten Maßnahmen, welche durchgeführt wurden, um die beschriebene Biotopveränderung zu bewirken +* `action.action` (str): + * Identifiziert eindeutig eine Maßnahme +* `action.action_details` (str): + * Identifiziert eindeutig eine Menge von Zusatzmerkmalen, welche der Maßnahme zugeordnet werden können +* `action.amount` (float): + * Menge/Anzahl der Maßnahme +* `action.unit` (str): + * Einheitstyp für `amount` + * Valide Einheiten sind: ["cm", "m", "km", "qm", "ha", "pcs"] ~(cm, m, km, m², ha, St.) +* `action.comment` (str): + * Kommentarfeld zur genaueren Beschreibung der Maßnahme (ehem. "Maßnahmenerläuterung") +* `deadlines` (list): + * Enthält Informationen zu einer Menge von Terminen bzw. Fristen +* `deadline.type` (str): + * Art des Termins/der Frist + * Valide Arten sind: ["finished", "maintain", "control", "other"] ~(Umsetzung bis, Unterhaltung bis, Kontrolle am, Sonstige) +* `deadline.date` (str): + * Datum des Termins/der Frist (ISO Format) +* `deadline.comment` (str): + * Kommentarfeld zur genaueren Beschreibung des Termins/der Frist + +### Pflichtattribute +#### beim Anlegen +Initial wird per API mindestens ein `title` und eine (ggf. leere) Geometrie erwartet. Alle übrigen Informationen können nachträglich per `PUT` bearbeitet/hinzugefügt werden. + +#### beim Bearbeiten +Es werden nur die Attribute in `properties` ausgewertet, die vorhanden sind. Soll z.B. nur der Titel der Kompensation geändert werden, genügt es in `properties` nur das `title` Attribut mitzusenden. Alle übrigen Daten bleiben unverändert. + +**Achtung:** +Dieser Ablauf bezieht sich nur auf Attribute in `properties`. Die aktuell zu verwendende Geometrie muss immer mitgeschickt werden. + +### Null Werte +Falls ein Attribut gelöscht werden soll, kann beim nächsten `PUT` der leere Wert `null` für dieses Attribut angegeben werden. Für Listenattribute wird hingegen die leere Liste [] genutzt. + +### Auswertung von Listen +Listenattribute werden, falls angegeben, immer vollständig ausgewertet. Soll also eine gesetzte Liste ["a", "b", "c"] mittels `PUT` überarbeitet werden und z.B. "b" entfernt werden, muss die Liste wie folgt beim nächsten `PUT` angegeben werden: ["a", "c"]. +Sollen alle Einträge in der Liste entfernt werden, wird die leere Liste übergeben: [] + +