README: Sammlungen je Geometriefamilie (-punkt/-linie/-flaeche), Beispiel angepasst

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Erik
2026-09-07 17:59:51 +02:00
co-authored by Claude Opus 4.8
parent 4c52c464dd
commit 0ce4c0ed37
+11 -5
View File
@@ -105,9 +105,14 @@ API** (POST/PUT/PATCH/DELETE je Feature) — kein Vollersetzen, kein Memory-Laye
| Sammlung | Inhalt | Speicher-CRS | | Sammlung | Inhalt | Speicher-CRS |
|---|---|---| |---|---|---|
| `umringe-27998`, `p41-…`, `st-…`, `kas-…`, `we-…`, `ngg-…`, `biotop-…` | jüngster Stand des Layers (wie im Web-GIS) | EPSG:25833 | | `umringe-27998-flaeche`, `p41-…`, `st-…`, `kas-…`, `we-…`, `ngg-…`, `biotop-…` | jüngster Stand des Layers (wie im Web-GIS) | EPSG:25833 |
| `vorerhebung-27998-<key>` | ein Vorerhebungsprojekt (schreibbar nur im Status „bearbeitung") | CRS84 | | `vorerhebung-27998-<key>-punkt|-linie|-flaeche` | ein Vorerhebungsprojekt (schreibbar nur im Status „bearbeitung") | CRS84 |
| `massnahmeblatt-27998` | je Lage-Geometrie eines Maßnahmenblatts ein Feature | CRS84 | | `massnahmeblatt-27998-linie|-flaeche|-punkt` | je Lage-Geometrie eines Maßnahmenblatts ein Feature | CRS84 |
Jede Sammlung gibt es **je Geometriefamilie** (`-punkt`, `-linie`, `-flaeche`): QGIS-Layer
sind eintypig, die Stände des Web-GIS mischen Punkte, Linien und Flächen. Die Queryables
nennen je Familie den Geometrietyp und die Felder — so lassen sich auch **leere** Layer
direkt bearbeiten. Die Basis ohne Suffix (`st-27998`) ist nicht gelistet, aber lesbar.
3. Layer hinzufügen → *Bearbeitungsmodus* → zeichnen/ändern → *Layer-Änderungen speichern*. 3. Layer hinzufügen → *Bearbeitungsmodus* → zeichnen/ändern → *Layer-Änderungen speichern*.
QGIS schickt `Content-Crs` mit; die API rechnet in PostGIS um (EPSG:25833 ↔ CRS84). QGIS schickt `Content-Crs` mit; die API rechnet in PostGIS um (EPSG:25833 ↔ CRS84).
@@ -127,15 +132,16 @@ Maßnahmenblätter / Verfahren). Code: [vln_karten/ogc_layers.py](vln_karten/ogc
from qgis.core import QgsDataSourceUri, QgsVectorLayer from qgis.core import QgsDataSourceUri, QgsVectorLayer
uri = QgsDataSourceUri() uri = QgsDataSourceUri()
uri.setParam("url", "https://api.flurneuordnung-sachsen.de/v2/ogc") uri.setParam("url", "https://api.flurneuordnung-sachsen.de/v2/ogc")
uri.setParam("typename", "p41-27998") uri.setParam("typename", "p41-27998-flaeche")
uri.setParam("pagingEnabled", "true") uri.setParam("pagingEnabled", "true")
uri.setParam("srsname", "EPSG:25833") uri.setParam("srsname", "EPSG:25833")
uri.setAuthConfigId("<authcfg-id>") # APIHeader (X-API-Key) oder Basic uri.setAuthConfigId("<authcfg-id>") # APIHeader (X-API-Key) oder Basic
layer = QgsVectorLayer(uri.uri(False), "Plan 41 · 27998", "OAPIF") layer = QgsVectorLayer(uri.uri(False), "Plan 41 · 27998 · Flächen", "OAPIF")
``` ```
### Regeln beim Schreiben ### Regeln beim Schreiben
- **Geometriefamilie:** in `…-punkt` nur Punkte, in `…-linie` nur Linien, in `…-flaeche` nur Flächen (sonst HTTP 400).
- **Verfahrens-Layer:** Änderungen landen *in place* im jüngsten Stand; fehlt ein Stand, - **Verfahrens-Layer:** Änderungen landen *in place* im jüngsten Stand; fehlt ein Stand,
legt der erste Schreibzugriff ihn an. Das Web-GIS speichert weiterhin als neuer Stand — legt der erste Schreibzugriff ihn an. Das Web-GIS speichert weiterhin als neuer Stand —
beide treffen sich am jüngsten. beide treffen sich am jüngsten.