Resumen
Crea polígonos de máscara con una distancia y forma especificadas alrededor de las entidades simbolizadas en la capa de entrada.
Uso
Esta herramienta acepta como entrada capas de entidades de punto, línea y poligonales, así como capas de anotaciones de geodatabase.
Durante la creación de máscaras, es importante saber que al agregar máscaras a los mapas, se aumenta la complejidad, lo que lentifica el dibujo de los mapas y afecta su impresión y exportación. Generalmente, hay tres factores que se deben tener en cuenta al crear máscaras para un mapa: la cantidad de máscaras, la complejidad de las máscaras y si las máscaras se van a utilizar para enmascarar entidades poligonales rellenas con símbolos de línea o marcador. Un aumento en la cantidad de máscaras, tener máscaras más complejas y enmascarar contra símbolos de relleno de polígono o marcador hacen que el dibujo sea más lento en la pantalla. Además, el rendimiento de impresión y exportación puede ser bajo e incluso no producir una salida válida. Esto se debe a la gran cantidad de procesamiento necesario para imprimir y exportar mapas con máscaras, así como a las limitaciones conocidas sobre cómo los formatos de archivos gráficos almacenan los resultados de exportación de mapas que tienen muchas máscaras complicadas.
Para mejorar el rendimiento de dibujo, así como la fiabilidad y el rendimiento de impresión y exportación, lo más importante es utilizar las máscaras más sencillas que sean necesarias para los objetivos del mapa. En particular, al crear máscaras de texto de anotación, las máscaras de tipo CONVEX_HULL son suficientes para muchos objetivos del mapa. Si necesita máscaras de texto más detalladas, utilice el tipo EXACT_SIMPLIFIED. Generalmente, al crear máscaras de mucho texto en un mapa relativamente grande, evite utilizar la máscara de tipo EXACT, ya que creará demasiadas máscaras complicadas como para producir una salida válida de manera eficaz.
Aunque los valores de margen se suelen especificar en unidades de página, también se aceptan unidades de mapa.
Normalmente, los márgenes son superiores a 0. Un tamaño de margen de 0 crea máscaras que representan la forma exacta de las entidades simbolizadas.
Si la capa de entrada es un capa de anotación, la escala de referencia se establecerá automáticamente en la escala de referencia de la clase de entidad de la capa para garantizar un cálculo preciso de la máscara.
Al enmascarar una anotación proyectada al vuelo, las máscaras se deben crear utilizando la referencia espacial del mapa al establecerla adecuadamente en el parámetro de referencia espacial. La legibilidad se mantiene cuando el texto se proyecta al vuelo, que es la razón por la que pueden existir diferencias en el área espacial que ocupa el texto en distintas proyecciones.
Las máscaras de entidades de anotación son específicas de la fuente. Al utilizar máscaras con texto, es importante garantizar que se utiliza la misma fuente en la pantalla y en la salida. Para ello, incorpore fuentes en la salida vectorial o descargue SoftFonts para impresoras o graficadores.
Sintaxis
arcpy.cartography.FeatureOutlineMasks(input_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes})
Parámetro | Explicación | Tipo de datos |
input_layer | Capa de entrada simbolizada desde la que se crean las máscaras. | Layer |
output_fc | La clase de entidad que contendrá las entidades de máscara. | Feature Class |
reference_scale | La escala de referencia utilizada para calcular la geometría de máscara cuando las máscaras se especifican en unidades de página. Esto es generalmente la escala de referencia del mapa. | Double |
spatial_reference | La referencia espacial del mapa en el que se crearán los polígonos de máscara. No es la referencia espacial que se asignará a la clase de entidad de salida. Es la referencia espacial del mapa en el que se utilizarán los polígonos de máscara, ya que la posición de la simbología puede cambiar cuando se proyectan las entidades. | Spatial Reference |
margin | El espacio en unidades de página que rodea a las entidades de entrada simbolizadas utilizadas para crear los polígonos de máscara. Generalmente, los polígonos de máscara se crean con un margen pequeño alrededor del símbolo para mejorar la apariencia visual. Los valores de margen se especifican en unidades de página o en unidades de mapa. En la mayoría de los casos, especificará el valor de distancia de margen en unidades de página. El margen no puede ser negativo. | Linear Unit |
method | Especifica el tipo de geometría de máscara que se va a crear.
| String |
mask_for_non_placed_anno | Especifica si se van a crear máscaras para anotaciones no colocadas. Esta opción solo se utiliza al crear máscaras de capas de anotación de geodatabase.
| String |
attributes (Opcional) | Especifica los atributos que se van a transferir desde las entidades de entrada a las entidades de salida.
| String |
Muestra de código
El script de la ventana de Python muestra cómo utilizar la herramienta FeatureOutlineMasks en el modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
sr = arcpy.SpatialReference(4326)
arcpy.FeatureOutlineMasks_cartography("C:/data/cartography.gdb/transportation/roads",
"C:/data/cartography.gdb/transportation/fom_polys",
"25000", sr, "5 meters","EXACT_SIMPLIFIED",
"ALL_FEATURES", "ALL")
Este script independiente muestra un ejemplo del uso de la herramienta FeatureOutlineMasks.
# Name: FeatureOutlineMasks_standalone_script.py
# Description: Creates mask polygons at a specified distance and shape
# around symbolized features.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
input_layer = "roads.lyrx"
output_fc = "cartography.gdb/transportation/roads_fom_polys"
reference_scale = "25000"
spatial_reference = arcpy.SpatialReference(4326)
margin = "5 meters"
method = "EXACT_SIMPLIFIED"
mask_for_non_placed_anno = "ONLY_PLACED"
attributes = "ALL"
# Execute Feature Outline Masks
arcpy.FeatureOutlineMasks_cartography(input_layer,
output_fc,
reference_scale,
spatial_reference,
margin, method,
mask_for_non_placed_anno,
attributes)
Información de licenciamiento
- Basic: No
- Standard: No
- Advanced: Sí