Máscara en la intersección de capas (Cartografía)

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ámetroExplicaciónTipo 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.

  • BOXUn polígono que representa la extensión de la entidad simbolizada.
  • CONVEX_HULLLa envoltura convexa de la geometría simbolizada de la entidad. Esta es la opción predeterminada.
  • EXACT_SIMPLIFIEDUn polígono generalizado que representa la forma exacta de la entidad simbolizada. Los polígonos creados con este método tienen una cantidad significativamente menor de vértices en comparación con los polígonos creados con el método EXACT.
  • EXACTUn polígono que representa la forma exacta de la entidad simbolizada.
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.

  • ALL_FEATURESCrea máscaras para todas las entidades de anotación.
  • ONLY_PLACEDSolo crea máscaras para entidades con estado de colocadas.
String
attributes
(Opcional)

Especifica los atributos que se van a transferir desde las entidades de entrada a las entidades de salida.

  • ONLY_FIDSolo se transferirá el campo FID desde las entidades de entrada a las entidades de salida. Esta es la opción predeterminada.
  • NO_FIDSe transferirán todos los atributos, excepto FID, desde las entidades de entrada a las entidades de salida.
  • ALLSe transferirán todos los atributos desde las entidades de entrada a las entidades de salida.
String

Muestra de código

Ejemplo 1 de IntersectingLayersMasks (ventana de Python)

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")
Ejemplo 2 de IntersectingLayersMasks (script independiente)

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í

Temas relacionados