ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Erstellen von Beschriftungsausdrücken

  • Beispielausdrücke

Sie können mit Beschriftungsausdrücken die Formatierung Ihrer Beschriftungen anpassen. Sie können Zeichen und Scripting-Funktionen einfügen und Formatierungs-Tags von ArcGIS in Beschriftungsausdrücken verwenden. Dabei handelt es sich um spezielle Zeichen, mit denen Sie das Aussehen eines Teiles oder der gesamten Beschriftung ändern können. Sie können zum Beispiel das Tag für die Fettformatierung verwenden, um die erste Zeile einer gestapelten, mehrzeiligen Beschriftung fett zu formatieren.

Weitere Informationen zum Formatieren von Beschriftungen mit Textformatierungs-Tags

Ein Beschriftungsausdruck ist auf eine einzige Codezeile beschränkt, es sei denn, Sie aktivieren im Dialogfeld Beschriftungsausdruck das Kontrollkästchen Erweitert. Aktivieren Sie das Kontrollkästchen Erweitert, um eine Funktion mit mehrzeiliger Programmierlogik einzugeben.

Feldwerte werden automatisch in Textzeichenfolgen umgewandelt. Wenn Sie also einen Zahlenwert in einer arithmetischen Operation verwenden möchten oder einen Vergleich durchführen, müssen Sie diesen in einen numerischen Datentyp umwandeln.

Hinweis:

NULL-Werte werden nicht in Textzeichenfolgen umgewandelt. Sie werden als NULL an den Ausdruck übergeben.

In den folgenden Beispielen werden zwei ganzzahlige Felder hinzugefügt:

Python
int([FIELD1]) + int([FIELD2])
VBScript
cint([FIELD1]) + cint([FIELD2])
JScript
parseInt([FIELD1]) + parseInt([FIELD2])

Schritte:

  1. Klicken Sie in der Werkzeugleiste Beschriftung auf die Schaltfläche Beschriftungs-Manager Beschriftungs-Manager.
  2. Klicken Sie in der Liste Beschriftungsklassen auf eine Beschriftungsklasse.
  3. Klicken Sie auf die Schaltfläche Ausdruck.
  4. Wählen Sie im Menü Parser eine Sprache aus.
  5. Geben Sie einen Python-, VBScript- oder JScript-Ausdruck ein. Sie können auch einen Ausdruck erstellen, indem Sie auf das Feld doppelklicken, um es dem Ausdruck hinzuzufügen, oder indem Sie das Feld auswählen und auf die Schaltfläche Anhängen klicken, um das Feld an das Ende des Ausdrucks durch ein Leerzeichen getrennt anzufügen.

    Felder werden in eckige Klammern [ ] eingeschlossen, unabhängig vom Datentyp für die Datenquelle des Layers.

    Geben Sie optional im Feld Ausdruck ArcGIS-Textformatierungs-Tags ein, um einem Teil des Beschriftungstextes ein bestimmtes Format zuzuweisen.

    Wenn der Ausdruck mehrere Codezeilen umfasst, aktivieren Sie das Kontrollkästchen Erweitert, und geben Sie den Beschriftungsausdruck ein.

  6. Klicken Sie auf Überprüfen, um sicherzustellen, dass keine Syntaxfehler vorliegen.
  7. Klicken Sie in jedem der Dialogfelder auf OK.
Tipp:

Sie können sowohl normale als auch erweiterte Beschriftungsausdrücke als Beschriftungsausdrucksdateien (.lxp) speichern, die in andere Layer oder Karten geladen werden können.

Beispielausdrücke

Nachfolgend sind einige Beispiele für Beschriftungsausdrücke aufgeführt:

  • Verbinden einer Zeichenkette mit einem Wert in einem Feld. Mit dem folgenden Ausdruck wird beispielsweise eine Beschriftung erstellt, bei der dem Wert des Feldes "PARCELNO" der Text "Parcel no:" vorangestellt wird:
    Python
    "Parcel no: " + [PARCELNO]
    
    VBScript
    "Parcel no: " & [PARCELNO]
    
    JScript
    "Parcel no: " + [PARCELNO]
    
  • Runden einer Dezimalzahl auf eine festgelegte Anzahl von Dezimalstellen. Mit dem folgenden Ausdruck wird beispielsweise ein Feld "Fläche" auf eine Dezimalstelle gerundet angezeigt:
    Python
    round(float([AREA]), 1)
    
    VBScript
    Round ([AREA], 1)
    
    JScript
    function FindLabel ( [AREA] ) {
    var ss;
    var num= parseFloat([AREA]);
    ss =  num.toFixed(1);
      return (ss);
    }
    
  • Konvertieren aller Textbeschriftungen in Groß- oder in Kleinbuchstaben. Mit dem folgenden Ausdruck wird beispielsweise das Feld "Name" in Kleinbuchstaben formatiert:
    Python
    def FindLabel ( [NAME] ):
      S = [NAME]
      S = S.lower()
      return S
    
    VBScript
    LCase ([NAME])
    
    JScript
    [NAME].toLowerCase()
    
  • Konvertieren der Textbeschriftungen in Groß- bzw. Kleinschreibung. Der folgende Ausdruck wandelt beispielsweise ein Feld "Namen" mit ausschließlich Großbuchstaben in die ordnungsgemäße Schreibung um:
    Python
    def FindLabel ( [NAME] ):
      S = [NAME]
      S = S.title()
      return S
    
    VBScript
    Function FindLabel ( [NAME] ) FindLabel = UCase(Left([NAME],1)) & LCase(Right([NAME], Len([NAME]) -1))
    End Function
    
    JScript
    function FindLabel ( [NAME] ) {
    var str = [NAME];
    var iLen = String(str).length;
    var upper = (str.substring(0,1)).toUpperCase();
    var lower = (str.substring(1, iLen)).toLowerCase() return upper + lower;
    }
    
  • Erstellen eines gestapelten Textes. Mit dem folgenden Ausdruck wird beispielsweise eine Beschriftung mit dem Feld "Namen" und den zwei Adressenfeldern in jeweils unterschiedlichen Zeilen erstellt:
    Python
    "Name: " + [NAME] + '\n' + [ADDRESS_1] + '\n' + [ADDRESS_2]
    
    VBScript
    "Name: " & [NAME] & vbCrLf& [ADDRESS_1] & vbCrLf& [ADDRESS_2]
    
    JScript
    "Name: " + [NAME] + "\r" + [ADDRESS_1] + "\r" + [ADDRESS_2]
    
  • Erstellen von gestapeltem Text basierend auf dem Text in einem Feld. In folgendem Ausdruck wird beispielsweise mit einem Komma angegeben, wo das Stapeln ausgeführt wird:
    Python
    def FindLabel ( [LABELFIELD] ):
      S = [LABELFIELD]
      S = S.replace(', ', '\n')
      return S
    
    VBScript
    Function FindLabel ( [LABELFIELD] ) FindLabel = replace([LABELFIELD], ", ", vbnewline)
    End Function
    
    JScript
    function FindLabel ( [LABELFIELD] ) {
    var r, re;
    var str = [LABELFIELD];
    re = /,/g;
    r = str.replace(re, "\r");
    return r;
    }
    
  • Formatieren Ihrer Beschriftungen. Mit dem folgenden Ausdruck wird die Beschriftung beispielsweise als Währung angezeigt:
    Python
    def FindLabel ( [MAXIMUM_OC], [RATE] ):
      import locale
      locale.setlocale(locale.LC_ALL, '')
      S = locale.currency(float([MAXIMUM_OC]) * float([RATE]))
      return S
    
    VBScript
    "Occupancy Revenue: " & FormatCurrency ([MAXIMUM_OC] * [RATE])
    
    JScript
    function FindLabel ( [MAXIMUM_OC], [RATE] ) {
    var ss;
    var num1 = parseFloat([MAXIMUM_OC]);
    var num2 = parseFloat([RATE]);
    var num3 = num1 * num2 ss =  num3.toFixed(2);
      return ("$" + ss);
    }
    
  • Angeben einer bedingten If-Else-Anweisung. Mit diesen Funktionen werden Städte mit ihrem Namen in einer großen, roten Schriftart beschriftet, wenn sie mindestens 250.000 Einwohner haben. Liegt die Anzahl der Einwohner unter 250.000, werden sie mit der Standardschriftart beschriftet:
    Python
    def FindLabel ( [NAME], [POPULATION] ):
      if long([POPULATION]) >= 250000:
        return "<CLR red='255'><FNT size = '14'>" + [NAME] + "</FNT></CLR>"
      else:
        return [NAME]
    
    VBScript
    Function FindLabel ([NAME], [POPULATION])  if (cLng([POPULATION]) >= 250000) then   FindLabel = "<CLR red='255'><FNT size = '14'>" + [NAME] + "</FNT></CLR>"
      else	 FindLabel = [NAME]  end if
    End Function
    
    JScript
    function FindLabel ( [NAME], [POPULATION]  ) {
    if (parseFloat([POPULATION]) >= 250000){
    return ("<CLR red='255'><FNT size = '14'>" + [NAME] + "</FNT></CLR>");
    }
    else return ([NAME]);
    }
    
Hinweis:

Um eine Teilmenge von Features basierend auf einem Feldwert zu beschriften, erstellen Sie die SQL-Abfrage in der Beschriftungsklasse und nicht mit einem Beschriftungsausdruck.

  • Python-Sprachreferenz (auf Englisch)
  • Microsoft-Referenz zur VBScript-Sprache (auf Englisch)
  • Microsoft-Referenz zur JScript-Sprache (auf Englisch)

(Diese Informationen befinden sich auf Webseiten anderer Eigentümer, die nicht von Esri erstellt und gepflegt werden. Esri kann keinerlei Garantie für die Verfügbarkeit dieser Webseiten geben und übernimmt für deren Inhalt keine Verantwortung.)

Verwandte Themen

  • Grundlegende Beschriftungskonzepte
  • Anzeigen von Beschriftungen
  • Festlegen von Beschriftungstext
  • Verwenden von Textformatierungs-Tags

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | Rechtliches