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ètre | Explication | Type 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.
| Extent |
generate_unplaced (Facultatif) | Spécifie si des annotations non placées seront créées à partir des étiquettes non placées.
| Boolean |
require_symbol_id (Facultatif) | Spécifie si les propriétés du symbole textuel qui peuvent être modifiées doivent être restreintes.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Boolean |
Sortie dérivée
Nom | Explication | Type 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 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', '', '')
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')
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?