Files
Workflow/tasks/geo_flaeche.md
T

55 lines
2.1 KiB
Markdown
Raw Normal View History

# `geo_flaeche` — Fläche berechnen
**Zweck:** Summiert die Fläche von Polygon-Kartenobjekten und liefert sie in m² und ha. Koordinaten liegen in EPSG:25833 (Meter), daher rechnet `ST_Area` planar direkt in Metern.
Erster Task der Geo-Reihe (MariaDB-Spatial als Rechen-Engine). Zwei Eingabewege — genau einen wählen:
**Parameter**
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
| `geojson` | (Weg 1) | — | Inline-Geometrie: Geometry, Feature oder FeatureCollection. Nur `Polygon`/`MultiPolygon` zählen. |
| `quelle` | (Weg 2) | — | Layer aus `KARTE_OBJEKT`: `umringe`, `p41`, `kas`, `we`, `st`. |
| `vkz` | (Weg 2) | — | Verfahrenskennzeichen; zusammen mit `quelle`. |
| `output_var` | nein | `flaeche` | Präfix der Ergebnis-Variablen. |
Weg 1 (`geojson`) hat Vorrang; ist er gesetzt, werden `quelle`/`vkz` ignoriert.
**Ausgangswerte**
| Variable | Beschreibung |
|---|---|
| `{{<prefix>_m2}}` | Fläche in m² (2 Nachkommastellen) |
| `{{<prefix>_ha}}` | Fläche in ha (4 Nachkommastellen) |
| `{{<prefix>_anzahl}}` | Anzahl berücksichtigter Polygone |
**Beispiel — Inline-GeoJSON**
```xml
<task type="geo_flaeche" id="flaeche">
<config>
<geojson>{{umring_geojson}}</geojson>
<output_var>flaeche</output_var>
</config>
</task>
```
**Beispiel — Layer aus KARTE_OBJEKT**
```xml
<task type="geo_flaeche" id="verfahrensflaeche">
<config>
<quelle>umringe</quelle>
<vkz>{{vkz}}</vkz>
<output_var>verfahren</output_var>
</config>
</task>
<!-- danach z. B.: {{verfahren_ha}} ha im Bescheid ausgeben -->
```
**Technik / Hinweise**
- Rechen-Engine: MariaDB `ST_Area`. Die Geometrie wird vor der Berechnung hart auf SRID 0 gesetzt (`ST_GeomFromText(ST_AsText(g),0)`), damit planar in Metern gerechnet wird — unabhängig vom SRID-Tag der gespeicherten Geometrie (die per `ST_GeomFromGeoJSON` als 4326 getaggt ist, aber 25833-Werte enthält).
- Nicht-Polygone (Punkt/Linie) werden ignoriert, nicht als Fehler gewertet.
- Fehler (`error`), wenn weder `geojson` noch `quelle`+`vkz` gesetzt sind, das GeoJSON ungültig ist oder keine Polygon-Geometrie gefunden wird.