Convertir les étiquettes en annotation (Cartographie)

Résumé

Convertit les étiquettes en annotation pour une seule couche ou pour toute la carte. Des annotations standard et des annotations liées aux entités peuvent être créées.

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 carte spécifique, il ne convertira que les classes d'étiquettes activées et visibles à cette échelle.

    Remarque :

    Les plages d’échelle des classes d’étiquettes sont définies dans l’onglet Etiquetage dans ArcGIS Pro.

  • Les classes d'entités annotations ne seront pas remplacées si un suffixe existant est spécifié. Dans ce cas, un nombre est ajouté au suffixe de classe d'entités annotations (par exemple, CitiesAnno, CitiesAnno_1, et ainsi de suite). Le format complet du nom est le suivant :

    <layer name> <duplicate feature class count> <anno suffix> <running number>

  • Si vous générez une annotation à diverses échelles de référence, créez votre carte pour chacune de ces échelles et évitez de définir une échelle de référence dans la carte. Vous pouvez ensuite convertir les étiquettes en annotation pour chaque échelle et attribuer des noms appropriés, par exemple, CitiesAnno_1000, CitiesAnno_100000.

  • Une sortie de cet outil est un groupe de couches. Dans la fenêtre Catalogue, la fenêtre Python ou un script Python autonome, vous pouvez utiliser l’outil Enregistrer dans un fichier de couche pour écrire le groupe de couches en sortie dans un fichier de couche. Lors de l’utilisation de ArcGIS Pro, l’outil ajoute le groupe de couches à l’affichage. Le groupe de couches créé est temporaire et disparaîtra à la fin de la session si le projet n'est pas enregistré.

  • 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 l’option Create feature-linked annotation (Générer une annotation liée à des entités) n’est pas activée, l’option Convert labels from all layers to a single output feature class (Convertir les étiquettes de toutes les couches en classe d’entités en sortie unique) peut être utilisée pour générer 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 présentant des propriétés similaires peuvent être fusionnées dans une classe d’annotations à l’aide de l’option Merge similar label classes (Fusionner les classes d’étiquettes similaires).

  • L'annotation qui est liée à des entités est associée à une entité spécifique dans une autre classe d'entités de la géodatabase. Si l’option Générer une annotation liée à des entités est activée, lorsque vous créez la classe d'entités annotations en sortie, une classe de relations sera aussi automatiquement générée.

  • 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.

  • Certaines étiquettes peuvent ne pas s'afficher sur la carte du fait d'un manque d'espace. Pour convertir ces étiquettes, activez la case à cocher Convertir les étiquettes non placées en annotations non placées. 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 de mise à jour ArcGIS Pro.

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

Syntaxe

arcpy.cartography.ConvertLabelsToAnnotation(input_map, conversion_scale, output_geodatabase, {anno_suffix}, {extent}, {generate_unplaced}, {require_symbol_id}, {feature_linked}, {auto_create}, {update_on_shape_change}, {output_group_layer}, {which_layers}, {single_layer}, {multiple_feature_classes}, {merge_label_classes})
ParamètreExplicationType de données
input_map

La carte en entrée.

Map
conversion_scale

Echelle à laquelle il convient de convertir les étiquettes. Si une échelle de référence est définie sur la carte, cette échelle sera utilisée pour le dimensionnement des symboles et pour la création des classes d’entités annotations, mais la conversion s’effectuera à cette échelle.

Double
output_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és existant. S’il ne s’agit pas de la même base de données que celle utilisée par toutes les couches dans la carte, l’option liée à une entité sera désactivée.

Workspace; Feature Dataset
anno_suffix
(Facultatif)

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.

String
extent
(Facultatif)

Spécifie l’étendue qui contient les étiquettes à convertir en annotation.

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale de toutes les entrées est utilisée.
  • DISPLAY : l’étendue est égale à l’affichage visible.
  • Nom de la couche : l’étendue de la couche spécifiée est utilisée.
  • Objet Extent : l’étendue de l’objet spécifié est utilisée.
  • Chaîne délimitée par des espaces de coordonnées géographiques : l’étendue de la chaîne spécifiée est utilisée. Les coordonnées sont exprimées dans l’ordre x-min, y-min, x-max, y-max.
Extent
generate_unplaced
(Facultatif)

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

  • ONLY_PLACEDDes annotations seront créées uniquement pour les entités étiquetées. Il s’agit de l’option par défaut.
  • GENERATE_UNPLACEDLes annotations non placées seront stockées dans la classe d'entités annotations. Le champ d'état de ces annotations est défini sur Non placée.
Boolean
require_symbol_id
(Facultatif)

Spécifie si les propriétés du symbole textuel qui peuvent être modifiées doivent être restreintes.

  • NO_REQUIRE_IDAutoriser la modification de toute propriété de symbole textuel. Il s’agit de l’option par défaut.
  • REQUIRE_IDAutoriser uniquement les modifications des propriétés de symbole qui permettent aux entités annotations de maintenir une référence à leur symbole textuel associé dans la collection.
Boolean
feature_linked
(Facultatif)
Licence :

Ce paramètre est disponible uniquement avec les licences ArcGIS Desktop Standard et ArcGIS Desktop Advanced.

Spécifie si la classe d’entités annotations en sortie sera ou non liée 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
auto_create
(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 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 sera mise à jour lorsque la forme de l’entité liée est mise à jour et que 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
output_group_layer
(Facultatif)

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
which_layers
(Facultatif)

Spécifie si les annotations doivent être converties pour toutes les couches de la carte ou pour une seule couche. 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 à convertir lorsque le paramètre which_layers est défini sur SINGLE_LAYER. Cette couche doit se trouver sur la carte.

Feature Layer
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 fusionnées lorsque le paramètre multiple_feature_classes est défini sur SINGLE_FEATURE_CLASS.

  • MERGE_LABEL_CLASSLes classes d’étiquettes présentant des propriétés similaires seront fusionnées lorsque le paramètre multiple_feature_classes est défini sur SINGLE_FEATURE_CLASS.
  • NO_MERGE_LABEL_CLASSLes classes d’étiquettes ne seront pas fusionnées lorsque le paramètre multiple_feature_classes est défini sur SINGLE_FEATURE_CLASS. Il s’agit de l’option par défaut.
Boolean

Sortie dérivée

NomExplicationType de données
updated_geodatabase

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

Espace de travail

Exemple de code

Exemple d’utilisation de l’outil Convertir les étiquettes en annotation (fenêtre Python)

Exemple Python pour ConvertLabelsToAnnotation qui convertit les étiquettes en annotation pour une seule couche de la carte.

import arcpy
arcpy.cartography.ConvertLabelsToAnnotation(
    'Map1', 10000, 'D:/data/Cobourg.gdb', 'Anno', 'MAXOF', 'ONLY_PLACED', 
    'REQUIRE_ID', 'STANDARD', '', '', 'AnnoLayer', 'SINGLE_LAYER', 'Schools', '', '')
Exemple 2 d’utilisation de l’outil Convertir les étiquettes en annotation  2 (script autonome)

Script autonome qui convertit des étiquettes en annotation pour la carte en utilisant la fonction ConvertLabelsToAnnotation. L’annotation sera convertie en une classe d’entités annotations unique et les classes d’étiquettes similaires seront fusionnées.

# Name: ConvertLabelsToAnnotation.py
# Description: Find all the maps in the project and
#              convert labels to annotation for each map
# import system modules
import arcpy
# Loop through the project, find all the maps, and
#   convert labels to annotation for each map,
#   using the name of the map as part of the annotation suffix 
project = arcpy.mp.ArcGISProject("D:\\data\\myproject.aprx")
for mp in project.listMaps():
    print("Converting labels to annotation for: " + mp.name)
    arcpy.cartography.ConvertLabelsToAnnotation(
            mp, 10000, 'D:/data/Cobourg.gdb', 'Anno_' + mp.name, 'MAXOF', 
            'ONLY_PLACED', 'REQUIRE_ID', 'STANDARD', '', '', 
            'AnnoLayers_' + mp.name, 'ALL_LAYERS', '', 'SINGLE_FEATURE_CLASS', 
            'MERGE_LABEL_CLASS')

Informations de licence

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

Rubriques connexes