ArcGIS for Desktop

  • Dokumentation
  • Preise
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS for Desktop

Ein vollständiges professionelles GIS

ArcGIS for Server

GIS in Ihrem Unternehmen

ArcGIS for 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
  • Preise
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Mehr...

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. Wenn Sie das Kontrollkästchen Erweitert aktivieren, kann eine Funktion mit mehrzeiliger Programmierlogik eingegeben werden.

Feldwerte werden automatisch in Textzeichenfolgen umgewandelt. Wenn Sie also einen Zahlenwert in einer arithmetischen Operation verwenden möchten, oder wenn Sie einen Vergleich durchführen, müssen Sie ihn zurück in einen numerischen Datentyp umwandeln. In den folgenden Beispielen werden zwei Ganzzahlfelder hinzugefügt:

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

Schritte:

  1. Klicken Sie auf der Werkzeugleiste Beschriftung auf die Schaltfläche Beschriftungs-ManagerBeschriftungs-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
Feedback zu diesem Thema?

ArcGIS for Desktop

  • Startseite
  • Dokumentation
  • Preise
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Insider-Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Datenschutz | Rechtliches