Signalisation aéroportuaire

Quant aux étiquettes de panneau aéroportuaire, elles peuvent être mises en forme à l’aide de la balise de mise en forme Background (Arrière-plan). Cette balise laisse toute latitude pour modifier l’apparence des arrière-plans du texte dans la signalétique aéroportuaire.

L’image ci-dessous représente un panneau aéroportuaire composé de deux arrière-plans, l’un étant contouré et l’autre non.

Panneau aéroportuaire créé avec des balises de mise en forme

Pour créer des étiquettes de panneau aéroportuaire, procédez comme suit :

  1. Assurez-vous que les étiquettes sont activées pour la couche concernée.
  2. Utilisez la police par défaut, Tahoma Regular. Définissez la taille de l’étiquette sur 24 points.
  3. Utilisez les étiquettes de mise en forme pour créer l’arrière-plan de l’étiquette.
    • Exemple simple d’expression d’étiquette pour placer des balises de mise en forme autour du texte. Il s’agit de l’étiquette 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>"

    • Exemple plus complexe d’expression d’étiquette dont la logique permet d’extraire l’étiquette d’un champ de données et de déterminer les couleurs de l’arrière-plan et du contour d’après ces informations.

      Cette expression s’appuie sur les données mises en forme suivant les exemples ci-après. Le chiffre entre crochets ([ ]) indique la mise en forme appliquée au texte. Ainsi, la valeur [3] correspond à un texte jaune sur un arrière-plan noir.

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

      Expression d’étiquette Arcade
      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. Définissez les marges Rappel d’arrière-plan.
    1. Dans l’onglet Labeling (Étiquetage), dans le groupe Label Placement (Placement des étiquettes), cliquez sur le lanceur Label Placement Properties (Propriétés de placement d’étiquette) Lanceur.
    2. Dans la fenêtre Labeling (Étiquetage), cliquez sur Symbol (Symbole) et sur l’onglet General (Général) Généraux.
    3. Développez Callout (Rappel).
    4. Cliquez sur le menu déroulant Callout (Rappel) et sélectionnez Background (Arrière-plan).
    5. Définissez les marges comme suit :
      • Left margin (Marge de gauche) - 10 pt
      • Right margin (Marge de droite) - 10 pt
      • Top margin (Marge du haut) - 5 pt
      • Bottom margin (Marge du bas) - 5 pt

Rubriques connexes