--- Begin Message ---
Guten Abend an alle,

ich muss mich doch nochmal melden. Wie zuletzt geschrieben es funktioniert, ABER, was David angesprochen hat zum Thema Maßstabseingabe aktualisieren,
macht in meiner Variante Probleme.
Ich hatte mich durchgerungen ein Plugin zu verwenden, damit die Anwender:innen einen gewissen Komfort haben. Nach einigem probieren, habe ich derzeit das Plugin nextprint in Verwendung. Neben einigen guten Funktionen zur Druckvorbereitung, hat dieses Plugin u.a. die Funktion, gleich eine PDF zu erstellen, ohne erst den Layouteditor zu öffnen. Und da ist dann das Problem mit der Aktualisierung der Maßstabsleiste, die nach eine Maßstabsänderung nicht aktualisiert wird. Derzeit muss man die zweite Option wählen, also doch wieder Layouteditor öffnen, dort den Maßstab aktualisieren und dann die PDF erzeugen.
Das ist schade, wäre eine einfache Variante gewesen.

Und noch eine Anmerkung, beim Testen der Konfigurationen, ob die Darstellung der Maßstabsleiste immer passt, habe ich folgendes Problem. Ich stelle jeden Maßstab im Kartenelement ein und prüfe wie die Maßstabsleiste angezeigt wird. Das mache ich c.a. 10 mal, ab da ungefähr, dauert das Aktualisieren des Kartenfensters immer länger, am Anfang 1 Sekunde, bis es dann 1 Minute und noch länger dauert . Und regelmäßig nach weiteren durchgängen hängt sich QGIS auf. Das nur mal als Zusatzinfo, ist jetzt auch nicht das, was Anwender:innen wohl jeden Tag mehrmals
machen.

Gruß Jens


Am 28.06.25 um 22:16 schrieb David Koster:
Hallo Jens,

möglicherweise liegt es daran, dass QGIS einen eingegebenen Maßstab von z.B. 50 nicht zwingend auch als 50 intern speichert, sondern als Fließkommazahl nahe 50 (z.B. 50.000000000010544).

Wenn du also 50 als Maßstab eingibst, wird nicht exakt 50 gespeichert und deine Regel greift entsprechend nicht.

Du kannst alternativ folgendes probieren, wobei die gespeicherte Maßstabszahl "zurückgerundet" wird:

CASE
  WHEN round(map_get(item_variables('Karte_1'), 'map_scale')) = 50 THEN 1.0   WHEN round(map_get(item_variables('Karte_1'), 'map_scale')) = 250 THEN 2.5   WHEN round(map_get(item_variables('Karte_1'), 'map_scale')) = 500 THEN 5.0   WHEN round(map_get(item_variables('Karte_1'), 'map_scale')) = 5000 THEN 50.0   WHEN round(map_get(item_variables('Karte_1'), 'map_scale')) = 50000 THEN 500.0
END

Ggf. muss man nach der Maßstabseingabe nochmal mit F5 aktualisieren.

Ich drücke die Daumen, dass das hilft.

Schöne Grüße
David

_____________________________________________________

Am 28.06.2025 um 17:26 schrieb Jens via FOSSGIS-Talk-Liste:
Hallo an alle,

ich erstelle gerade Druckvorlagen mit den Blattformaten A4 und A3. Diese sollen von allen Benutzer:innen für schnelle einfache Ausdrucke verwendet werden. In den Vorlagen ist auch ein begrenzter Platz für die Darstellung der Maßstabsleiste. Die Anwender:innen sollen ohne Probleme einen großen Maßstabsbereich verwenden können. Dieser soll von 1:50 bis 1:500.000, mit den üblichen Schritten dazwischen wie z.B. 1:100, 150, 200, 250, 500, ...25000 usw. gehen. Jetzt habe ich ein Problem mit der entsprechenden Ausdehnung der Maßstabsleiste. Dies kann man ja über die Menüpunkte 'Segmente', 'Feste Breite' oder 'An Segmentbreite anpassen' entsprechend einrichten. Darum habe ich eine Regel für meine universellen Druckvorlagen erstellt, die entsprechend des eingestellten Maßstabes im Feld 'Feste Breite' automatisch einen passenden Wert einträgt, damit die Leiste immer relativ gleich breit ist.
Hier mal ein Auszug:

CASE
WHEN map_get(item_variables('Karte_1'), 'map_scale') = 50 THEN 1.0
WHEN map_get(item_variables('Karte_1'), 'map_scale') = 250 THEN 2.5
WHEN map_get(item_variables('Karte_1'), 'map_scale') = 500 THEN 5.0
WHEN map_get(item_variables('Karte_1'), 'map_scale') = 5000 THEN 50.0
WHEN map_get(item_variables('Karte_1'), 'map_scale') = 50000 THEN 500.0
END

Gebe ich die Werte manuell ein, wird die Maßstabsleiste wie gewünscht angezeigt, aber über die Regeln funktioniert es überhaupt nicht. Regeln funktionieren auch nicht, wenn ich diese für die Menüpunkte 'Segmente' oder 'An Segmentbreite anpassen' verwende.
Alle Werte habe ich jedes mal auch manuell eingegeben und geprüft.
Habe auch mit den Angaben hinter "THEN" experimentiert, also auch '1.0' oder '1,0' verwendet, aber ohne Wirkung.

Was mich auch ein wenig wundert, konnte man 'früher' nicht einfach mit der Variable 'map_scale' den aktuellen Kartenmaßstab abfragen?

Wo ist hier mein Denkfehler, oder ist das ein Bug? Wenn ich in QGIS neben ein Eingabefeld den Button für eine 'Datendefinierten Übersteuerung' habe, dann sollte das doch funktionieren.

Getestet unter W10 QGIS 3.40.7 LTR und
Linux (Fedora) QGIS 3.44.0

Beste Grüße, Jens


--- End Message ---
-- 
....................................................................
FOSSGIS-Konferenz 2026 mit OpenStreetMap-Event in Göttingen!
25.-28. März 2026                 https://www.fossgis-konferenz.de/

FOSSGIS Vereinstermine:
https://fossgis.de/aktivit%C3%A4ten/termine/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/          https://mastodon.online/@FOSSGISeV
____________________________________________________________________
FOSSGIS-Talk-Liste mailing list
[email protected]
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste

Antwort per Email an