Étiquettes tuilées en annotations (Cartographie)

Synthèse

Convertit des étiquettes en annotations pour les couches d’une carte en fonction d’une couche d’index de polygones.

L'outil divise une carte en tuiles, puis crée tour à tour une annotation pour chaque tuile. Cet outil est utile pour convertir un grand nombre d'étiquettes en annotations. La couche d’index surfacique peut être générée par l’outil Structure de tuilage du cache de serveur de carte en polygones ou Entités de l’index du quadrillage ou toute autre classe d’entités surfaciques qui recouvre la zone où vous souhaitez créer l’annotation.

Utilisation

  • Les étiquettes peuvent être converties en annotations pour une couche unique ou pour toute la carte. Si l’option de couche unique est choisie, la couche doit être spécifiée et se trouver sur la carte.

  • Les plages d'échelle des classes d'étiquettes sont respectées. Lorsque l’outil génère l’annotation pour une échelle de référence spécifique, il ne convertit que les classes d’étiquettes activées et visibles à cette échelle.

    Remarque :

    Les plages d’échelle des classes d’étiquettes sont définies dans les propriétés de la couche dans ArcGIS Pro. Une fois que vous avez configuré les propriétés d’étiquette, enregistrez le projet avant d’exécuter cet outil.

  • Si vous sélectionnez des tuiles avant d’exécuter l’outil, l’annotation sera créée seulement pour les tuiles sélectionnées.

  • Pour mettre à jour l’annotation de quelques tuiles dans la couche d’index de polygones, sélectionnez d’abord les entités annotations dotées de la valeur de champ TileID spécifique et supprimez-les, puis sélectionnez les entités surfaciques et réexécutez l’outil.

  • Cet outil génère une série de groupes de couches. Un groupe de couches contiendra un groupe de couches pour chaque échelle de référence pour laquelle l'annotation a été créée.

  • Dans la fenêtre Catalogue ou dans ModelBuilder, vous pouvez utiliser l’outil Enregistrer dans un fichier de couche pour enregistrer le groupe de couches en sortie dans un fichier de couche.

  • Un groupe de couches existant sera remplacé si le même nom de couche est spécifié et si vous autorisez de manière explicite le remplacement de sorties.

  • Si la carte contient des noms de classe d’entités en double, un nombre est ajouté à l’annotation à la suite du nom de la classe d’entités (par exemple, Cities01Anno10000, Cities02Anno10000, et ainsi de suite).

  • Les classes d’entités annotations ne sont pas remplacées si un suffixe d’extension est spécifié. Dans ce cas, un nombre est ajouté au suffixe de classe d’entités annotations (par exemple, CitiesAnno10000, CitiesAnno10000_1 et ainsi de suite).

  • L’échelle de référence des classes d’entités annotations peut être spécifiée à l’aide de l’une des méthodes suivantes :

    • Utilisez un champ de la couche d’index de polygones pour déterminer l’échelle de référence des classes d’entités annotations en sortie. Utilisez-la si vous envisagez de créer l'annotation pour divers niveaux d'échelle.
    • Indiquez de manière explicite une valeur d’échelle de référence. Toutes les classes d'entités annotations utiliseront cette échelle de référence. Si une échelle de référence est définie dans la carte, elle constituera la valeur en entrée par défaut de l’outil. Si aucune échelle de référence n’est définie dans la carte, l’échelle courante fournit la valeur par défaut.

  • Si vous utilisez une couche d’index de polygones créée par l’outil Structure de tuilage du cache de serveur de carte en polygones, utilisez le champ Tile_Scale pour la valeur de paramètre Champ Échelle de référence. Une classe d’entités annotations est créée pour chaque combinaison couche/Tile_Scale.

  • Si vous générez une annotation à diverses échelles de référence, créez la carte pour chacune de ces échelles et ne définissez pas d’échelle de référence.

  • Si un champ de système de coordonnées de la couche d’index surfacique est renseigné, l’annotation de chaque tuile est projetée dans ce système de coordonnées à des fins de dessin et de placement.

  • Si le paramètre Create feature-linked annotation (Créer des annotations liées aux entités) n’est pas coché, le paramètre Convert labels from all layers to a single output feature class (Convertir les étiquettes de toutes les couches en une classe d’entités de sortie unique) peut être utilisé pour créer une classe d’entités annotations unique pour toute la carte.

    Lorsque vous créez une classe d’entités annotations unique pour la carte, les classes d’étiquettes ayant des propriétés similaires peuvent être combinées en une seule classe d’annotations à l’aide du paramètre Combiner les classes d’étiquettes similaires.

  • Une annotation liée à une entité est associée à une entité spécifique dans une autre classe d'entités de la géodatabase. Lorsque vous créez la classe d’entités annotations liées, le système génère automatiquement une classe de relations.

  • Lorsque vous créez une annotation liée aux entités, l'espace de travail en sortie doit être le même que celui auquel les classes d'entités sont liées.

  • Si l’espace est insuffisant, certaines étiquettes peuvent ne pas s’afficher sur la carte. Pour convertir ces étiquettes, cochez la case Generate Unplaced Annotation (Générer une annotation non placée). Ceci enregistre les étiquettes non placées dans la classe d’entités annotations, afin de vous permettre de les placer ultérieurement dans une session Mise à jour.

  • Les espaces de travail Memory et in_memory ne prennent pas en charge les annotations liées aux entités.

  • Cet outil respecte l’environnement Longueur du champ de chaîne de texte d’annotation. Lorsqu’il est défini, il remplace la longueur du champ définie par défaut dans le champ TextString dans n’importe quelle classe d’entités annotations créée dans une base de données.

Paramètres

ÉtiquetteExplicationType de données
Carte en entrée

Carte qui contient les étiquettes à convertir en annotation.

Map
Couche d’index de polygones

Couche surfacique contenant les entités tuilées.

Table View
Géodatabase en sortie

Espace de travail dans lequel les classes d'entités en sortie sont enregistrées. L'espace de travail peut être une géodatabase existante ou un jeu de données d'entité existant.

Workspace; Feature Dataset
Couche en sortie

Groupe de couches qui contiendra l'annotation générée. Vous pouvez utiliser l'outil Enregistrer dans un fichier de couche pour enregistrer le groupe de couches en sortie dans un fichier de couche.

Group Layer
Suffixe de l’annotation

Suffixe qui sera ajouté à chaque nouvelle classe d'entités annotations. Ce suffixe sera ajouté au nom de la classe d'entités source pour chaque nouvelle classe d'entités annotations. L'échelle de référence de l'annotation adoptera ce suffixe.

String
Valeur de l'échelle de référence
(Facultatif)

Valeur d’échelle qui sera utilisée comme référence pour l’annotation. Il s’agit de l’échelle à laquelle se rapportent toutes les tailles des symboles et du texte des annotations.

Double
Champ Échelle de référence
(Facultatif)

Champ dans la couche d'index de polygones qui déterminera l'échelle de référence de l'annotation. Il s’agit de l’échelle à laquelle se rapportent toutes les tailles des symboles et du texte des annotations.

Field
Champ ID tuile
(Facultatif)

Champ dans la couche d'index de polygones qui identifie de manière unique la surface tuilée. Ces valeurs renseigneront le champ TileID dans la table attributaire de la classe d’entités annotations.

Field
Champ Système de coordonnées
(Facultatif)

Champ dans la couche d'index de polygones qui contient les informations relatives au système de coordonnées pour chaque tuile. En raison de la longueur requise pour qu'un champ stocke ces informations, une couche d'index de polygones qui contient un champ de système de coordonnées doit être une classe d'entités de géodatabase.

Field
Champ Rotation de la carte
(Facultatif)

Champ dans la couche d’index surfacique qui contient un angle selon lequel la carte effectue une rotation.

Field
Créer des annotations liées aux entités
(Facultatif)

Indique si la classe d’entités annotations en sortie est liée ou non aux entités d’une autre classe d’entités.

  • Désactivé : la classe d'entités annotations en sortie n'est pas liée aux entités d'une autre classe d'entités. Il s’agit de l’option par défaut.
  • Activé : la classe d'entités annotations en sortie est liée aux entités d'une autre classe d'entités.

Boolean
Convertir les étiquettes non placées en annotations non placées
(Facultatif)

Spécifie si des annotations non placées seront créées à partir des étiquettes non placées.

  • Désactivée - Des annotations seront créées uniquement pour les entités étiquetées. Il s’agit de l’option par défaut.
  • Activé : les annotations non placées sont stockées dans la classe d’entités annotations. Le champ d’état de cette annotation est défini sur Non placée.
Boolean
Convertir
(Facultatif)

Spécifie si des annotations seront converties pour toutes les couches de la carte ou pour une couche unique. La couche unique doit être précisée.

  • Toutes les couches de la carteLes étiquettes seront converties en annotations pour toutes les couches de la carte. Il s’agit de l’option par défaut.
  • Couche uniqueLes étiquettes seront converties en annotations pour une couche unique. La couche doit être précisée.
String
Couche d’entités
(Facultatif)

Couche contenant l’annotation qui est convertie lorsque le paramètre Convertir est défini sur Couche unique. Cette couche doit se trouver sur la carte.

Feature Layer
Sélection du symbole dans la table
(Facultatif)

Spécifie si toutes les propriétés du symbole textuel peuvent être mises à jour.

  • Désactivé : toutes les propriétés du symbole textuel peuvent être mises à jour. Il s’agit de l’option par défaut.
  • Activé : seules les propriétés des symboles qui activent les entités annotations peuvent être mises à jour afin de conserver la référence à leur symbole textuel associé dans la collection.

Boolean
Créer une annotation lors de l’ajout de nouvelles entités
(Facultatif)

Spécifie si une annotation sera créée lorsque de nouvelles entités sont ajoutées à la classe d’entités liée si le paramètre Create feature-linked annotation (Créer une annotation liée à une entité) est sélectionné.

  • Activé : une annotation liée aux entités sera générée lorsque de nouvelles entités sont ajoutées à la classe d’entités liée. Il s’agit de l’option par défaut.
  • Désactivé : une annotation liée aux entités ne sera pas générée lorsque de nouvelles entités sont ajoutées à la classe d’entités liée.

Boolean
Mettre à jour l’annotation lorsque la forme de l’entité est modifiée
(Facultatif)

Spécifie si la position de l’annotation est mise à jour lorsque la forme de l’entité liée est modifiée si le paramètre Créer des annotations liées aux entités est sélectionné.

  • Activé : la position de l’annotation sera mise à jour lorsque la forme de l’entité liée est modifiée. Il s’agit de l’option par défaut.
  • Désactivé : la position de l’annotation ne sera pas mise à jour lorsque la forme de l’entité liée est modifiée.

Boolean
Convertir les étiquettes de toutes les couches en une classe d’entités en sortie unique
(Facultatif)

Spécifie si les étiquettes seront converties en classes d’entités annotations individuelles ou en une classe d’entités annotations unique. En cas de conversion en une classe d’entités annotations unique, l’annotation ne peut pas être liée aux entités.

  • Activé : les étiquettes de toutes les couches seront converties en une classe d’entités annotations unique.
  • Désactivé : les étiquettes seront converties en classes d’entités annotations individuelles qui correspondent à leurs couches. Il s’agit de l’option par défaut.

Boolean
Combiner les classes d’étiquettes similaires
(Facultatif)

Spécifie si les classes d’étiquettes similaires seront combinées si le paramètre Convert labels from all layers to a single output feature class (Convertir les étiquettes de toutes les couches en une classe d’entités en sortie unique) est activé.

  • Activé : les classes d’étiquettes ayant des propriétés similaires sont combinées lors de la conversion en une classe d’entités unique.
  • Désactivé : les classes d’étiquettes ayant des propriétés similaires ne sont pas combinées. Il s’agit de l’option par défaut.

Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Géodatabase en sortie

Espace de travail dans lequel les classes d'entités en sortie sont enregistrées.

Workspace; Feature Dataset

arcpy.cartography.TiledLabelsToAnnotation(input_map, polygon_index_layer, out_geodatabase, out_layer, anno_suffix, {reference_scale_value}, {reference_scale_field}, {tile_id_field}, {coordinate_sys_field}, {map_rotation_field}, {feature_linked}, {generate_unplaced_annotation}, {which_layers}, {single_layer}, {require_symbol_id}, {auto_create}, {update_on_shape_change}, {multiple_feature_classes}, {merge_label_classes})
NomExplicationType de données
input_map

Carte qui contient les étiquettes à convertir en annotation.

Map
polygon_index_layer

Couche surfacique contenant les entités tuilées.

Table View
out_geodatabase

Espace de travail dans lequel les classes d'entités en sortie sont enregistrées. L'espace de travail peut être une géodatabase existante ou un jeu de données d'entité existant.

Workspace; Feature Dataset
out_layer

Groupe de couches qui contiendra l'annotation générée. Vous pouvez utiliser l'outil Enregistrer dans un fichier de couche pour enregistrer le groupe de couches en sortie dans un fichier de couche.

Group Layer
anno_suffix

Suffixe qui sera ajouté à chaque nouvelle classe d'entités annotations. Ce suffixe sera ajouté au nom de la classe d'entités source pour chaque nouvelle classe d'entités annotations. L'échelle de référence de l'annotation adoptera ce suffixe.

String
reference_scale_value
(Facultatif)

Valeur d’échelle qui sera utilisée comme référence pour l’annotation. Il s’agit de l’échelle à laquelle se rapportent toutes les tailles des symboles et du texte des annotations.

Double
reference_scale_field
(Facultatif)

Champ dans la couche d'index de polygones qui déterminera l'échelle de référence de l'annotation. Il s’agit de l’échelle à laquelle se rapportent toutes les tailles des symboles et du texte des annotations.

Field
tile_id_field
(Facultatif)

Champ dans la couche d'index de polygones qui identifie de manière unique la surface tuilée. Ces valeurs renseigneront le champ TileID dans la table attributaire de la classe d’entités annotations.

Field
coordinate_sys_field
(Facultatif)

Champ dans la couche d'index de polygones qui contient les informations relatives au système de coordonnées pour chaque tuile. En raison de la longueur requise pour qu'un champ stocke ces informations, une couche d'index de polygones qui contient un champ de système de coordonnées doit être une classe d'entités de géodatabase.

Field
map_rotation_field
(Facultatif)

Champ dans la couche d’index surfacique qui contient un angle selon lequel la carte effectue une rotation.

Field
feature_linked
(Facultatif)

Indique si la classe d’entités annotations en sortie est liée ou non aux entités d’une autre classe d’entités.

  • STANDARDLa classe d'entités annotations en sortie n'est pas liée aux entités d'une autre classe d'entités. Il s’agit de l’option par défaut.
  • FEATURE_LINKEDLa classe d'entités annotations en sortie est liée aux entités d'une autre classe d'entités.
Boolean
generate_unplaced_annotation
(Facultatif)

Spécifie si des annotations non placées seront créées à partir des étiquettes non placées.

  • NOT_GENERATE_UNPLACED_ANNOTATIONDes annotations seront créées uniquement pour les entités étiquetées. Il s’agit de l’option par défaut.
  • GENERATE_UNPLACED_ANNOTATIONLes annotations non placées sont stockées dans la classe d’entités annotations. Le champ d’état de cette annotation est défini sur Non placée.
Boolean
which_layers
(Facultatif)

Spécifie si des annotations seront converties pour toutes les couches de la carte ou pour une couche unique. La couche unique doit être précisée.

  • ALL_LAYERSLes étiquettes seront converties en annotations pour toutes les couches de la carte. Il s’agit de l’option par défaut.
  • SINGLE_LAYERLes étiquettes seront converties en annotations pour une couche unique. La couche doit être précisée.
String
single_layer
(Facultatif)

Couche contenant l’annotation qui est convertie lorsque le paramètre which_layers est défini sur SINGLE_LAYER. Cette couche doit se trouver sur la carte.

Feature Layer
require_symbol_id
(Facultatif)

Spécifie si toutes les propriétés du symbole textuel peuvent être mises à jour.

  • NO_REQUIRE_IDToutes les propriétés du symbole textuel peuvent être mises à jour. Il s’agit de l’option par défaut.
  • REQUIRE_IDSeules les propriétés des symboles qui activent les entités annotations peuvent être mises à jour afin de conserver la référence à leur symbole textuel associé dans la collection.
Boolean
auto_create
(Facultatif)

Spécifie si une annotation est créée lorsque de nouvelles entités sont ajoutées à la classe d’entités liée si le paramètre feature_linked est défini sur FEATURE_LINKED.

  • AUTO_CREATEUne annotation liée aux entités sera générée lorsque de nouvelles entités sont ajoutées à la classe d’entités liée. Il s’agit de l’option par défaut.
  • NO_AUTO_CREATEUne annotation liée aux entités ne sera pas générée lorsque de nouvelles entités sont ajoutées à la classe d’entités liée.
Boolean
update_on_shape_change
(Facultatif)

Spécifie si la position de l’annotation est mise à jour lorsque la forme de l’entité liée est modifiée si le paramètre feature_linked est défini sur FEATURE_LINKED.

  • SHAPE_UPDATELa position de l’annotation sera mise à jour lorsque la forme de l’entité liée est modifiée. Il s’agit de l’option par défaut.
  • NO_SHAPE_UPDATELa position de l’annotation ne sera pas mise à jour lorsque la forme de l’entité liée est modifiée.
Boolean
multiple_feature_classes
(Facultatif)

Spécifie si les étiquettes seront converties en classes d’entités annotations individuelles ou en une classe d’entités annotations unique. En cas de conversion en une classe d’entités annotations unique, l’annotation ne peut pas être liée aux entités.

  • SINGLE_FEATURE_CLASSLes étiquettes de toutes les couches seront converties en une classe d’entités annotations unique.
  • FEATURE_CLASS_PER_FEATURE_LAYERLes étiquettes seront converties en classes d’entités annotations individuelles correspondant à chaque couche. Il s’agit de l’option par défaut.
Boolean
merge_label_classes
(Facultatif)

Spécifie si les classes d’étiquettes similaires seront combinées si le paramètre multiple_feature_classes est défini sur SINGLE_FEATURE_CLASS.

  • MERGE_LABEL_CLASSLes classes d’étiquettes ayant des propriétés similaires sont combinées lors de la conversion en une classe d’entités unique.
  • NO_MERGE_LABEL_CLASSLes classes d’étiquettes ayant des propriétés similaires ne sont pas combinées. Il s’agit de l’option par défaut.
Boolean

Sortie obtenue

NomExplicationType de données
out_workspace

Espace de travail dans lequel les classes d'entités en sortie sont enregistrées.

Workspace; Feature Dataset

Exemple de code

Exemple d’utilisation de la fonction TiledLabelsToAnnotation (fenêtre Python)

Exemple Python pour la fonction TiledLabelsToAnnotation qui convertit des étiquettes en annotations pour une couche unique d’une carte en s’appuyant sur une couche d’index surfacique

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.cartography.TiledLabelsToAnnotation("Map1", "Tiles", "data.gdb", 
                                          "GroupAnno", "Anno", "", "Tile_Scale",  
                                          "OID", "", "", "FEATURE_LINKED", 
                                          "GENERATE_UNPLACED_ANNOTATION", 
                                          "SINGLE_LAYER", "Towns", 
																																										"REQUIRE_ID", "AUTO_CREATE", 
                                          "SHAPE_UPDATE", "", "")
Exemple 2 d’utilisation de l'outil TiledLabelsToAnnotation (script de processus)

Le script suivant présente un processus faisant appel aux fonctions MapServerCacheTilingSchemeToPolygons et TiledLabelsToAnnotation.

# Name: TiledLabelsToAnnotation_Example2.py
# Description: Create a tile feature class and use those tiles to create annotation.

# Import system modules
import arcpy
import os

# Set environment settings
arcpy.env.workspace = "C:/data/data.gdb"

# Set local variables
aprx = arcpy.mp.ArcGISProject(r"C:/data/Annotation.aprx")
inMap = aprx.listMaps("Map")[0]
inTilingScheme = os.path.join(
    arcpy.GetInstallInfo()['InstallDir'], 
    'Resources\\TilingSchemes\\ArcGIS_Online_Bing_Maps_Google_Maps.xml')
outFeatureClass = "C:/data/data.gdb/Tiles"
inTileExtent = "USE_MAP_EXTENT"
inClipping = "CLIP_TO_HORIZON"
inAntialiasing = "NONE"
inScales = []

# Run MapServerCacheTilingSchemeToPolygons
arcpy.cartographyMapServerCacheTilingSchemeToPolygons(
    inMap, inTilingScheme, outFeatureClass, inTileExtent, inClipping, 
    inAntialiasing, inScales)

# Set local variables
inPolygonIndexLayer = "Tiles"
inOutGeodatabase = "C:/data/data.gdb"
outOutLayer = "GroupAnno"
inAnnoSuffix = "Anno"
inRefScaleValue = ""
inRefScaleField = "Tile_Scale"
inTileIDField = "OID"
inCoordSysField = ""
inMapRotationField = ""
inFeatureLinked = "STANDARD"
inGenerateUnplaced = "GENERATE_UNPLACED_ANNOTATION"
inWhichLayers = "ALL_LAYERS"
inSingleLayer = ""
inRequireSymbolID = ""
inAutoCreate = ""
inUpdateOnShapeChange = ""
inMultipleFeatureClasses = "SINGLE_FEATURE_CLASS"
inMergeFeatureClasses = "MERGE_LABEL_CLASS"
 
# Run TiledLabelsToAnnotation
arcpy.cartography.TiledLabelsToAnnotation(
    inMap, inPolygonIndexLayer, inOutGeodatabase, outOutLayer, inAnnoSuffix, 
    inRefScaleValue, inRefScaleField, inTileIDField, inCoordSysField, 
    inMapRotationField, inFeatureLinked, inGenerateUnplaced, inWhichLayers, 
    inSingleLayer, inRequireSymbolID, inAutoCreate, inUpdateOnShapeChange, 
    inMultipleFeatureClasses, inMergeFeatureClasses)

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes