README: Installation ueber das Plugin-Verzeichnis, Abschnitt Verkehrszeichen
Anwender tragen jetzt eine Adresse in QGIS ein statt ein ZIP von Hand zu installieren; der Entwickler-Weg (Ordner verlinken) bleibt daneben stehen. Dazu ein Abschnitt, was die Sammlungen widmung-* und blattzeichen-* enthalten, woher die Schildgrafiken kommen und wie die beiden Werkzeuge bedient werden. Der Verweis auf das am 08.09.2026 geloeschte layer_manager.py ist raus -- ueber die OGC API stellt sich die Frage der gemischten Geometrien nicht mehr. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -53,9 +53,10 @@ Die drei Stolpersteine, die das Beispiel-Plugin jeweils sauber löst:
|
|||||||
nicht WGS84 wie in RFC 7946 üblich. GeoJSON-Export aus QGIS daher
|
nicht WGS84 wie in RFC 7946 üblich. GeoJSON-Export aus QGIS daher
|
||||||
mit `QgsJsonExporter.setTransformGeometries(False)`.
|
mit `QgsJsonExporter.setTransformGeometries(False)`.
|
||||||
2. **Gemischte Geometrietypen:** Eine FeatureCollection kann Punkte,
|
2. **Gemischte Geometrietypen:** Eine FeatureCollection kann Punkte,
|
||||||
Linien und Flächen zugleich enthalten — QGIS-Memory-Layer können
|
Linien und Flächen zugleich enthalten — QGIS-Layer können das nicht.
|
||||||
das nicht. Das Plugin splittet beim Laden nach Geometrie-Familie
|
Über die OGC API stellt sich die Frage nicht mehr: der Server bietet
|
||||||
und vereint beim Hochladen wieder ([vln_karten/layer_manager.py](vln_karten/layer_manager.py)).
|
je Sammlung drei Familien an (`-punkt`, `-linie`, `-flaeche`), und
|
||||||
|
jede wird ein eigener Layer.
|
||||||
3. **PUT ersetzt alles:** Der Schreibendpunkt legt einen neuen
|
3. **PUT ersetzt alles:** Der Schreibendpunkt legt einen neuen
|
||||||
Snapshot an und ersetzt den kompletten Layer-Bestand der VKZ.
|
Snapshot an und ersetzt den kompletten Layer-Bestand der VKZ.
|
||||||
Immer den vollständigen Datensatz senden — Teilmengen löschen den
|
Immer den vollständigen Datensatz senden — Teilmengen löschen den
|
||||||
@@ -255,11 +256,27 @@ erlebbar:
|
|||||||
| [vln_karten/login_dialog.py](vln_karten/login_dialog.py) | Anmeldedialog |
|
| [vln_karten/login_dialog.py](vln_karten/login_dialog.py) | Anmeldedialog |
|
||||||
| [vln_karten/metadata.txt](vln_karten/metadata.txt) | QGIS-Plugin-Metadaten |
|
| [vln_karten/metadata.txt](vln_karten/metadata.txt) | QGIS-Plugin-Metadaten |
|
||||||
|
|
||||||
## Installation (zum Ausprobieren)
|
## Installation
|
||||||
|
|
||||||
Voraussetzung: QGIS **3.22+** oder **QGIS 4** (Qt6/PyQt6 — der Code
|
Voraussetzung: QGIS **3.22+** oder **QGIS 4** (Qt6/PyQt6 — der Code
|
||||||
nutzt scoped Enums und `exec()`), plus ein VLN-Manager-Konto.
|
nutzt scoped Enums und `exec()`), plus ein VLN-Manager-Konto.
|
||||||
|
|
||||||
|
### Für Anwender: über das VLN-Plugin-Verzeichnis
|
||||||
|
|
||||||
|
*Erweiterungen → Erweiterungen verwalten → Einstellungen → Hinzufügen*,
|
||||||
|
Name „VLN“, Adresse:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://api.flurneuordnung-sachsen.de/v2/qgis/plugins.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
Danach unter *Alle* nach „VLN Karten“ suchen und installieren
|
||||||
|
(experimentelle Erweiterungen zulassen). Neue Fassungen bietet QGIS von
|
||||||
|
sich aus an. Das Paket baut `python3 tools/baue_paket.py`; ZIP und
|
||||||
|
`plugins.xml` gehören danach in den Manager nach `api/qgis/`.
|
||||||
|
|
||||||
|
### Zum Entwickeln: Ordner verlinken
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://entwicklung.flurneuordnung-sachsen.de/VLN_SN/API_Karte_QGISDemo.git
|
git clone https://entwicklung.flurneuordnung-sachsen.de/VLN_SN/API_Karte_QGISDemo.git
|
||||||
cd API_Karte_QGISDemo
|
cd API_Karte_QGISDemo
|
||||||
@@ -277,6 +294,35 @@ Dann QGIS starten und unter *Erweiterungen → Erweiterungen verwalten*
|
|||||||
Entwickeln hilft das Plugin **Plugin Reloader** — Codeänderungen wirken
|
Entwickeln hilft das Plugin **Plugin Reloader** — Codeänderungen wirken
|
||||||
dann ohne QGIS-Neustart.
|
dann ohne QGIS-Neustart.
|
||||||
|
|
||||||
|
## Verkehrszeichen und Widmungen
|
||||||
|
|
||||||
|
Die Sammlungen `widmung-<vkz>-punkt` (Schilder) und `-linie` (Widmungen)
|
||||||
|
führen den **Bestand** des Verfahrens; `blattzeichen-<vkz>` führt die
|
||||||
|
**neuen Zeichen am Weg** eines Maßnahmenblatts (sie liegen im Blatt, ein
|
||||||
|
neues Zeichen braucht darum `blatt_uuid`). Beides ist über die OGC API
|
||||||
|
voll bearbeitbar.
|
||||||
|
|
||||||
|
Den Stil liefert der Server fertig: Schildgrafik statt Kreis, gedreht
|
||||||
|
nach `drehung`, Größe nach `groesse`, bis zu zwei Zusatzzeichen darunter;
|
||||||
|
Widmungslinien nach Straßenklasse eingefärbt, Strichmuster nach Zustand,
|
||||||
|
Änderungen seitlich versetzt. Ab 1:2500 wird aus dem Schild eine Marke,
|
||||||
|
ab 1:10000 ein Punkt — sonst liegt über einem großen Verfahren nur noch
|
||||||
|
ein Haufen.
|
||||||
|
|
||||||
|
Die Grafiken kommen von der API (`/v2/zeichen/svg/<code>.svg`, Katalog
|
||||||
|
unter `/v2/zeichen/katalog.json`, beides öffentlich). Das Plugin legt sie
|
||||||
|
beim Laden im QGIS-Profil ab (`<Profil>/svg/vln/`) und schreibt den Stil
|
||||||
|
auf diesen Ordner um; fehlt eine Datei, bleibt die Serveradresse stehen.
|
||||||
|
|
||||||
|
Gesetzt wird wie im Web: in der Seitenleiste unter *Verkehrszeichen
|
||||||
|
setzen* ein Schild wählen (Suche nach Nummer oder Name), dann **Schild
|
||||||
|
setzen** einschalten — erster Klick Standort, zweiter Klick
|
||||||
|
Blickrichtung. **Zusatzzeichen** hängt das gewählte Zusatzzeichen an ein
|
||||||
|
vorhandenes Schild (höchstens zwei). Für Zeichen am Weg eines Blattes
|
||||||
|
oben das Blatt auswählen; in der Verfahrenskarte bleibt die Auswahl leer.
|
||||||
|
Zum Drehen vorhandener Schilder taugt auch das QGIS-Bordwerkzeug
|
||||||
|
*Punktsymbole drehen*, weil der Stil die Drehung datendefiniert führt.
|
||||||
|
|
||||||
## Hinweise für eigene Integrationen
|
## Hinweise für eigene Integrationen
|
||||||
|
|
||||||
- `QgsBlockingNetworkRequest` statt `requests`/`urllib` verwenden —
|
- `QgsBlockingNetworkRequest` statt `requests`/`urllib` verwenden —
|
||||||
|
|||||||
Reference in New Issue
Block a user