Resumen
Crea polígonos de máscara con una forma y tamaño específicos en las intersecciones de dos capas de entrada simbolizadas: la capa para enmascarar y la capa enmascarada.
Uso
Esta herramienta acepta como entrada capas de entidades de punto, línea y polígono, así como capas de anotaciones de geodatabase.
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.
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. Adicionalmente, el rendimiento de impresión y exportación puede ser bajo y 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.
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.
Las unidades de valor de margen se interpretan de manera diferente según las unidades seleccionadas. Si elige puntos, pulgadas, milímetros o centímetros, las máscaras se crearán con la distancia de margen calculada en el espacio de página (considere que el margen es una distancia medida en el papel). En este cálculo se tiene en cuenta el valor del parámetro de escala de referencia.
Si elige alguna otra unidad para el margen, las máscaras se crearán con la distancia de margen calculada en el espacio de mapa (considere que el margen es una medida de distancia real en la Tierra). Además, en este caso, el valor de parámetro de escala de referencia no se utiliza como parte del cálculo.
Si una de las capas 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. Si se intersecan dos capas de anotación, deben tener la misma escala de referencia.
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 asegurarse de utilizar la misma fuente en la pantalla y en la salida. Para ello, integre fuentes en la salida vectorial o descargue SoftFonts para impresoras o graficadores.
El procesamiento conjunto de datasets grandes podría superar los límites de la memoria. En este caso, considere el procesamiento de los datos de entrada por partición al identificar una clase de entidad poligonal relevante en la configuración de entorno Particiones cartográficas. Las partes de los datos definidos por los límites de partición se procesarán en secuencia. La clase de entidad de salida será sin fisuras y consistente en los bordes de la partición.
Sintaxis
arcpy.cartography.IntersectingLayersMasks(masking_layer, masked_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes})
Parámetro | Explicación | Tipo de datos |
masking_layer | La capa de entrada simbolizada que se intersecará con la capa enmascarada para crear polígonos de máscara. Esta es la capa que se visualizará más destacada cuando se aplique la creación de máscaras a la capa enmascarada. | Layer |
masked_layer | Capa de entrada simbolizada que se enmascarará. Esta es la capa que se oscurecerá debido a los polígonos de máscara. | 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áscaras que se crea.
| 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 IntersectingLayersMasks en el modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.IntersectingLayersMasks_cartography("C:/data/cartography.gdb/transportation/roads",
"C:/data/cartography.gdb/transportation/railroads",
"C:/data/cartography.gdb/transportation/ilm_polys",
"25000", "", "5 meters", "EXACT_SIMPLIFIED", "", "ALL")
Este script independiente muestra un ejemplo del uso de la herramienta IntersectingLayersMasks.
# Name: IntersectingLayersMasks_standalone_script.py
# Description: Creates masking polygons at a specified
# shape and size at the intersections of symbolized features.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
masking_layer = "roads.lyrx"
masked_layer = "buildings_poly.lyrx"
outpuf_fc = "cartography.gdb/transportation/ilm_polys"
reference_scale = "25000"
spatial_reference = arcpy.Describe(masking_layer).spatialReference
margin = "5 Points"
method = "CONVEX_HULL"
mask_for_non_placed_anno = "ALL_FEATURES"
attributes = "ALL"
# Execute Intersecting Layers Masks
arcpy.IntersectingLayersMasks_cartography(masking_layer,
masked_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í