Re: [FOSSGIS-Talk] QGIS Layoutvorlage Datendefinierten Übersteuerung für Massstabsleiste

Jens jc-geo at mailbox.org
Mo Jun 30 23:30:07 CEST 2025


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 
>


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste