Resumen
Convierte las etiquetas de una sola capa o de todo el mapa en anotaciones. Tanto la anotación estándar como la vinculada a entidad se pueden crear de este modo.
Uso
Es posible convertir etiquetas en anotación para una sola capa o para todo el mapa. Si se selecciona la opción de una sola capa, es necesario especificar la capa, y debe estar en el mapa.
Se respetarán los rangos de escala de la clase de etiqueta. Cuando la herramienta genere una anotación para una escala de mapa específica, solo convertirá las clases de etiqueta que estén activadas y visibles en esa escala.
Nota:
Los rangos de escala de la clase de etiqueta se establecen en la pestaña Etiquetado en ArcGIS Pro.
Las clases de entidad de anotación no se sobrescribirán si se especifica un sufijo para indicar que ya existe. En este caso, se agregará un número al sufijo de la clase de entidad de anotación (por ejemplo, CitiesAnno, CitiesAnno_1, etc.). El formato completo para asignar nombre es el siguiente:
<layer name> <duplicate feature class count> <anno suffix> <running number>
Si está produciendo anotaciones en varias escalas de referencia, diseñe el mapa para cada una de esas escalas y evite establecer una escala de referencia en el mapa. A continuación, puede convertir las etiquetas en anotación para cada escala y asignar un nombre de manera apropiada, por ejemplo, CitiesAnno_1000, CitiesAnno_100000.
Una de las salidas de esta herramienta es una capa de grupo. Si trabaja en el panel Catálogo, la ventana de Python o un script independiente de Python, puede utilizar la herramienta Guardar en archivo de capas para escribir la capa del grupo de salida en un archivo de capas. Si utiliza ArcGIS Pro, la herramienta agrega la capa de grupo a la visualización. El grupo de capas que se crea es temporal y, una vez finalizada la sesión, no permanece en el sistema a menos que se guarde el proyecto.
Un grupo de capas existente se sobrescribirá si especifica el mismo nombre de capa y si especifica explícitamente que está permitida la sobrescritura de la salida.
Si la opción Crear anotación vinculada a entidad no se activa, se puede utilizar la opción Convertir etiquetas de todas las capas a una sola clase de entidad de salida para crear una única clase de entidad de anotación para todo el mapa.
Al crear una única clase de entidad de anotación para el mapa, es posible fusionar las clases de etiqueta con propiedades similares en una clase de anotación con la opción Fusionar clases de etiqueta similares.
La anotación vinculada a una entidad está asociada con una entidad específica en otra clase de entidad de la geodatabase. Si la opción Crear anotación vinculada a entidad está activada cuando crea la clase de entidad de anotación de salida, también se generará automáticamente una clase de relación.
Cuando se crean anotaciones vinculadas a una entidad, el espacio de trabajo de salida debe ser el mismo que el de las clases de entidad a las que están vinculadas.
Es posible que algunas etiquetas no se visualicen en el mapa debido a que no hay espacio. Para convertir estas etiquetas, marque la casilla Convertir etiquetas no situadas en anotaciones no localizadas. Esto guarda las etiquetas no colocadas en la clase de entidad de anotación, lo que le permite posicionarlas después en una sesión de edición de ArcGIS Pro.
Los espacios de trabajo in_memory y de memoria no admiten la anotación vinculada a entidad.
Sintaxis
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})
Parámetro | Explicación | Tipo de datos |
input_map | El mapa de entrada. | Map |
conversion_scale | La escala a la que se van a convertir las etiquetas. Si una escala de referencia está establecida en el mapa, se utilizará para el cambio de tamaño de los símbolos y la creación de las clases de entidad de anotación, pero la conversión se producirá a esta escala. | Double |
output_geodatabase | El espacio de trabajo donde se guardan las clases de entidad de salida. El espacio de trabajo puede ser una geodatabase o un dataset de entidades existente. Si esta no es la misma base de datos utilizada por todas las capas del mapa, la opción vinculada a entidad estará deshabilitada. | Workspace; Feature Dataset |
anno_suffix (Opcional) | El sufijo que se agrega a cada clase de entidad de anotación nueva. Este sufijo se incorpora al nombre de la clase de entidad de origen para cada clase de entidad de anotación nueva. | String |
extent (Opcional) | Especifica la extensión que contiene las etiquetas que se convertirán en anotación. Puede ser la extensión del mapa, la combinación de capas de entrada, la intersección de capas de entrada, la extensión de visualización actual, la misma que la extensión de capa especificada o puede ser especificada por valor.
| Extent |
generate_unplaced (Opcional) | Especifica si se creará una anotación no colocada a partir de etiquetas no colocadas.
| Boolean |
require_symbol_id (Opcional) | Especifica si se restringirán las propiedades del símbolo de texto que se pueden editar.
| Boolean |
feature_linked (Opcional) | Licencia:Este parámetro solo está disponible con las licencias de ArcGIS Desktop Standard y ArcGIS Desktop Advanced. Especifica si la clase de entidad de anotación de salida se vinculará a las entidades en otra clase de entidad.
| Boolean |
auto_create (Opcional) | Especifica si se creará una anotación cuando se agreguen nuevas entidades a la clase de entidad vinculada si el parámetro feature_linked se define como FEATURE_LINKED.
| Boolean |
update_on_shape_change (Opcional) | Especifica si se actualizará la posición de la anotación cuando la forma de la entidad vinculada se actualiza si el parámetro feature_linked se define como FEATURE_LINKED.
| Boolean |
output_group_layer (Opcional) | El grupo de capas que contiene la anotación generada. Puede usar la herramienta Guardar en archivo de capa para escribir el grupo de capas de salida en un archivo de capa. | Group Layer |
which_layers (Opcional) | Especifica si la anotación se convertirá para todas las capas del mapa o solo para una. Es necesario especificar la capa única.
| String |
single_layer (Opcional) | La capa con la anotación que hay que convertir cuando el parámetro which_layers se define como SINGLE_LAYER. Esta capa debe estar presente en el mapa. | Feature Layer |
multiple_feature_classes (Opcional) | Especifica si las etiquetas se convertirán a clases de entidad de anotación individuales o a una sola clase de entidad de anotación. Si se convierte a una sola clase de entidad de anotación, la anotación no se puede vincular a una entidad.
| Boolean |
merge_label_classes (Opcional) | Especifica si las clases de etiqueta similares se fusionarán cuando el parámetro multiple_feature_classes se defina como SINGLE_FEATURE_CLASS.
| Boolean |
Salida derivada
Nombre | Explicación | Tipo de datos |
updated_geodatabase | El espacio de trabajo donde se guardan las clases de entidad de salida. | Espacio de trabajo |
Muestra de código
Muestra de Python para ConvertLabelsToAnnotation que convierte etiquetas en anotación para una sola capa del mapa.
import arcpy
arcpy.cartography.ConvertLabelsToAnnotation(
'Map1', 10000, 'D:/data/Cobourg.gdb', 'Anno', 'MAXOF', 'ONLY_PLACED',
'REQUIRE_ID', 'STANDARD', '', '', 'AnnoLayer', 'SINGLE_LAYER', 'Schools', '', '')
Script independiente que convierte etiquetas en anotación para el mapa mediante la función ConvertLabelsToAnnotation. La anotación se convertirá en una sola clase de entidad de anotación y las clases de etiqueta similares se fusionarán.
# 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')
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí