Máscaras en la intersección de capas (Cartography)
Resumen
Crea polígonos de máscara con una forma y tamaño específicos en las intersecciones de las capas de entrada simbolizadas.
Uso
-
Esta herramienta acepta como entrada capas de entidades de punto, línea y polígono, así como capas de anotaciones de geodatabase.
-
Si la distancia del margen es 0 o negativa, se crean las máscaras. Un tamaño de margen de 0 crea un polígono que representa la forma exacta de la entidad simbolizada. Un margen negativo da como resultado un polígono más pequeño que la entidad simbolizada. Generalmente, se especifica un valor de margen mayor que 0 para producir el efecto de máscara deseado.
-
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: (1) la cantidad de máscaras, (2) la complejidad de las máscaras y (3) si las máscaras se van a utilizar para enmascarar entidades poligonales rellenas con símbolos de línea o marcador. Un incremento en la cantidad de máscaras, tener máscaras más complejas o 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 y puede llegar a no producir una salida válida. Esto se debe, en primer lugar, a la gran cantidad de procesamiento necesario para imprimir y exportar mapas con máscaras y, en segundo lugar, a las limitaciones conocidas sobre cómo los formatos de archivos de gráficos almacenan los resultados de exportación de mapas que tienen muchas máscaras complicadas.
-
Cuando necesite mejorar el rendimiento de dibujo, así como la confiabilidad y el rendimiento de impresión y exportación, lo más importante es utilizar las máscaras más simples que sean necesarias para los objetivos del mapa. En particular, al crear máscaras de texto de anotación, encontrará que 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. Es posible que en la mayoría de los casos necesite 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 crean con la distancia de margen calculada en el espacio de página (puede considerar que el margen es una distancia medida en el papel). En este cálculo se da cuenta del valor de parámetro de escala de referencia.
Si elige alguna otra unidad para el margen, las máscaras se crean con la distancia de margen calculada en el espacio de mapa (puede considerar 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, elija incorporar fuentes en la salida vectorial o descargue SoftFonts para impresoras o graficadores.
Sintaxis
Parámetro | Explicación | Tipo de datos |
masking_layer |
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á con mayor prominencia 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 para la 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 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 el polígono 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. Es posible que en la mayoría de los casos necesite 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 crean con la distancia de margen calculada en el espacio de página (puede considerar que el margen es una distancia medida en el papel). En este cálculo se da cuenta del valor de parámetro de escala de referencia. Si elige alguna otra unidad para el margen, las máscaras se crean con la distancia de margen calculada en el espacio de mapa (puede considerar 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. | Linear unit |
method |
El tipo de geometría de máscaras que se crea. Hay cuatro tipos:
| String |
mask_for_non_placed_anno |
Especifica si se van a crear máscaras para anotaciones no colocadas. Esta opción sólo se utiliza al crear máscaras de capas de anotación de geodatabase.
| String |
attributes (Opcional) |
Determina los atributos que se van a transferir desde las entidades de entrada a las entidades de salida.
| String |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta IntersectingLayersMasks en el modo inmediato.
import arcpy from arcpy import env 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")
Esta secuencia de comandos 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. # Author: ESRI # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables masking_layer = "C:/data/cartography.gdb/transportation/roads" masked_layer = "C:/data/cartography.gdb/transportation/railroads" outpuf_fc = "C:/data/cartography.gdb/transportation/ilm_polys" reference_scale = "25000" spatial_reference = "" margin = "5 meters" method = "EXACT_SIMPLIFIED" mask_for_non_placed_anno = "" 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)