- Auswahl über GET /tgen/auswahl (Manager seit 06.10.2026): oben die eigenen Landkreise
(„… — Linkliste des Landkreises“), dann die Verfahren; als oFB die Verfahren des Landkreises
mit „(nur lesen)“. Älterer Server ohne die Route: Rückfall auf /tgen.
- Landkreis gewählt: „Liste holen“ lädt die Linkliste des ganzen Landkreises; „Layer laden“
erklärt, dass es für einen Landkreis keine Verfahrenslayer gibt.
- 401 und 403 getrennt: nur 401 (AuthError) meldet ab, 403 (KeinZugriff) zeigt eine Meldung.
Bis 0.6.0 verwarf jedes 403 den gespeicherten API-Key.
- OGC-Sammlungen mit vln:schreibbar: false werden schreibgeschützt geladen; Meldungen für Stil
und Verkehrszeichen nennen „nur lesen“ als Grund.
- Linkliste: Gruppe › Untergruppe › Layer im Ebenenbaum (linkliste.zielgruppe), Untergruppe
auch in der Dienstliste.
- README: Abschnitt „Geodienste aus der Linkliste“; Tests ohne Netz:
tools/headless_linkliste_test.py (neu), tools/headless_panel_test.py erweitert — beide grün
mit QGIS 4.2 offscreen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tools/headless_render_live.py rendert ein Verfahren in QGIS 4.2 offscreen: Daten aus dem
oeffentlichen /v2/maps/widmung/<vkz>, zusatz als Text wie beim OAPIF-Provider, Stil aus dem
Stil-Erzeuger des Managers (derselbe Code wie auf dem Server), Grafiken und Umschreiben
ueber zeichen_katalog. Heraus kommen Bilder bei 1:2000, 1:500 je Schild, 1:5000 und 1:20000.
Entstanden am 23.09.2026: die Fragezeichen unter den Schildern und ein gedrehtes Schild,
das aufrecht stand, sah man erst im echten Bild, nicht im Quelltext des Stils. Wichtig
fuer solche Laeufe: @map_scale gibt es nur mit dem Ausdruckskontext der Karteneinstellungen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
tools/baue_paket.py schnuert aus dem Arbeitsstand das ZIP (genau ein Ordner vln_karten/,
ohne __pycache__) und schreibt die passende plugins.xml. Beides gehoert danach in den
Manager nach api/qgis/; von dort liefert der Server es unter /v2/qgis/ aus, und QGIS bietet
neue Fassungen von selbst an.
metadata.txt: Fassung 0.6.0, Beschreibung und Changelog auf den heutigen Stand (Widmungen
und Verkehrszeichen, Palette, Werkzeuge, Rollbalken). dist/ bleibt aus dem Git heraus.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Bisher konnte man die Zeichen in QGIS nur sehen und ihre Attribute von Hand tippen. Jetzt
gibt es dieselbe Bedienung wie im Web (Erik, 21.09.2026; Nutzerkreis sind TG-Mitarbeiter
und der Landkreis):
* Neues Modul zeichen_werkzeug.py mit der Palette (Suchfeld nach Nummer oder Name,
Kategorie, Kacheln aus den lokal abgelegten Vorschaubildern, Deckel bei 96 wie im
Browser) und zwei Kartenwerkzeugen: "Schild setzen" (erster Klick Standort, zweiter
Klick Blickrichtung; unter 0,5 m bleibt die Drehung 0) und "Zusatzzeichen" (Klick auf ein
vorhandenes Schild haengt es darunter, kein Doppel, hoechstens zwei).
* Die Rechenregeln sind Zwillinge von vz_geom.js (vzRichtungGrad, vzNormGrad,
vzZusatzErgaenzen) -- dieselben Werte, hier in Python, mit denselben Pruefpunkten.
* Zeichen am Weg eines Blattes brauchen ein Blatt: die Auswahl fuellt sich aus den
geladenen Blatt-Layern, eine eigene Abfrage braucht es nicht. In der Verfahrenskarte
bleibt sie leer.
* Seitenleiste: neue Gruppe "Verkehrszeichen setzen". Der Katalog kommt beim Start und nach
dem Anmelden in die Palette (oeffentlich, faellt auf die lokale Ablage zurueck).
Neuer Test tools/headless_zeichen_test.py (QGIS 4.2 offscreen, ohne Zugangsschluessel):
30 Pruefungen gruen -- Rechenregeln, zusatz aus Text, Katalog, lokale Ablage, Umschreiben
des Stils, Palette mit Suche und Deckel. tools/headless_panel_test.py bleibt gruen; die
Leiste ist jetzt 1372 px hoch und rollt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Der Server liefert seit heute die Sammlung widmung-<vkz>-punkt|-linie mit einem Stil, der
die Schilder selbst malt, dazu blattzeichen-<vkz> mit den neuen Zeichen am Weg. Das Plugin
kannte beides nicht -- die Gruppenzuordnung fiel auf "Weitere", und die Seitenleiste
filterte das heraus.
* GRUPPEN kennt jetzt widmung ("Widmungen & Verkehrszeichen", eigener Haken in der
Seitenleiste) und blattzeichen (laeuft in der Gruppe der Maßnahmenblaetter mit).
* Neues Modul zeichen_katalog.py: holt /v2/zeichen/katalog.json (oeffentlich, wird neben den
Grafiken abgelegt, damit die Palette auch ohne Netz oeffnet), laedt fehlende Schilder nach
<Profil>/svg/vln/<code>.svg, traegt den Ordner in die SVG-Suchpfade ein und schreibt im
Stil das Adressen-Praefix auf "vln/" um. Fehlt eine Datei, bleibt die Serveradresse stehen
-- so zeichnet QGIS sie weiter aus dem Netz, im Druck und offline stimmt es trotzdem.
* Beim Laden eines Zeichen-Layers werden die Grafiken bereitgestellt, BEVOR der Stil greift;
sonst zeigt der Ausdruck auf eine Datei, die es lokal noch nicht gibt.
* api_client.roh() holt eine Datei roh und ohne Anmeldung; Fehler geben b"" zurueck, ein
fehlendes Schild darf nichts abbrechen.
Headless gemessen (QGIS 4.2, offscreen): Katalog 890 Zeichen, drei Grafiken geholt, ein
unbekannter Code sauber als fehlend gemeldet, Suchpfad eingetragen, Stil lokalisiert.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Daniel Helbig (LK Meissen) am 14.09.2026: ist die Seitenleiste hoeher als der Bildschirm,
schiebt sie den unteren Rand des QGIS-Fensters ins Unsichtbare. Grund: ein QDockWidget
reicht die Mindesthoehe seines Inhalts an das Hauptfenster weiter.
Der Inhalt haengt jetzt in einer QScrollArea (widgetResizable, kein Rahmen, waagerechter
Balken aus). Damit meldet das Dock nur noch 88 px Mindesthoehe statt 931; der Inhalt bleibt
ueber einen senkrechten Rollbalken erreichbar. Die Mindestbreite wandert auf die Rollflaeche
und bekommt die Balkenbreite aufgeschlagen (278 px), damit nichts angeschnitten wird. Die
Diensteliste gibt sich mit 90 statt 140 px zufrieden -- ihre Mindesthoehe zaehlt in die des
Docks hinein.
Geprueft mit tools/headless_panel_test.py (QGIS 4.2 offscreen, 0 Fehler): Rollflaeche da,
Dock verlangt 88 px bei 931 px Inhalt, Rollbalken wird gebraucht, kein waagerechter Balken.
Der Test laeuft neuerdings auch ohne VLN_TOKEN -- der Online-Teil wird dann uebersprungen,
die Layout-Pruefung nicht.
Closes#1
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>