Résumé
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 une 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 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.
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 la valeur 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 ArcCatalog ou 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. Lorsque vous utilisez ArcMap, l'outil ajoute le groupe de couches à l'affichage, si cette option est activée dans les options de géotraitement. Le groupe de couches créé est temporaire et disparaîtra à la fin de la session si le document n'est pas enregistré.
Les groupes de couches créés dans ArcCatalog ne peuvent pas être utilisées dans ArcMap à moins de les enregistrer dans un fichier de couche à l'aide de l'outil Enregistrer 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 le bloc de données 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 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, 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 deux méthodes différentes :
- La première méthode consiste à utiliser 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.
- La deuxième méthode consiste à indiquer 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. Dans ArcMap, si aucune échelle de référence n’est définie, l’échelle courante fournit la valeur par défaut.
Si vous utilisez une couche d’index surfacique créée par l’outil Structure de tuilage du cache de serveur de carte en polygones, utilisez le champ Tile_Scale pour Reference Scale Field (Champ Échelle de référence). Une nouvelle 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 votre carte pour chacune de ces échelles et évitez de définir une é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.
L'annotation qui est 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 une classe d'entités annotations en sortie, 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.
Certaines étiquettes peuvent ne pas s'afficher sur la carte du fait d'un manque d'espace. 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.
Syntaxe
TiledLabelsToAnnotation_cartography (map_document, data_frame, 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})
Paramètre | Explication | Type de données |
map_document | Carte source contenant les étiquettes à convertir en annotation. | ArcMap Document |
data_frame | Bloc de données de la carte contenant les étiquettes à convertir en annotation. | String |
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. Dans ArcCatalog, vous pouvez utiliser l’outil Enregistrer dans un fichier de couches pour enregistrer le groupe de couches en sortie dans un fichier de couches. Lorsque vous utilisez ArcMap, l'outil ajoute le groupe de couches à l'affichage, si cette option est activée dans les options de géotraitement. Le groupe de couches créé est temporaire et disparaîtra à la fin de la session si le document n'est pas enregistré. | 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) | Indique la valeur d’échelle à utiliser 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) | Indique le champ dans la couche d’index surfacique qui détermine 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 de polygones qui contient un angle selon lequel le bloc de données doit être pivoté. | 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.
| Boolean |
generate_unplaced_annotation (Facultatif) | Indique si vous voulez créer des annotations non placées à partir d’étiquettes non placées.
| Boolean |
Sortie dérivée
Nom | Explication | Type de données |
out_geodatabase | Espace de travail : jeu de classes d’entités |
Exemple de code
Exemple d’utilisation de l’outil TiledLabelsToAnnotation (fenêtre Python)
Exemple Python pour TiledLabelsToAnnotation qui convertit des étiquettes en annotation pour les couches d’une carte en fonction d’une couche d’index surfacique.
import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.TiledLabelsToAnnotation_cartography("Annotation.mxd", "Layers", "Tiles",
"data.gdb", "GroupAnno", "Anno", "",
"Tile_Scale", "OID", "", "",
"FEATURE_LINKED",
"GENERATE_UNPLACED_ANNOTATION")
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.
# Requirements: ArcGIS Desktop Advanced license
# Import system modules
import arcpy
import os
# Set environment settings
arcpy.env.workspace = "C:/data/data.gdb"
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
inTilingScheme = os.path.join(
arcpy.GetInstallInfo()['InstallDir'],
"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 = ""
# Execute MapServerCacheTilingSchemeToPolygons
arcpy.MapServerCacheTilingSchemeToPolygons_cartography(
inMapDocument, inDataFrame, inTilingScheme, outFeatureClass, inTileExtent,
inClipping, inAntialiasing, inScales)
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
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"
# Execute TiledLabelsToAnnotation
arcpy.TiledLabelsToAnnotation_cartography(
inMapDocument, inDataFrame, inPolygonIndexLayer, inOutGeodatabase,
outOutLayer, inAnnoSuffix, inRefScaleValue, inRefScaleField, inTileIDField,
inCoordSysField, inMapRotationField,inFeatureLinked, inGenerateUnplaced)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui