From b3e0943d685d1c4863db2844b9bf364e984ce577 Mon Sep 17 00:00:00 2001 From: mpeltriaux Date: Wed, 27 Apr 2022 10:28:23 +0200 Subject: [PATCH] =?UTF-8?q?=E2=80=9Eapi=20v1=20ema=20json=20properties=20d?= =?UTF-8?q?e=E2=80=9C=20hinzuf=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api-v1-ema-json-properties-de.md | 181 +++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 api-v1-ema-json-properties-de.md diff --git a/api-v1-ema-json-properties-de.md b/api-v1-ema-json-properties-de.md new file mode 100644 index 0000000..fec487f --- /dev/null +++ b/api-v1-ema-json-properties-de.md @@ -0,0 +1,181 @@ +# Json Attribute +## EMA +Der Aufbau der EMA Attribute ähnelt in weiten Teilen [dem der Kompensation](api-v1-compensation-json-properties-de) und [des Ökokontos](api-v1-ecoaccount-json-properties-de). + +### Beispiel +
+ Beispiel body (POST|PUT) + +```json +{ + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + 7.845568656921382, + 50.79829702304368 + ], + [ + 7.837371826171871, + 50.80155187891526 + ], + [ + 7.835698127746578, + 50.805267562209806 + ], + [ + 7.841062545776364, + 50.806623577403386 + ], + [ + 7.848916053771969, + 50.808359219420474 + ], + [ + 7.855696678161618, + 50.807057493952975 + ], + [ + 7.854666709899899, + 50.80423696434001 + ], + [ + 7.850461006164548, + 50.80217570040005 + ], + [ + 7.845568656921382, + 50.79829702304368 + ] + ] + ] + ], + "properties": { + "title": "EMA 123", + "responsible": { + "conservation_office": "710123", + "conservation_file_number": null, + "handler": { + "type": "710178", + "detail": "Firma Mustermann234" + } + }, + "before_states": [ + { + "biotope": "136156", + "biotope_details": [ + "138046", + "161751" + ], + "surface": 1.0 + } + ], + "after_states": [ + { + "biotope": "136164", + "biotope_details": [], + "surface": 1.0 + } + ], + "actions": [ + { + "action_types": [ + "709297", + "709289", + "709299" + ], + "action_details": [], + "amount": 1.0, + "unit": "cm", + "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 Eintrags +* `title` (str): + * Bezeichnung/Titel des EMAs +* `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_types` (list): + * Identifiziert eindeutig eine Menge von Maßnahmen, die zusammengehörig durchgeführt werden +* `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 des Eintrags 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: [] + +