Resumen
Calcula el área y el volumen de la región entre una superficie y un plano de referencia.
Ilustración
Uso
Aplica un Factor Z para garantizar la precisión de los cálculos de volumen cuando los valores Z de la superficie se expresan en una unidad de medida distinta de las unidades XY. El uso del Factor Z no modificará los datos originales. La herramienta determinará automáticamente el factor Z adecuado cuando se definan sistemas de coordenadas XY y Z.
El archivo de texto de salida almacenará la ruta completa a la superficie, los parámetros utilizados para generar los resultados y las mediciones de área y volumen que se han calculado. Si se especifica el mismo archivo de salida en varias ejecuciones de la herramienta, se mantendrán los registros preexistentes y los resultados se incorporarán a la tabla.
Dataset Altura del plano Referencia Factor Z Área 2D Área 3D Volumen C:\data\tin
100.00
Encima
1
15984467.82
16354331.40
1886012931.05
C:\data\raster.tif
250.5
Debajo
3.28084
0
0
0
C:\data.gdb\fd\terrain
1250
Encima
0.3048
1854238.36
1970550.88
1099221466.89
Si la región para la que va a calcular el volumen y el área de la superficie está definida con una extensión no rectangular, plantéese la posibilidad de crear un polígono para delinear el límite del área de interés y, a continuación, utilice la herramienta Volumen de polígono para determinar los cálculos de la región entre el plano definido por el polígono y una determinada superficie.
Una superficie de ráster se evalúa utilizando la extensión del punto central de cada celda, en lugar de la extensión del área completa de la celda. El análisis resultante reducirá el área de datos del ráster a la mitad de una celda en relación con el área de datos que se muestra para el ráster.
Sintaxis
SurfaceVolume_3d (in_surface, {out_text_file}, {reference_plane}, {base_z}, {z_factor}, {pyramid_level_resolution})
Parámetro | Explicación | Tipo de datos |
in_surface | La superficie del ráster, TIN o terreno que se va a procesar. | Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer |
out_text_file (Opcional) | Un archivo de texto ASCII delimitado por comas que contiene los cálculos de área y volumen. Si el archivo ya existe, se incorporarán los nuevos resultados. | File |
reference_plane (Opcional) | La dirección del plano de referencia para la que se van a calcular los resultados.
| String |
base_z (Opcional) | El valor Z del plano que se utilizará para calcular el área y el volumen. | Double |
z_factor (Opcional) | El factor por el que se multiplicarán los valores Z. Esto se utiliza generalmente para convertir las unidades lineales Z para que coincidan con las unidades lineales XY. El valor predeterminado es 1, que no altera los valores de elevación. | Double |
pyramid_level_resolution (Opcional) | La tolerancia Z o la resolución del tamaño de la ventana del nivel de pirámide de terreno que utilizará esta herramienta. El valor predeterminado es 0, o resolución completa. | Double |
Muestra de código
Ejemplo 1 de SurfaceVolume (ventana de Python)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt",
"ABOVE", 300, 1, 5)
Ejemplo 2 de SurfaceVolume (secuencia de comandos independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python.
'''****************************************************************************
Name: Surface Volume Example
Description: This script demonstrates how to use the
Surface Volume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "elevation_tin"
#Execute SurfaceVolume
result = arcpy.SurfaceVolume_3d(inSurface, "", "ABOVE", "300", "1", "5")
print result.getMessages()
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere 3D Analyst
- ArcGIS Desktop Standard: Requiere 3D Analyst
- ArcGIS Desktop Advanced: Requiere 3D Analyst