Wichtig

Übersetzen ist eine Gemeinschaftsleistung Sie können mitmachen. Diese Seite ist aktuell zu 100.00% übersetzt.

22.2.4. Das Beschriftungs-Element

Das Element Beschriftung ist ein Werkzeug, das Ihnen hilft, Ihre Karte mit Texten zu versehen, die zum Verständnis beitragen; das kann der Titel, der Autor, die Datenquellen oder jede andere Information sein. Sie können ein Label mit dem Werkzeug label Beschriftung hinzufügen wie in der Anleitung zur Erstellung von Elementen erklärt, hinzufügen und es dann auf die gleiche Weise bearbeiten wie in Interaktion mit Layout-Elementen beschrieben.

Wenn Sie ein neues Beschriftungs-Element hinzufügen, enthält es einen Standardtext, den Sie über das Bedienfeld Elementeigenschaften ändern können. Abgesehen von den gemeinsamen Eigenschaften, hat dieses Elememt die folgenden Funktionen (siehe Abb. 22.24):

../../../../_images/label_mainproperties.png

Abb. 22.24 Übersicht über die Elementeigenschaften eines Beschriftungs-Elements

22.2.4.1. Haupteigenschaften

Die Gruppe Haupteigenschaften ist der Ort, an dem der Text des Labels angegeben wird. Der Text kann statisch, dynamisch mit Ausdrücken und Variablen und/oder mit HTML formatiert sein. Dynamische Teile einer Beschriftung müssen von [% und %] umgeben sein, damit sie als solche interpretiert und ausgewertet werden.

  • Um Ausdrücke in Beschriftungen zu verwenden, können Sie auf die Schaltfläche Ausdruck einfügen/bearbeiten… klicken, Ihre Formel im Ausdruckseditor bearbeiten und mit OK bestätigen. QGIS fügt dann automatisch die umgebenden Zeichen zu Ihrer Eingabe hinzu.

    Hinweis

    Wenn Sie auf die Schaltfläche Ausdruck einfügen/bearbeiten… klicken, ohne eine Auswahl im Textfeld zu treffen, wird der neue Ausdruck an den vorhandenen Text angehängt. Wenn Sie einen bestehenden Ausdruck ändern möchten, müssen Sie zunächst den gewünschten Teil auswählen.

    Da Karten in der Regel mit einigen allgemeinen Textinformationen (Datum, Autor, Titel, Seitenzahl, …) gefüllt sind, bietet QGIS einen direkten Zugriff auf verschiedene Ausdrücke oder Variablen: Drücken Sie den Dynamischer Text-Button, um sie auszuwählen und in Ihr Beschriftungsfeld einzufügen.

    Tipp

    In der Menüleiste oben in einem Kartenlayout können Sie den Eintrag Element hinzufügen ► Dynamischen Text hinzufügen ► verwenden, um ein neues Beschriftungs-Element zu erstellen, das automatisch mit einem diesen vordefinierten Ausdruck gefüllt wird.

    Es ist möglich, ein dynamisches Label in ein statisches umzuwandeln: Klicken Sie auf den Dropdown-Pfeil neben der Schaltfläche Ausdruck einfügen/bearbeiten… und wählen Sie Statischen Text konvertieren. Alle dynamischen Teile des Inhalts des Etiketts werden ausgewertet und durch ihre aktuellen Werte ersetzt. Sie können dann den resultierenden Text bei Bedarf manuell anpassen.

  • Labels können als HTML-Code interpretiert werden: check checkbox Als HTML darstellen. Sie können jetzt HTML-Tags oder -Stile, eine URL, ein anklickbares Bild, das auf eine Webseite verweist, oder andere HTML-basierte Formatierungen einfügen.

Der folgende Code kombiniert HTML-Rendering mit Ausdrücken, als Beispiel für eine komplexe Beschriftung. Das Ergebnis ist in Abb. 22.25 darstellt:

<html>
 <head>
   <style>
      /* Define some custom styles, with attribute-based size */
      name {color:red; font-size: [% ID %]px; font-family: Verdana; text-shadow: grey 1px 0 10px;}
      use {color:blue;}
   </style>
 </head>

 <body>
   <!-- Information to display -->
   <u>Feature Information</u>
   <ul style="list-style-type:disc">
     <li>Feature Id: [% ID %]</li>
     <li>Airport: <name>[% NAME %]</name></li>
     <li>Main use: <use>[% USE %]</use></li>
   </ul>
   Last check: [% concat( format_date( "control_date", 'yyyy-MM-dd'), ' by <b><i>', @user_full_name, '</i></b>' ) %]

   <!-- Insert an image -->
   <p align=center><img src="path/to/logos/qgis-logo-made-with-color.svg" alt="QGIS icon" style="width:80px;height:50px;"</p>
 </body>
</html>
../../../../_images/label_htmlexpression.png

Abb. 22.25 Nutzung von HTML-Formatierungen bei der erweiterten Gestaltung einer Beschriftung

22.2.4.2. Erscheinungsbild

  • Definieren Sie Schriftart und Stil des Textes, indem Sie auf die Schaltfläche Schriftart klicken. Im Menü Beschriftungsschriftart können Sie einige der Optionen der Formatierung für Textelemente verwenden.

  • Sie können verschiedene horizontale und vertikale Ränder in mm angeben. Dies ist der Abstand vom Rand des Layoutelements. Die Beschriftung kann außerhalb der Grenzen der Beschriftung positioniert werden, z.B. um Beschriftungselemente mit anderen Elementen auszurichten. In diesem Fall müssen Sie negative Werte für den Rand verwenden.

  • Die Text-Ausrichtung ist eine weitere Möglichkeit, Ihr Beschriftung zu positionieren. Das kann sein:

    • Links, Zentriert, Rechts oder Blocksatz für Horizontale Ausrichtung

    • und Oben, Mitte, Unten für Vertikale Ausrichtung.

22.2.4.3. Verwenden von Ausdrücken in Beschriftungs-Elementen

Nachfolgend finden Sie einige Beispiele für Ausdrücke, die Sie verwenden können, um die Beschriftung mit interessanten Informationen zu füllen. Beachten Sie, dass der Teil, der Ausdrücke enthält, im Texteingabefeld in den Haupteigenschaften von [% und %] umgeben sein muss.

  • Anzeige eines Titels mit dem Wert des aktuellen Atlas-Objekts aus „field1 “:

    'This is the map for ' || "field1"
    

    oder, wenn Sie es im Textfeld der Haupteigenschaften eingeben:

    This is the map for [% "field1" %]
    
  • Hinzufügen einer Seitennummerierung für verarbeitete Atlas-Objekte (z.B. Seite 1/10):

    concat( 'Page ', @atlas_featurenumber, '/', @atlas_totalfeatures )
    
  • Gibt den Namen aller Flughäfen in der Region des aktuellen Atlas-Objekts zurück, auf Grundlage des Attributes für die Regionszugehörigkeit (fk_regionId):

    aggregate( layer := 'airports',
               aggregate := 'concatenate',
               expression := "NAME",
               filter := fk_regionId = attribute( @atlas_feature, 'ID' ),
               concatenator := ', '
             )
    

    Oder, wenn eine Beziehung über die Attribute gesetzt wurde:

    relation_aggregate( relation := 'airports_in_region_relation',
                        aggregate := 'concatenate',
                        expression := "NAME",
                        concatenator := ', '
                      )
    
  • Gibt den Namen aller Flughäfen in der Region des aktuellen Atlas-Objekts zurück, auf Grundlage ihrer räumlichen Beziehung:

    aggregate( layer := 'airports',
               aggregate := 'concatenate',
               expression := "NAME",
               filter := contains( geometry( @parent ), $geometry ),
               concatenator := ', '
             )
    

    oder:

    array_to_string( array:= overlay_contains( layer := 'airports',
                                               expression := "NAME" ),
                     delimiter:= ', '
                   )
    
  • Gibt die untere X-Koordinate der Ausdehnung des Elements Map 1 zurück:

    x_min( map_get( item_variables( 'Map 1' ), 'map_extent' ) )
    
  • Ruft die Namen der Layer im aktuellen Layout-Element Map 1 ab und formatiert die Namen zeilenweise:

    array_to_string(
     array_foreach(
      map_get( item_variables( 'Map 1' ), 'map_layers' ), -- retrieve the layers list
      layer_property( @element, 'name' ) -- retrieve each layer name
     ),
     '\n' -- converts the list to string separated by breaklines
    )
    
  • Zeigt eine Liste der Layer mit ihren Nutzungsrechten in einem Layoutelement Map 1. Diese Rechte müssen in den Eigenschaften der Layer auf dem Reiter Metadaten im Bereiche Zugriff eingetragen sein.

    array_to_string( map_credits( 'Map 1', true ) )