Etiquetas en teselas a anotación (Cartografía)

Resumen

Convierte etiquetas en anotación para capas de un mapa basado en una capa de índice de polígono.

La herramienta divide un mapa en teselas y crea una anotación para cada tesela a la vez. Esto resulta útil para convertir una gran cantidad de etiquetas a anotación. La capa de índice de polígono puede generarse con las herramientas Esquema de ordenamiento en teselas del caché del servidor de mapas a polígonos o Entidades de índice de cuadrícula o cualquier otra clase de entidad poligonal que cubra el área donde desea crear la anotación.

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 referencia 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 las propiedades de la capa en ArcGIS Pro. Una vez que haya configurado las propiedades de etiqueta, guarde el proyecto antes de ejecutar esta herramienta.

  • Si selecciona teselas antes de ejecutar la herramienta, sólo se creará una anotación para las teselas seleccionadas.

  • Para actualizar la anotación sólo para algunas teselas en la capa de índice de polígono, primero seleccione las entidades de anotación con ese valor TileID específico y elimínelas. Después, seleccione las entidades poligonales y vuelva a ejecutar la herramienta.

  • Una de las salidas de esta herramienta es una serie de capas de grupo. Una capa de grupo contendrá una capa de grupo para cada escala de referencia para la que se creó una anotación.

  • Cuando esté trabajando en el panel Catálogo o ModelBuilder, puede usar la herramienta Guardar en archivo de capas para escribir la capa de grupo de salida en un archivo de capas.

  • Una capa de grupo existente se sobrescribirá si se especifica el mismo nombre de capa y si especifica explícitamente que está permitida la sobreescritura de las salidas.

  • Si se encuentran nombres de clase de entidad duplicados en el mapa, se agregará un número a la anotación después del nombre de la clase de entidad (por ejemplo, Cities01Anno10000, Cities02Anno10000, etc.).

  • 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, CitiesAnno10000, CitiesAnno10000_1, etc.).

  • La escala de referencia para las clases de entidad de anotación se puede especificar de las dos maneras siguientes:

    • La primera opción es utilizar un campo de la capa de índice de polígono para determinar la escala de referencia de las clases de entidad de anotación de salida. Use esta opción si desea crear anotaciones para varios niveles de escalas.
    • La segunda opción es especificar explícitamente un valor de escala de referencia. Todas las clases de entidad de anotación utilizarán esta escala de referencia. Si hay una escala de referencia establecida en el mapa, este será el valor predeterminado de entrada para la herramienta. Si no hay una escala de referencia establecida en el mapa, la escala actual será el valor predeterminado.

  • Si está utilizando una capa de índice de polígono creada con la herramienta Esquema de ordenamiento en teselas del caché del servidor de mapas a polígonos, use el campo Tile_Scale para el parámetro Campo de escala de referencia. Se creará una nueva clase de entidad de anotación para cada combinación de capa-Tile_Scale.

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

  • Si se proporciona un campo de sistema de coordenadas de la capa de índice de polígono, la anotación para cada tesela se proyectará en ese sistema de coordenadas para cumplir con los objetivos de dibujo y ubicación.

  • Si el parámetro Crear anotación vinculada a entidad no se activa, se puede utilizar el parámetro 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 el parámetro Fusionar clases de etiqueta similares.

  • La anotación vinculada a una entidad está asociada a una entidad específica en otra clase de entidad de la geodatabase. Si 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 ellas. Para convertir estas etiquetas, active la casilla Generar anotación no colocada. De este modo, se guardan 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.

  • Los espacios de trabajo in_memory y de memoria no admiten la anotación vinculada a entidad.

Sintaxis

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})
ParámetroExplicaciónTipo de datos
input_map

El mapa que contiene las etiquetas para convertir en anotación.

Map
polygon_index_layer

La capa de polígono que contiene entidades de tesela.

Table View
out_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.

Workspace; Feature Dataset
out_layer

El grupo de capas que contiene la anotación generada. Puede usar la herramienta Guardar en archivo de capa para escribir la capa de grupo de salida en un archivo de capa.

Group Layer
anno_suffix

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. La escala de referencia para la anotación aparece a continuación de este sufijo.

String
reference_scale_value
(Opcional)

El valor de escala que se usará como referencia para la anotación. Es la escala en la que se basarán todos los tamaños de texto y símbolos de la anotación.

Double
reference_scale_field
(Opcional)

El campo en la capa de índice de polígono que determina la escala de referencia de la anotación. Es la escala en la que se basarán todos los tamaños de texto y símbolos de la anotación.

Field
tile_id_field
(Opcional)

Un campo en la capa de índice de polígono que identifica de manera única el área con teselas. Estos valores completan el campo TileID en la tabla de atributos de la clase de entidad de anotación.

Field
coordinate_sys_field
(Opcional)

Un campo en la capa de índice de polígono que contiene la información del sistema de coordenadas para cada tesela. Debido a la longitud necesaria para almacenar la información del sistema de coordenadas en un campo, la capa de índice de polígono que contiene el campo de sistema de coordenadas debe ser una clase de entidad de geodatabase.

Field
map_rotation_field
(Opcional)

El campo en la capa de índice de polígono que contiene el ángulo con el que se rota el marco de datos.

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

  • STANDARD La clase de entidad de anotación de salida no se vinculará a las entidades en otra clase de entidad. Esta es la opción predeterminada.
  • FEATURE_LINKEDLa clase de entidad de anotación de salida se vinculará a las entidades en otra clase de entidad.
Boolean
generate_unplaced_annotation
(Opcional)

Especifica si se creará una anotación no colocada a partir de etiquetas no colocadas.

  • NOT_GENERATE_UNPLACED_ANNOTATIONLa anotación sólo se crea para las entidades que estén etiquetadas. Esta es la opción predeterminada.
  • GENERATE_UNPLACED_ANNOTATIONLas anotaciones no colocadas se almacenan en la clase de entidad de anotación. El campo de estado de esta anotación se establece como No colocada.
Boolean
which_layers
(Opcional)

Especifica si la anotación se creará para todas las capas del mapa o solo para una. Es necesario especificar la capa única.

  • ALL_LAYERSLas etiquetas se convertirán en anotación en todo el mapa. Esta es la opción predeterminada.
  • SINGLE_LAYERLas etiquetas se convertirán en anotación en una sola capa. Es necesario especificar la capa.
String
single_layer
(Opcional)

La capa que se convertirá si se cambia el valor del parámetro which_layers a SINGLE_LAYER. Esta capa debe estar presente en el mapa.

Feature Layer
require_symbol_id
(Opcional)

Especifica si se pueden editar las propiedades de un símbolo de texto.

  • NO_REQUIRE_IDSe pueden editar todas las propiedades de un símbolo de texto. Esta es la opción predeterminada.
  • REQUIRE_IDSolo se pueden editar las propiedades de símbolo que permitan a las entidades de anotación mantener la referencia a su símbolo de texto asociado en la colección.
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.

  • AUTO_CREATELa anotación vinculada a entidad se creará cuando se agreguen nuevas entidades a la clase de entidad vinculada. Esta es la opción predeterminada.
  • NO_AUTO_CREATELa anotación vinculada a entidad no se creará cuando se agregan nuevas entidades a la clase de entidad vinculada.
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.

  • SHAPE_UPDATELa posición de la anotación se actualizará cuando se modifique la forma de la entidad vinculada. Esta es la opción predeterminada.
  • NO_SHAPE_UPDATELa posición de la anotación no se actualizará cuando se modifique la forma de la entidad vinculada.
Boolean
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.

  • SINGLE_FEATURE_CLASSLas etiquetas de todas las capas se convertirán a una sola clase de entidad de anotación.
  • FEATURE_CLASS_PER_FEATURE_LAYERLas etiquetas se convertirán a clases de entidad de anotación individuales que se corresponden con sus capas. Esta es la opción predeterminada.
Boolean
merge_label_classes
(Opcional)

Especifica si las clases de etiqueta similares se fusionarán si el parámetro multiple_feature_classes se define como SINGLE_FEATURE_CLASS.

  • MERGE_LABEL_CLASSLas clases de etiqueta con propiedades similares se fusionarán al crear una sola clase de entidad.
  • NO_MERGE_LABEL_CLASSLas clases de etiqueta no se fusionarán. Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_workspace

El espacio de trabajo donde se guardan las clases de entidad de salida.

Espacio de trabajo; dataset de entidades

Muestra de código

Ejemplo de TiledLabelsToAnnotation (ventana de Python)

Muestra de Python para TiledLabelsToAnnotation que convierte etiquetas en una anotación para una sola capa mapa basado en una capa de índice de polígono.

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.TiledLabelsToAnnotation_cartography("Map1", "Tiles", "data.gdb", 
                                          "GroupAnno", "Anno", "", "Tile_Scale",  
                                          "OID", "", "", "FEATURE_LINKED", 
                                          "GENERATE_UNPLACED_ANNOTATION", 
                                          "SINGLE_LAYER", "Towns", 
																																										"REQUIRE_ID", "AUTO_CREATE", 
                                          "SHAPE_UPDATE", "", "")
Ejemplo 2 de TiledLabelsToAnnotation (script de flujo de trabajo)

El siguiente script muestra un flujo de trabajo con las funciones MapServerCacheTilingSchemeToPolygons y 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
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 = ""
# Execute MapServerCacheTilingSchemeToPolygons
arcpy.MapServerCacheTilingSchemeToPolygons_cartography(
    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"
 
# Execute TiledLabelsToAnnotation
arcpy.TiledLabelsToAnnotation_cartography(
    inMap, inPolygonIndexLayer, inOutGeodatabase, outOutLayer, inAnnoSuffix, 
    inRefScaleValue, inRefScaleField, inTileIDField, inCoordSysField, 
    inMapRotationField, inFeatureLinked, inGenerateUnplaced, inWhichLayers, 
    inSingleLayer, inRequireSymbolID, inAutoCreate, inUpdateOnShapeChange, 
    inMultipleFeatureClasses, inMergeFeatureClasses)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados