Resumen
Determina la visibilidad de las líneas de visión utilizando posibles obstáculos definidos mediante cualquier combinación de entidades y superficies 3D.
Uso
Esta herramienta modifica las Líneas de visión de entrada agregando un campo nuevo o actualizando uno existente. Puede especificar el nombre del campo en el parámetro Nombre de campo visible. Los valores del campo serán 1 para las líneas de visión visibles o 0 para las líneas de visión con obstáculos. Si no tiene acceso de escritura a las entidades de entrada o si no desea que se modifiquen sus datos de entrada, realice una copia de la entrada que vaya a utilizar con esta herramienta. Consulte Herramientas que no crean datasets de salida para obtener más información y estrategias para evitar cambios de datos no deseados.
-
Solo los extremos de la línea de entrada se utilizan para definir el observador y el destino. Lo ideal sería que las líneas de visión fueran líneas rectas compuestas por dos vértices que representasen el punto de observación y la ubicación de destino para la cual se determina la visibilidad.
-
Plantéese la posibilidad de utilizar la herramienta Construir líneas de visión si la ubicación del observador está definida mediante entidades de punto y el destino de visibilidad está representado mediante datos almacenados en una clase de entidad diferente.
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. Es útil que todos los obstáculos que estén en la misma referencia espacial que los 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.
Plantéese la posibilidad de utilizar la herramienta Línea de visión si desea determinar la posición de la ubicación de obstrucción para líneas de visión no visibles.
Sintaxis
arcpy.3d.Intervisibility(sight_lines, obstructions, {visible_field})
Parámetro | Explicación | Tipo de datos |
sight_lines | Líneas de visión en 3D cuya visibilidad se evaluará. | Feature Layer |
obstructions [obstructions,...] | Entidades 3D, capas de escena de malla integradas y superficies que pueden obstaculizar las líneas de visión. | Feature Layer; TIN Layer; Raster Layer; Mosaic Layer; Scene Layer; File |
visible_field (Opcional) | Nombre del campo en el que se almacenarán 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. Si el campo ya existe, los valores se sobrescribirán. | String |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_feature_class | Las líneas de visión en 3D actualizadas. | Capa de entidades |
Muestra de código
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Intervisibility_3d("sightlines.shp", ["3dbuildings.shp", "topo_tin"], "Visibility")
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
Este script demuestra cómo se calcula la intervisibilidad de las líneas de visión creadas a partir de puntos de observador y líneas de destino utilizando los obstáculos que presentan las entidades de superficies y edificios.
# Import system modules
import arcpy
# Set environments
arcpy.env.workspace = 'C:/data'
print("Constructing Sightlines")
arcpy.ddd.ConstructSightLines("Observers.shp", "Targets.shp", "sightlines.shp",
observer_height_field='Shape.Z', target_height_field='Shape.Z')
print("Calculating Intervisibility")
arcpy.ddd.Intervisibility("Sightlines.shp", obstructions=["DTM_Tin", "data.gdb/buildings"],
visible_field="Visibility")
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst