ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Construction d'expressions d'étiquettes

  • Exemples d'expressions :

Vous pouvez utiliser des expressions d’étiquettes pour ajuster la mise en forme de vos étiquettes. Outre l’insertion de caractères et de fonctions de script, vous pouvez utiliser des balises de mise en forme ArcGIS dans les expressions d’étiquettes. Il s'agit de caractères spéciaux permettant de modifier l'aspect de tout ou partie de vos étiquettes. Par exemple, vous pouvez utiliser la balise de formatage en gras pour faire apparaître en gras la première ligne d'une étiquette empilée à plusieurs lignes.

Pour en savoir plus sur la mise en forme des étiquettes avec les balises de mise en forme de texte

Une expression d’étiquette est limitée à une seule ligne de code, à moins que vous cochiez la case Advanced (Avancé) dans la boîte de dialogue Label Expression (Propriétés d’étiquette). Cochez la case Advanced (Avancé) pour saisir une fonction contenant une logique de programmation et couvrant plusieurs lignes de code.

Les valeurs de champ sont automatiquement redéfinies en chaînes de texte. Par conséquent, pour utiliser une valeur numérique dans une opération arithmétique, ou si vous effectuez une comparaison, vous devez la redéfinir en type de données numériques.

Remarque :

Les valeurs NULL ne sont pas redéfinies en chaînes de texte. Elles sont transmises à l’expression en tant que valeurs NULL.

Les exemples suivants ajoutent deux champs de nombre entier :

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

Étapes :

  1. Cliquez sur le bouton Label Manager (Gestionnaire d’étiquettes) gestionnaire d'étiquettes de la barre d’outils Labeling (Étiquetage).
  2. Cliquez sur une classe d’étiquettes dans la liste Label Classes (Classes d’étiquettes).
  3. Cliquez sur le bouton Expression.
  4. Sélectionnez un langage dans le menu Analyseur.
  5. Saisissez une expression Python, VBScript ou JScript. Vous pouvez également créer une expression en double-cliquant sur le champ afin de l’ajouter à l’expression ou en sélectionner le champ et en cliquant sur le bouton Append (Ajouter) afin d’ajouter le champ à la fin de l’expression en le séparant par un espace.

    Les champs se trouvent entre crochets [ ], quel que soit le type de données de la source de données de la couche.

    Entrez éventuellement des balises de mise en forme de texte ArcGIS dans la zone Expression pour appliquer la mise en forme à une partie de votre texte d’étiquette.

    Si l'expression doit couvrir plusieurs lignes de code, activez la case à cocher Avancé et entrez les propriétés d'étiquette.

  6. Cliquez sur Verify (Vérifier) pour vous assurer qu’il n’y a pas d’erreur de syntaxe.
  7. Cliquez sur OK dans toutes les boîtes de dialogue.
Astuce :

Les propriétés d’étiquette classiques et avancées peuvent être enregistrée en tant que fichiers d’expressions d’étiquette (.lxp), qui peuvent être chargés dans d’autres couches ou cartes.

Exemples d'expressions :

Voici quelques exemples d'expressions d'étiquettes :

  • Concaténez une chaîne à la valeur d'un champ. L'expression suivante permet, par exemple, de créer une étiquette en faisant précéder la valeur du champ PARCELNO par le texte "Parcel no:" :
    Python
    "Parcel no: " + [PARCELNO]
    
    VBScript
    "Parcel no: " & [PARCELNO]
    
    JScript
    "Parcel no: " + [PARCELNO]
    
  • Arrondissez un nombre décimal à un nombre défini de décimales. Par exemple, cette expression affiche un champ Zone arrondi à un chiffre après la virgule.
    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);
    }
    
  • Convertissez toutes vos étiquettes textuelles en majuscules ou en minuscules. Par exemple, l'expression suivante convertit un champ Nom en minuscules:
    Python
    def FindLabel ( [NAME] ):
      S = [NAME]
      S = S.lower()
      return S
    
    VBScript
    LCase ([NAME])
    
    JScript
    [NAME].toLowerCase()
    
  • Convertissez vos étiquettes textuelles à la casse appropriée. Par exemple, l'expression suivante remplace la casse d'un champ Nom en majuscules par une autre casse appropriée :
    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;
    }
    
  • Créez du texte empilé. Par exemple, cette expression crée une étiquette avec le champ Nom et les deux champs d'adresse sur des lignes distinctes :
    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]
    
  • Créez du texte empilé en fonction du texte d'un champ. Par exemple, l'expression suivante utilise la virgule pour définir l'emplacement de la pile :
    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;
    }
    
  • Mettez en forme vos étiquettes. Par exemple, cette expression affiche l'étiquette sous forme de devise :
    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);
    }
    
  • Définissez une instruction conditionnelle if-else. Ces fonctions permettent d'étiqueter les villes avec des noms dans une police rouge de grande taille si leur population est supérieure ou égale à 250 000 habitants et dans la police par défaut des étiquettes si la population est inférieure à 250 000 habitants :
    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]);
    }
    
Remarque :

Pour étiqueter un sous-ensemble d'entités selon une valeur de champ, créez la requête SQL dans la classe d'étiquettes plutôt que via les propriétés d'étiquette.

  • Python Language Reference
  • Référence de langage Microsoft VBScript
  • Microsoft JScript Language Reference

(Ces informations sont hébergées sur des pages web non créées, non possédées, ni conservées par Esri. Esri ne peut en aucun cas garantir la disponibilité de ces pages et ne saurait être tenu responsable quant à la nature et au contenu de ces pages.)

Rubriques connexes

  • Concepts essentiels d'étiquetage
  • A propos de l'affichage des étiquettes
  • A propos de la définition du texte des étiquettes
  • Utilisation des balises de mise en forme du texte

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS

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

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2021 Esri. | Confidentialité | Légal