From b4c281db0d359dff8e101b10eb20b48a79236636 Mon Sep 17 00:00:00 2001 From: mpeltriaux Date: Wed, 27 Apr 2022 10:12:52 +0200 Subject: [PATCH] =?UTF-8?q?=E2=80=9Eapi=20v1=20ecoaccount=20json=20propert?= =?UTF-8?q?ies=20de=E2=80=9C=20hinzuf=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api-v1-ecoaccount-json-properties-de.md | 177 ++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 api-v1-ecoaccount-json-properties-de.md diff --git a/api-v1-ecoaccount-json-properties-de.md b/api-v1-ecoaccount-json-properties-de.md new file mode 100644 index 0000000..1c4bb2e --- /dev/null +++ b/api-v1-ecoaccount-json-properties-de.md @@ -0,0 +1,177 @@ +# Json Attribute +## Ökokonto +Der Aufbau der Ökokonto Attribute ähnelt in weiten Teilen [dem der Kompensation](api-v1-compensation-json-properties-de). + +### Beispiel +
+ Beispiel body (POST|PUT) + +```json +{ + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + 7.764930725097654, + 50.530801443594385 + ], + [ + 7.763471603393552, + 50.52709125717179 + ], + [ + 7.761154174804686, + 50.524581259743805 + ], + [ + 7.762441635131831, + 50.52141629007823 + ], + [ + 7.766475677490232, + 50.51950629189859 + ], + [ + 7.770338058471677, + 50.51868769758818 + ], + [ + 7.778749465942381, + 50.51928800147066 + ], + [ + 7.780122756958003, + 50.52763689111973 + ], + [ + 7.775144577026365, + 50.533965783820754 + ], + [ + 7.768535614013667, + 50.533965783820754 + ], + [ + 7.764930725097654, + 50.530801443594385 + ] + ] + ] + ], + "properties": { + "title": "Ökokonto 123", + "deductable_surface": 10000.0, + "responsible": { + "conservation_office": null, + "conservation_file_number": "123-TEST", + "handler": { + "type": null, + "detail": null + } + }, + "legal": { + "agreement_date": "2022-01-11" + }, + "before_states": [ + { + "biotope": "136155", + "surface": 10000.0 + } + ], + "after_states": [ + { + "biotope": "136156", + "surface": 10000.0 + } + ], + "actions": [ + { + "action": "709234", + "amount": 1.0, + "unit": "cm", + "comment": "" + } + ], + "deadlines": [] + } + } +``` + +
+ +### 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 +* `deductable_surface` (float): + * Wie viel Fläche in m² für Abbuchungen zur Verfügung steht +* `responsible`: + * Enthält Informationen über zuständige Eintragungsstelle/Naturschutzbehörde und ausführenden Akteur ("Maßnahmenträger") +* `responsible.conservation_office` (str): + * Identifiziert eindeutig die zuständige Eintragungsstelle (z.B. "Kreisverwaltung XY") +* `responsible.conservation_file_number` (str): + * Aktenzeichen der Eintragungsstelle +* `handler`: + * Enthält Informationen über den Maßnahmenträger +* `handler.type` (str): + * Identifiziert eindeutig die Art des Maßnahmenträgers (z.b. "Stadt", "Sonstige und private Träger", ...) +* `handler.detail` (str): + * Weitere Details zum Maßnahmenträger +* `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: [] + +