Re: [FOSSGIS-Talk] QGIS Layoutvorlage Datendefinierten Übersteuerung für Massstabsleiste
Jens
jc-geo at mailbox.org
So Jun 29 22:44:54 CEST 2025
Hallo David,
ja, das ist die Lösung. Vielen Dank.
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