Metainformationen zur Seite

Workshop: Neophyten-Erfassung in Naturschutzgebieten um Stadtroda

Ausgangslage: Eine untere Naturschutzbehörde will wissen, wo in ihren Naturschutzgebieten invasive Neophyten stehen. Vorhanden: QGIS, ein WFS mit den Gebietsgrenzen, ein Geländemodell, ein Tag Zeit.

Ergebnis: eine GeoPackage-Arbeitsdatenbank, ein Erfassungslayer mit Formular und Eingaberegeln, die automatische Zuordnung Punkt zu Schutzgebiet, Höhen aus dem DGM und ein Maßnahmenblatt je betroffenem Gebiet.

Datenpaket Neophyten Stadtroda (25 MB)

Im Paket: Geländemodell, Gebietsgrenzen, leeres Arbeitsprojekt (01_start) und fertiges Referenzprojekt (02_loesung). Die Fundpunkte darin sind frei erfunden – Übungsmaterial, keine realen Nachweise.

Das Geländemodell liegt im Hauptpaket als eine Datei über alle drei Gebiete (daten/dgm_nsg.tif). Das Zusatzpaket enthält dasselbe Modell je Gebiet einzeln – nur nötig, wenn ein Gebiet für sich weitergegeben oder bearbeitet wird.

Aufgaben

Block Aufgabe Werkzeug / Ort ca.
0 Projekt anlegen, KBS EPSG:25832, Hintergrundkarte einbinden Projekt → Eigenschaften, Layer → Layer hinzufügen → WMS 10 min
1 Naturschutzgebiete aus dem WFS holen und als GeoPackage materialisieren Layer hinzufügen → WFS, Rechtsklick → Exportieren → Objekte speichern als… 30 min
2 Erfassungslayer nach Datenmodell anlegen Layer → Layer erstellen → Neuer GeoPackage-Layer… 20 min
3 Formular bauen: Wertelisten, Standardwerte, Constraints, Gruppenboxen Layereigenschaften → Attributformular 50 min
4 10–15 Fundpunkte digitalisieren, konzentriert auf die drei Gebiete Bearbeitungsmodus, Punktwerkzeug 20 min
5 Punkt kennt sein Schutzgebiet Layereigenschaften → Felder → Neues Feld (virtuell) 20 min
6 Funde je Gebiet zählen, betroffene Gebiete auswählen virtuelles Feld, Objekte über Ausdruck wählen 20 min
7 Geländemodell darstellen und auswerten Renderer Schummerung + Einkanal-Pseudofarbe, Ansicht → Höhenprofil 35 min
8 Höhe in die Fundpunkte holen virtuelles Feld mit raster_value() 20 min
9 Heatmap als Darstellungsvariante Renderer Wärmekarte 10 min
10 Maßnahmenblatt je betroffenem Gebiet Drucklayout A4 quer, Atlas 45 min
11 Relative Pfade, Puffer, Fragen Projekt → Eigenschaften → Allgemein 20 min

Datenmodell ''neophyten_funde''

Punktlayer, EPSG:25832, im selben GeoPackage wie die Schutzgebiete.

Feld Typ Widget Regel
art Text (60) Werteliste Nicht-Null, erzwingen
datum Datum Datum/Zeit, dd.MM.yyyy Ausdruck, erzwingen
deckung_prozent Ganzzahl Bereich 1–100, Schritt 5, Schieberegler Ausdruck, erzwingen
massnahme Text (40) Werteliste –
bearbeiter Text (60) Textbearbeitung Nicht-Null, erzwingen
bemerkung Text (254) Textbearbeitung, mehrzeilig –

Wertelisten – gespeichert wird der Code, angezeigt der Klartext:

art Anzeige
heracleum_mantegazzianum Riesen-Bärenklau (Unionsliste)
impatiens_glandulifera Drüsiges Springkraut (Unionsliste)
lupinus_polyphyllus Vielblättrige Lupine (Unionsliste)
reynoutria_japonica Japanischer Staudenknöterich
solidago_gigantea Späte Goldrute
robinia_pseudoacacia Robinie

massnahme: keine / beobachten / mechanische_entfernung / dringend_pruefen

Die Artenliste muss nicht abgetippt werden: Werteliste → Daten aus Datei laden und die mitgelieferte arten_werteliste.csv wählen. Aufbau der Datei – Spalte 1 der gespeicherte Wert, Spalte 2 die Anzeige, keine Kopfzeile. Zerlegt der Import die Umlaute, hilft der Umweg über Daten aus Layer laden: die CSV zuvor als Getrennte Textdatei ins Projekt laden.

Gruppenboxen im Drag-and-drop-Designer: Fund (art, datum, bearbeiter) und Bewertung (deckung_prozent, massnahme, bemerkung).

Ausdrücke

Block Ort Ausdruck
3.3 Standardwert datum to_date(now())
3.3 Standardwert bearbeiter @user_full_name
3.4 Constraint datum „datum“ ⇐ to_date(now())
3.4 Constraint deckung_prozent „deckung_prozent“ >= 1 AND „deckung_prozent“ ⇐ 100
3.5 Sichtbarkeit Gruppe „Bewertung“ „art“ IS NOT NULL
4 Punktgröße datengesteuert scale_linear(„deckung_prozent“, 1, 100, 2.2, 6.5)
5 virt. Feld nsg_name (Text) array_to_string(overlay_intersects('Naturschutzgebiete', „NAME“))
6 virt. Feld anzahl_funde (Ganzzahl) array_length(overlay_intersects('Neophyten-Funde', $id))
6 virt. Feld flaeche_ha (Dezimal) round($area/10000, 1)
6 Objektauswahl „anzahl_funde“ > 0
8 virt. Feld hoehe (Dezimal) round(raster_value('DGM', 1, $geometry), 1)
10.2 Atlas-Filter „anzahl_funde“ > 0
10.5 Atlas-Dateiname concat('Massnahmenblatt_', replace(„NAME“, ' ', '_'))

Layout-Beschriftungen:

Maßnahmenblatt Neophyten: [% "NAME" %]
[% "anzahl_funde" %] Fundpunkt(e) · [% format_number("flaeche_ha", 1) %] ha · NSG seit [% to_string(to_int("JAHR")) %] · Stand [% format_date(now(),'dd.MM.yyyy') %]
Nachgewiesene Arten: [% array_to_string(array_sort(array_distinct(overlay_intersects('Neophyten-Funde', represent_value("art")))), ', ') %]

Werkzeuge

Werkzeug Wofür
Rasteranalyse → Hangneigung Mahdfähigkeit, Erosion, Zugänglichkeit
Rasteranalyse → Exposition wärmebegünstigte Südhänge
Rasteranalyse → Rasterwerte abfragen Höhe dauerhaft statt virtuell schreiben
Rasteranalyse → Zonenstatistik Höhenspanne je Gebiet in die Polygone
Extraktion → Konturen Höhenlinien als Vektor
Vektoranalyse → Punkte in Polygon zählen dauerhafte Zählung statt virtuellem Feld
Interpolation → Heatmap (Kerndichteschätzung) echte Dichteberechnung als Raster
Ansicht → 3D-Kartenansicht DGM als Geländequelle

Stolperstellen

  • In overlay_intersects() und raster_value() steht der Layername, wie er im Layerbereich erscheint – nicht der Tabellenname im GeoPackage. Nach dem Umbenennen eines Layers liefern die Felder stillschweigend NULL.
  • Die Schummerung ist reine Darstellung. Die Bandwerte bleiben Höhen in Metern – deshalb liest raster_value() aus eben diesem Layer echte Höhen.
  • format_number() macht aus der Jahreszahl 1961 ein „1.961“. Stattdessen to_string(to_int(…)).
  • represent_value() holt aus der Werteliste den Klartext; ohne das erscheint der gespeicherte Code.
  • Attributtabellen im Layout schneiden bei der Voreinstellung 10 pt stillschweigend ab. Spaltenbreiten und Schriftgröße von Hand setzen.
  • Der BfN-WFS liefert maximal 1000 Objekte je Anfrage – vor dem Verbinden auf den Zielraum zoomen und „Nur Objekte, die den aktuellen Ansichtsbereich schneiden“ aktivieren.

Die drei Gebiete

Naturschutzgebiet Fläche NSG seit Höhenspanne Charakter
Waldecker Schloßgrund 61,2 ha 1961 250–349 m Bachtal
Dohlenstein und Pfaffenberg 84,5 ha 1981 157–404 m Bergsturzhang über der Saale
Alter Gleisberg 116,4 ha 2000 168–349 m Bewaldete Kuppe

Daten und Dienste

Bezeichnung Typ Adresse
BfN Schutzgebiete, NSG Stand 2023, EPSG:25832 WFS https://geodienste.bfn.de/ogc/wfs/schutzgebiet
basemap.de, topographische Hintergrundkarte WMS https://sgx.geodatenzentrum.de/wms_basemapde
DGM1 Thüringen, 1 m, 1×1-km-Kacheln Download https://geoportal.geoportal-th.de/gaialight-th/_apps/dladownload/dl-dhm.html

Quellen und Lizenzen

  • Schutzgebiete: © Bundesamt für Naturschutz (BfN), NSG-Stand 2023, dl-de/by-2.0
  • Höhendaten: DGM1 © GDI-Th, Freistaat Thüringen, TLVermGeo, dl-de/by-2.0
  • Hintergrundkarte: basemap.de / © BKG, dl-de/by-2.0
  • Fundpunkte: frei erfunden, Übungsmaterial

Downloads


Melden Sie sich an, um einen Kommentar zu erstellen.