Étiquetage dans les tuiles vectorielles

Lors de la création des tuiles vectorielles, les étiquettes activées sur les couches de carte sont incluses dans les tuiles. Cependant, les fonctions d’étiquetage des tuiles vectorielles ne constituent qu’un sous-ensemble des fonctions disponibles dans ArcGIS Pro. Lorsque cela est possible, les propriétés d’étiquetage dans ArcGIS Pro sont converties en propriétés correspondantes dans la spécification des tuiles vectorielles. ArcGIS Pro prend en charge deux moteurs d’étiquetage, mais le Maplex Label Engine convertit davantage de propriétés que celles indiquées ci-dessous.

Classes d'étiquettes

Il est possible de convertir une ou plusieurs classes d’étiquette en tuiles vectorielles. Les fonctions de placement des clients de tuiles vectorielles sont limitées par rapport à celles des moteurs d’étiquetage de ArcGIS Pro. Par exemple, si deux classes d’étiquette d’une couche de points placent les étiquettes avec une position préférée en haut à droite de l’étiquette, les moteurs d’étiquetage de ArcGIS Pro déplacent les étiquettes pour qu’elles apparaissent toutes les deux.

Dans le cas de tuiles vectorielles, les clients placent uniquement l’étiquette de la classe à la priorité la plus élevée à la position indiquée et suppriment l’autre en cas de conflit. Il est donc recommandé de définir des positions d’étiquettes distinctes pour les entités dotées de plusieurs classes d’étiquette afin d’éviter les conflits et minimiser le nombre d’étiquettes supprimées. Le texte empilé répond également souvent aux besoins de plusieurs classes d’étiquette. Pour plus d’informations, consultez la section sur l’étiquetage multi-lignes ci-dessous.

Symbole textuel

Le symbole textuel est converti en propriétés de symbole correspondantes dans la spécification de tuile vectorielle. Les tailles de police sont converties de points en pixels. Les polices sont converties en représentations optimisées dans les ressources de tuile vectorielle et les rappels sont convertis en images-objets. Les propriétés de symbole textuel Halo Symbol Color (Couleur du symbole de halo) et Halo Size (Taille du halo) sont converties en "text-halo-color" et "text-halo-size". Les propriétés de symbole textuel Halo Symbol Outline Width (Largeur de contour du symbole de halo) et Halo Symbol Outline Color (Couleur de contour du symbole de halo) ne sont pas prises en charge dans la spécification et sont ignorées.

La casse du texte spécifiée en minuscule ou majuscule est appliquée au texte de l’étiquette de l’entité. L’espacement des lettres est converti en "text-letter-spacing", les unités étant converties en ems. Les lignes de rattachement ne sont pas prises en charge dans les tuiles vectorielles. Seuls le symbole d’arrière-plan des types de rappels avec des lignes de rattachement est représenté. Par exemple, la couleur et le contour d’une bulle de rappel sont spécifiées, mais pas la ligne de rattachement.

Le texte vertical spécifié comme s’écrivant de droite à gauche avec la propriété Block Progression (Progression de bloc) est converti en mode d’écriture de texte avec vertical pour valeur. Cette propriété est utilisée pour le placement vertical du texte asiatique. Seules les étiquettes dont au moins un caractère est issu d’une plage prenant en charge l’écriture verticale (par exemple, les caractères CJK) peuvent être positionnées verticalement.

Les propriétés de symbole textuel suivantes ne sont pas prises en charge lors de la création de tuiles vectorielles :

  • Les propriétés du symbole textuel, telles que la couleur de contour, la largeur du contour, le trait de soulignement, la mise en forme barrée, la casse du texte pour les petites majuscules, l’ajustement de la position, l’alignement vertical, l’alignement horizontal et l’ombre
  • Les propriétés de mise en forme du symbole textuel, telles que l’espacement des mots, la largeur des lettres, l’espacement des lignes, l’angle de rotation, les ligatures, le crénage, le dessin des glyphes comme géométrie, l’extrapolation des lignes de base, les indications relatives aux glyphes et le mode de compatibilité
  • Les propriétés de paragraphe du symbole textuel, telles que les traits d’union conditionnels, le retrait de première ligne, le retrait avant et le retrait après
  • Les propriétés d’internationalisation du symbole textuel, telles que la direction du texte, l’orientation des glyphes la langue régionale et l’encodage de la police

Expressions d'étiquette

Les expressions d’étiquette simples de ligne unique ou avancées dans les langages Arcade, VBScript, JScript, et Python sont prises en charge dans les tuiles vectorielles. Les requêtes SQL utilisées pour étiqueter un sous-ensemble d’entités en fonction de la valeur d’un champ sont également prises en charge. Les expressions d’étiquette sont prétraitées et stockées sous forme de valeur de propriété dans les tuiles vectorielles avec le nom de la propriété de "_name". Si plusieurs classes d’étiquette sont étiquetées, le nom de la propriété contient un nombre correspondant à l’ordre des classes d’étiquette "_name1", "_name2", etc.

Les balises de mise en forme d’étiquette ne sont pas prises en charge et sont supprimées du texte de l’étiquette dans les tuiles vectorielles.

Étiquetage multi-lignes

Il est possible de configurer les étiquettes Maplex pour qu’elles s’empilent de manière dynamique en fonction des caractères présents dans l’étiquette et de l’espace disponible sur la carte. Vous pouvez également configurer les étiquettes Maplex pour forcer l’étiquetage multi-lignes en fonction de la présence de caractères spécifiés. Les tuiles vectorielles ne prennent pas en charge l’étiquetage multi-lignes dynamique, mais prennent en charge l’étiquetage multi-lignes forcé. La création de tuiles vectorielles applique l’étiquetage multi-lignes forcé au texte écrit de la propriété du nom de l’entité étiquetée.

Abréviation des étiquettes

Il est possible de configurer les étiquettes Maplex pour qu’elles soient abrégées de manière dynamique en fonction du texte qu’elles contiennent et de l’espace disponible sur la carte. Sinon, les entrées du dictionnaire d’abréviations Maplex via l’option Translate (Translation) sont appliquées quel que soit l’espace. Les tuiles vectorielles ne prennent pas en charge les abréviations dynamiques, mais prennent en charge les abréviations par conversion. La création de tuiles vectorielles applique les abréviations par conversion au texte écrit de la propriété du nom de l’entité étiquetée.

Placement des étiquettes

Les options de placement des étiquettes suivantes sont disponibles :

Point placement (Placement du point)

La création de tuiles vectorielles définit la position de l’étiquette, "text-anchor", en fonction de la position par défaut indiquée dans les propriétés de placement d’étiquette. Si un style de placement fixe est utilisé dans Maplex ou dans Standard Label Engine, le placement est apparié. Si un style de placement "Best Position" est utilisé, la position du rang le plus élevé est spécifiée comme emplacement dans les tuiles vectorielles. L’étiquette est décalée de l’entité grâce à la propriété "text-offset", qui tient compte de la taille de symbole et du décalage spécifié dans le placement des étiquettes. Si une rotation est appliquée au texte, la valeur de la rotation est définie pour la propriété "text-rotate". Si le texte fait l’objet d’une rotation via une expression ou un champ de rotation, ce dernier ainsi que d’autres éventuelles rotations supplémentaires sont définis pour la propriété "text-rotate". Si les paramètres d’étiquette de la carte sont configurés pour faire pivoter les étiquettes lorsque la carte pivote, ce paramètre est appliqué pour les étiquettes de points avec la propriété "text-rotation-alignment" définie sur "map" et la propriété "text-keep-upright" définie sur false.

Voici un exemple illustrant les propriétés d’étiquetage d’une couche de points pour un texte placé directement en haut d’un point (ancre en bas) :

"id": "U.S. Cities",
"type": "symbol",
"source": "esri",
"source-layer": "U.S. Cities",
"layout": {
    "icon-image": "U.S. Cities",
    "icon-allow-overlap": true,
    "text-font": ["Tahoma Regular"],
    "text-size": 13.3333,
    "text-anchor": "bottom",
    "text-offset": [0, 0.065],
    "text-field": "{_name}",
    "text-optional": true

Line placement (Placement de la ligne)

Seul le placement courbe standard est possible pour les étiquettes de ligne dans les tuiles vectorielles. Tous les autres styles de placement de ligne sont convertis en placement courbe standard. Les placements des étiquettes décalées sur les lignes sont convertis vers les tuiles vectorielles si le décalage est contraint sur un seul côté de la ligne. Une valeur de décalage est appliquée pour déplacer le texte du bon côté. Notez que les étiquettes courbées sont généralement placées sous forme de texte droit si le segment est droit. La création de tuiles vectorielles crée des géométries secondaires pour lisser le placement.

Voici un exemple de placement de ligne sur la ligne :

"id": "U.S. National Transportation Atlas Interstate Highways/label/Class 1",
"type": "symbol",
"source": "esri",
"source-layer": "U.S. National Transportation Atlas Interstate Highways/label",
"layout": {
  "symbol-placement": "line",
  "symbol-spacing": 1000,
  "text-font": ["Tahoma Regular"],
  "text-size": 13.3333,
  "text-field": "{_name}",
  "text-optional": true
 },

Placement du polygone

Les placements de type courbe, horizontal, droit et fluvial sont pris en charge. Le placement fluvial génère un placement identique à celui du placement courbe. La création de tuiles vectorielles génère, si nécessaire, des géométries secondaires à étiqueter afin de correspondre au style de placement demandé. Si les paramètres d’étiquette de la carte sont configurés pour faire pivoter les étiquettes lorsque la carte pivote, ce paramètre est appliqué pour les étiquettes de polygone avec la propriété de style "text-rotation-alignment" définie sur « carte » et la propriété "text-keep-upright" définie sur faux.

Dans le cas d’un placement de base au centre d’un polygone, aucune propriété de position n’est spécifiée, comme dans l’exemple ci-dessous :

"id": "U.S. Counties (Generalized)/label/Class 1",
"type": "symbol",
"source": "esri",
"source-layer": "U.S. Counties (Generalized)/label",
"layout": {
  "text-font": ["Tahoma Regular"],
  "text-size": 13.3333,
  "text-field": "{_name}",
  "text-optional": true
},

Résolution des conflits

Le placement des étiquettes Maplex comporte de nombreux paramètres de résolution des conflits, mais seuls deux d’entre eux sont pris en charge pour les tuiles vectorielles.

Pour les étiquettes de ligne, Repeat > Minimum interval (Répéter > intervalle minimal) est converti en propriété "symbol-spacing" avec des unités en pixels. L’option Unplaced labels > Never remove (Étiquettes non placées > ne jamais supprimer), qui autorise la superposition des étiquettes lorsqu’elle est activée, est convertie en propriété "text-allow-overlap" avec une valeur vraie.

Rubriques connexes