5 api v1 ecoaccount json properties de
mpeltriaux edited this page 2022-04-27 10:27:23 +02:00

Json Attribute

Ökokonto

Der Aufbau der Ökokonto Attribute ähnelt in weiten Teilen dem der Kompensation.

Beispiel

Beispiel body (POST|PUT)
{
        "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": "Tolles Ökokonto",
            "deductable_surface": 10000.0,
            "responsible": {
                "conservation_office": null,
                "conservation_file_number": "123-TEST",
                "handler": {
                    "type": "710178",
                    "detail": "Firma Mustermann234"
                }
            },
            "legal": {
                "agreement_date": "2022-01-11"
            },
            "before_states": [
                {
                    "biotope": "136155",
                    "biotope_details": [ 
                        "138046", 
                        "161751"
                    ],
                    "surface": 10000.0
                }
            ],
            "after_states": [
                {
                    "biotope": "136156",
                    "biotope_details": [],
                    "surface": 10000.0
                }
            ],
            "actions": [
                {
                    "action_types": [
                        "709297",
                        "709289",
                        "709299"
                    ],
                    "action_details": [],
                    "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 Objektes
  • title (str):
    • Bezeichnung/Titel des Eintrags
  • 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_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: []