Intervisibilidad (3D Analyst)
Resumen
Determina la visibilidad de las líneas de visión a través de obstáculos potenciales. Los obstáculos potenciales pueden estar formados por una combinación de rásters, TIN, multiparches y polígonos o líneas extruidos.
Uso
-
Solo los extremos de la línea de entrada se utilizan para definir el observador y el destino. Idealmente, las líneas de visión deberían ser simples, líneas rectas compuestas de dos vértices que representan el punto de observación y la ubicación de destino para la cual se determina la visibilidad.
Si la ubicación de observación está identificada por entidades de punto y ubicaciones de destino residen en una clase de entidad diferente, utilice Construir líneas de visión para generar la entrada de esta herramienta.
Esta herramienta no crea nuevas salidas, sino que añade un atributo nuevo a las clases de entidad de líneas de visión de entrada. Si no desea que se modifiquen sus datos de entrada, realice una copia de los mismos y utilice la copia como entrada.
El tipo de geometría de Líneas de visión de entrada debería ser PolylineZ (líneas 3D que tienen valores Z), para de este modo poder realizar el análisis con sentido.
Los obstáculos de entrada pueden ser cualquier combinación de superficies o entidades. Las superficies pueden ser ráster o TIN. Cada tipo de geometría de la capa de entidades de obstrucción debe ser un multiparche, una línea o un polígono. Cada capa de entidad poligonal o de línea debe tener información de altura base y de extrusión o, de lo contrario, su contenido se pasará por alto.
Cada línea de visión de entrada puede estar formada por más de dos vértices, pero solamente se utiliza el primero y el último. Por lo tanto, cada línea de visión será siempre una línea recta.
Los valores Z del primer y último vértice de cada línea de visión son los únicos orígenes de valores Z que se utilizan.
El resultado del análisis se guarda en la tabla de atributos de entidades de la Línea de visión de entrada en un campo de enteros. De manera predeterminada, el nombre de este campo es VISIBLE, pero se puede cambiar con el parámetro Nombre de campo visible.
El resultado puede ser un valor de 1 o 0. Un valor de 1 indica que la línea de visión no está obstruida por ningún obstáculo potencial especificado en el parámetro Obstrucciones, lo que significa que tanto su punto inicial como final están visibles entre sí. Un valor de 0 indica que la línea de visión está obstruida al menos por una superficie o entidad.
Si el campo de resultado (por ejemplo VISIBLE) ya existe en la clase de entidad Línea de visión, su contenido se sobrescribirá. Si la herramienta se ejecuta desde el cuadro de diálogo, aparecerá una advertencia después de que la herramienta detecta que el campo ya existe. Independientemente de cómo se ejecuta la herramienta (por ejemplo, cuadro de diálogo o ventana Python), si los resultados se escriben en un campo existente, se añadirá un mensaje de advertencia a los mensajes de los resultados indicando que puede que los datos se hayan sobrescrito.
La herramienta se ejecutará más rápido si toda la entrada se encuentra en la misma referencia espacial, ya que los datos no se tendrán que proyectar (potencialmente varias veces) para poder comprobar la presencia de obstáculos. Sería especialmente beneficioso para todos los obstáculos que estuvieran en la misma referencia espacial que las demás. La referencia espacial de las líneas de visión no es tan importante, puesto que son más fáciles de proyectar.
- A diferencia de la herramienta Línea de visibilidad, esta herramienta determina si una línea de visión está obstruida, y no el lugar donde ha sufrido la primera obstrucción. No se mantiene ningún registro de qué obstáculos provocan que una determinada línea de visión se obstruya.
Si se desea usar la dirección (acimut y ángulo vertical) de cada línea de visión, es posible escribir esta información en las líneas de visión cuando se utiliza la herramienta Construir líneas de visión para generar las líneas de visión antes de ejecutar esta herramienta.
Esta herramienta modifica los datos de entrada. Vea Herramientas sin salidas para ver más información y estrategias para evitar cambios de datos no deseados.
Sintaxis
Parámetro | Explicación | Tipo de datos |
sight_lines |
Las líneas de visión en 3D. | Feature Layer |
obstructions [obstructions,...] |
Una o más clases de entidad o superficies de destino que pueden obstruir las líneas de visión. | Feature Layer, Raster Layer, TIN Layer |
visible_field (Opcional) |
Nombre del campo que almacenará los resultados de visibilidad. Si el valor resultante es 0, indica que los puntos de inicio y final de la línea de visión no están visibles entre sí. Si el valor es 1, indica que los puntos de inicio y final de la línea de visión están visibles entre sí. El nombre de campo predeterminado es VISIBLE. | String |
Ejemplo de código
El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:
arcpy.CheckOutExtension("3D")
arcpy.env.workspace = "C:/data"
arcpy.Intervisibility_3d("sightlines.shp", "3dbuildings.shp;topo_tin", "Visibility")
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
Esta secuencia de comandos demuestra cómo se calcula la intervisibilidad de las líneas de visión contra los obstáculos presentados por una superficie o edificios representados por multiparches.
# Import system modules
import arcpy
try:
# Checking out 3D Analyst Extension
arcpy.CheckOutExtension("3D")
# Set environments
arcpy.env.workspace = 'C:/data'
# Setting up input and output variables
sightlines = "My_Sightlines.shp"
surface = "DTM_Tin"
buildings = "My_3D_Buildings.shp"
viz_field_name = "Visibility"
print("Calculating Intervisibility...")
arcpy.Intervisibility_ddd(
sightlines, surface + ';' + buildings, viz_field_name)
except arcpy.ExecuteError:
print(arcpy.GetMessages(2))
finally:
arcpy.CheckInExtension("3D")