Flughafenschilder

Die Beschriftungen von Flughafenschildern können mit dem Hintergrund-Formatierungs-Tag (Background) formatiert werden. Dieses Tag ermöglicht eine flexible Änderung der Darstellung des Texthintergrunds von Flughafenschildern.

Das folgende Bild zeigt ein Flughafenschild, das aus zwei verschiedenen Hintergründen zusammengesetzt ist, einer mit Umrisslinie und einer ohne.

Mit Formatierungs-Tags erstelltes Flughafenschild

Führen Sie die folgenden Schritte aus, um Beschriftungen für Flughafenschilder zu erstellen:

  1. Stellen Sie sicher, dass für den Layer Beschriftungen aktiviert sind.
  2. Verwenden Sie die Standardschriftart Tahoma Regular. Ändern Sie die Größe der Beschriftung in 24 Punkte.
  3. Erstellen Sie mit den Formatierungs-Tags den Hintergrund der Beschriftung.
    • Es folgt ein einfacher Beschriftungsausdruck als Beispiel für das Platzieren von Formatierungs-Tags um den Text. Die Beschriftung lautet A2 26-8.

      "<CLR red='255' green='236' blue='0' alpha='100'><BGD red='0' green='0' blue='0' alpha='100' outline_red='255' outline_green='236' outline_blue='0' outline_alpha='100' width='1' padding='-2'>" + "A2 " + "</BGD></CLR><CLR red='255' green='255' blue='255' alpha='100'><BGD red='230' green='0' blue='0' alpha='100'>" + " 26-8" + "</BGD></CLR>"

    • Hier finden Sie ein komplexeres Beispiel für einen Beschriftungsausdruck mit Logik, über die die Beschriftung aus einem Feld in den Daten abgerufen wird und der Hintergrund und die Umrissfarben aus diesen Informationen abgeleitet werden.

      Für diesen Ausdruck ist es erforderlich, dass die Daten gemäß den folgenden Beispielen formatiert sind. Die Ziffer in Klammern ([ ]) gibt die verwendete Formatierung für den Text an. Der Wert [3] steht für gelben Text auf einem schwarzen Hintergrund.

      • [4]9-27[3]B10
      • [7]5
      • [12]
      • [4]9-27[3]B4[0]56
      • [0]←B4

      Arcade-Beschriftungsausdruck
      var yellow = [255,236,0,100]
      var red    = [230,0,0,100]
      var blue   = [0,180,230,100]
      var black  = [0,0,0,100]
      var white  = [255,255,255,100]
      var none   = [0,0,0,0]
      var textFontName = "Frutiger";
      var textFontStyle = "65 Bold";
      var signFontName = "Esri Airport Sign"
      var signFontStyle = ""
      function FormatBO(background, outline, width, padding, txt){
        var attr = ""
        if(background != none && count(background) == 4){
         attr += " red='"   + background[0] + "'"
          attr += " green='" + background[1] + "'"
          attr += " blue='"  + background[2] + "'"
          attr += " alpha='" + background[3] + "'"
        }
        if(outline != none && count(outline) == 4){
          attr += " outline_red='"    + outline[0] + "'"
          attr += " outline_green='"  + outline[1] + "'"
          attr += " outline_blue='"   + outline[2] + "'"
          attr += " outline_alpha='"  + outline[3] + "'"
          attr += " width='" + width + "'"
          attr += " padding='" + padding + "'"
        }
        return "<BGD" + attr + ">" + txt + "</BGD>"
      }
      function SetTextColor(rgba, txt)
      {
        var r = rgba[0]
        var g = rgba[1]
        var b = rgba[2]
        var a = rgba[3]
        return "<CLR red='" + r + "' green='" + g + "' blue='" + b + "' alpha='" + a + "'>" + txt + "</CLR>"; 
      }
      function FormatFont(label, name, style, size)
      {
        var tagName = iif(name=="", "", " NAME='"+name+"'")
        var tagStyle = iif(style=="", "", " STYLE='"+style+"'")
        var tagSize = iif(size==0, "", " SIZE='"+size+"'")
        return "<FNT" + tagName + tagStyle + tagSize + ">" + label + "</FNT>"
      }
      var testExpr = $feature.AIRPORTSIGNMSGFRONT
      // e.g. "[0]←D[3]F"
      var splitExpr = Split(testExpr,"[")
      // e.g. ["", "0]←D ", "3]F"]
      var typeTextPairArray = [["",""]]
      for (var index in splitExpr){
        var pair = Split(splitExpr[index],"]")
        typeTextPairArray[index] = pair
      } 
      // e.g. [[""], ["0","←D"], ["3","F"]]
      var expression = "";
      var indices = [0]
      for (var index in typeTextPairArray){
        indices[index] = index;
        var pairCount = count(typeTextPairArray[index])
        if(pairCount != 2){
          expression += iif(pairCount >= 1, typeTextPairArray[index][0], "")
          continue;
        }
        
        var type = number(typeTextPairArray[index][0])
        var newText = typeTextPairArray[index][1]
        if(type == 0) // "DIRECTION")
          expression += SetTextColor(black, FormatBO(yellow, none, 0, 0, newText));
        else if(type == 1) // "INFO_ACFT")
          expression += SetTextColor(black, FormatBO(yellow, none, 0, 0, FormatFont(newText, textFontName, textFontStyle, 0)));
        else if(type == 2) //"INFO_VEH")
          expression += SetTextColor(black, FormatBO(yellow, none, 0, 0, FormatFont(newText, textFontName, textFontStyle, 5)));
        else if(type == 3) // "LOCATION")
          expression += SetTextColor(yellow, FormatBO(black, yellow, 1, -2, FormatFont(" " + newText + " ", textFontName, textFontStyle, 0)));
        else if(type == 4) // "MANDATORY")
          expression += SetTextColor(white, FormatBO(red, none, 0, 0, FormatFont(newText, textFontName, textFontStyle, 0)));
        else if(type == 5) // "NO_ENTRY")
          expression += SetTextColor(red, FormatBO(white, none, 0, 0, FormatFont("O", signFontName, "", 16)));
        else if(type == 6) // "RWY_CRITICAL")
          expression += SetTextColor(black, FormatBO(yellow, none, 0, 0, FormatFont("IIIII", signFontName, "", 0)));
        else if(type == 7) // "RWY_DIST_REMAIN")
          expression += SetTextColor(white, FormatBO(black, none, 0, 0, FormatFont(newText, textFontName, textFontStyle, 0)));
        else if(type == 8) //"RWY_SAFETY")
          expression += SetTextColor(black, FormatBO(yellow, none, 0, 0, FormatFont("RRRRR", signFontName, "", 0)));
        else if(type == 9) //"TAXIWAY_END")
          expression += SetTextColor(black, FormatBO(yellow, none, 0, 0, FormatFont("TTT", signFontName, "", 0)));
        else if(type == 10) //"TERMINAL")
          expression += SetTextColor(white, FormatBO(blue, none, 0, 0, FormatFont(newText, textFontName, textFontStyle, 0)));
        else if(type == 11) //"VEH_STOP")
          expression += SetTextColor(red, FormatBO(white, none, 0, 0, FormatFont("S", signFontName, "", 16)));
        else if(type == 12) //"VEH_YIELD")
          expression += SetTextColor(red, FormatBO(white, none, 0, 0, FormatFont("Y", signFontName, "", 16)));
        else
          expression += newText
      }
      return expression
  4. Legen Sie die Ränder für die Hintergrund-Bannerbeschriftung fest.
    1. Klicken Sie auf der Registerkarte Beschriftung in der Gruppe Beschriftungsplatzierung auf das Startprogramm Platzierungseigenschaften für eine Beschriftung Startprogramm.
    2. Klicken Sie im Bereich Beschriftung auf Symbol und dann auf die Registerkarte Allgemein Allgemein.
    3. Erweitern Sie Bannerbeschriftung.
    4. Klicken Sie auf das Dropdown-Menü Bannerbeschriftung, und wählen Sie Hintergrund aus.
    5. Legen Sie folgende Ränder fest:
      • Linker Rand: 10 Pkt.
      • Rechter Rand: 10 Pkt.
      • Oberer Rand: 5 Pkt.
      • Unterer Rand: 5 Pkt.

Verwandte Themen