Calcular el volumen de corte y relleno (Image Analyst)

Disponible con licencia de Image Analyst.

Resumen

Calcula los volúmenes de corte y relleno entre una superficie de elevación base y un ráster de elevación. También se puede generar un ráster de corte y relleno. La superficie de elevación base se puede especificar con diferentes tipos, como una clase de entidad que contenga uno o más polígonos, una matriz de polígonos, una cadena o archivo JSON o un ráster.

Uso

  • El valor del parámetro Ráster de corte y relleno de salida es un dataset ráster compuesto por áreas que representan las zonas en las que se ha eliminado material (corte) y las zonas en las que se ha agregado material (relleno). Haga clic en el dataset ráster de corte y relleno de salida para mostrar la información de corte y relleno en el panel Información de la imagen.

  • En el valor del parámetro Ráster de corte y relleno de salida, los valores de volumen de las áreas de corte son positivos y los de las áreas de relleno son negativos. Por ejemplo, un valor de píxel de -0,000305 significa metros cúbicos de relleno.

  • Cuando el valor del parámetro Superficie base de entrada es polígonos, las opciones habilitadas del parámetro Tipo de superficie base son Superficie, Mínimo, Máximo, Media, Z constante y Geometría Z.

  • El valor del parámetro Información de volumen de salida contendrá la información de volumen de corte y relleno en un archivo .txt o .json. A continuación se muestra un ejemplo de salida:

    
    [
      {
        "area" : 19009.705386691581,
        "cut" : 19216.883079243154,
        "fill" : -31352.230228323864,
        "cutCellCount" : 668750,
        "fillCellCount" : 936135,
        "minz" : 24.048617219013618,
        "maxz" : 239.59296198262672,
        "meanz" : 127.5100044561793
      }
    ]

    La información del archivo está organizada de la siguiente manera:

    • area: el área en metros cuadrados
    • cut: el volumen de corte en metros cúbicos
    • fill: el volumen de relleno en metros cúbicos
    • cutCellCount: el número de celdas de corte
    • fillCellCount: el número de celdas de relleno
    • minz: el valor de elevación mínimo en metros
    • maxz: el valor de elevación máximo en metros
    • meanz: el valor de elevación medio en metros

Parámetros

EtiquetaExplicaciónTipo de datos
DSM de entrada

El ráster de elevación del modelo digital de superficie (DSM) de entrada. Este ráster de DSM de entrada se compara con el ráster de elevación base.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service
Superficie Base

La superficie de elevación base que se utilizará para calcular los volúmenes de corte y relleno. La superficie de elevación base admite diferentes tipos, como una clase de entidad que contiene uno o más polígonos, una matriz de polígonos, una cadena o archivo JSON o un ráster.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service; Feature Class; Feature Layer; String; File
Tipo de superficie base

Especifica el tipo de superficie base que se utilizará para la superficie base.

  • SuperficieLos valores de altura del DSM de entrada en la ubicación del vértice del polígono se utilizarán para construir la superficie base.
  • MínimoEl valor de altura mínimo del DSM de entrada para el perímetro del polígono de la superficie base se utilizará como superficie base.
  • MáximoEl valor de altura máximo del DSM de entrada para el perímetro del polígono de la superficie base se utilizará como superficie base.
  • Valor medioEl valor de altura medio del DSM de entrada para el perímetro del polígono de la superficie base se utilizará como superficie base.
  • Constante ZEl valor z constante se utilizará como superficie base.
  • Geometría ZEl valor z de los vértices de la geometría 3D se utilizará para construir la superficie base. Si esta opción se utiliza con una clase de entidad sin elevación, se utilizará el valor de altura del parámetro DSM de entrada.
  • DSMSe utilizará un DSM como superficie base.
String
Constante Z
(Opcional)

El valor que se utilizará para definir el plano de elevación para realizar el cálculo del volumen.

Este parámetro está activo cuando el parámetro Tipo de superficie base se establece en Z constante.

Linear Unit
Información de volumen de salida
(Opcional)

El archivo de salida con información sobre el volumen de corte y relleno. El archivo puede ser un archivo .txt o un archivo .json. Los resultados se expresarán en metros cuadrados para los cálculos de superficie y en metros cúbicos para los cálculos de volumen.

File
Ráster Cortar/Rellenar de salida
(Opcional)

El raster de volumen de corte y relleno de salida. Proporcione una extensión de archivo para indicar los diferentes formatos del dataset ráster. El parámetro admite tipos de ráster de uso común, como .tif, .crf, .img, GRID y ráster de base de datos geográficos de archivos.

Raster Dataset

CalculateCutFillVolume(in_raster, in_base_surface, base_surface_type, {constant_z}, {out_volume_info}, {out_cut_fill_raster})
NombreExplicaciónTipo de datos
in_raster

El ráster de elevación del modelo digital de superficie (DSM) de entrada. Este ráster de DSM de entrada se compara con el ráster de elevación base.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service
in_base_surface

La superficie de elevación base que se utilizará para calcular los volúmenes de corte y relleno. La superficie de elevación base admite diferentes tipos, como una clase de entidad que contiene uno o más polígonos, una matriz de polígonos, una cadena o archivo JSON o un ráster.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service; Feature Class; Feature Layer; String; File
base_surface_type

Especifica el tipo de superficie base que se utilizará para la superficie base.

  • SURFACELos valores de altura del DSM de entrada en la ubicación del vértice del polígono se utilizarán para construir la superficie base.
  • MINIMUMEl valor de altura mínimo del DSM de entrada para el perímetro del polígono de la superficie base se utilizará como superficie base.
  • MAXIMUMEl valor de altura máximo del DSM de entrada para el perímetro del polígono de la superficie base se utilizará como superficie base.
  • MEANEl valor de altura medio del DSM de entrada para el perímetro del polígono de la superficie base se utilizará como superficie base.
  • CONSTANTZEl valor z constante se utilizará como superficie base.
  • GEOMETRYZEl valor z de los vértices de la geometría 3D se utilizará para construir la superficie base. Si esta opción se utiliza con una clase de entidad sin elevación, se utilizará el valor de altura del parámetro in_raster.
  • DSMSe utilizará un DSM como superficie base.
String
constant_z
(Opcional)

El valor que se utilizará para definir el plano de elevación para realizar el cálculo del volumen.

Este parámetro está habilitado cuando el parámetro base_surface_type tiene el valor CONSTANTZ.

Linear Unit
out_volume_info
(Opcional)

El archivo de salida con información sobre el volumen de corte y relleno. El archivo puede ser un archivo .txt o un archivo .json. Los resultados se expresarán en metros cuadrados para los cálculos de superficie y en metros cúbicos para los cálculos de volumen.

File
out_cut_fill_raster
(Opcional)

El raster de volumen de corte y relleno de salida. Proporcione una extensión de archivo para indicar los diferentes formatos del dataset ráster. El parámetro admite tipos de ráster de uso común, como .tif, .crf, .img, GRID y ráster de base de datos geográficos de archivos.

Raster Dataset

Muestra de código

Ejemplo 1 de CalculateCutfillVolume example (ventana de Python)

Este ejemplo calcula la información de volumen utilizando una cadena JSON de matriz de polígonos como superficie base.

# Import system modules 
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Calculate Volume information
arcpy.ia.CalculateCutfillVolume(in_raster=r"C:\Data\YVWD_dsm.crf",    in_base_surface='{"objectIdFieldName":"OBJECTID","fields":[{"name":"OBJECTID","type":"esriFieldTypeOID","alias":"OBJECTID","domain":null},{"name":"Shape","type":"esriFieldTypeGeometry","alias":"Shape","domain":null},{"name":"id","type":"esriFieldTypeInteger","alias":"ID","domain":null},{"name":"name","type":"esriFieldTypeString","alias":"NAME","domain":null},{"name":"baseType","type":"esriFieldTypeInteger","alias":"BASE SURFACE TYPE","domain":{"type":"codedValue","name":"VolumeBaseSurfaceType","description":"Base surface types for volume calculation.","codedValues":[{"name":"Costant Z","code":0},{"name":"Best Fit","code":1},{"name":"Minimum Z","code":2},{"name":"Maximum Z","code":3},{"name":"Average Z","code":4}],"mergePolicy":"esriMPTDefaultValue","splitPolicy":"esriSPTDefaultValue"}},{"name":"constantZ","type":"esriFieldTypeDouble","alias":"CONSTANT Z","domain":null},{"name":"area","type":"esriFieldTypeDouble","alias":"AREA","domain":null},{"name":"minz","type":"esriFieldTypeDouble","alias":"MINIMUM Z","domain":null},{"name":"maxz","type":"esriFieldTypeDouble","alias":"MAXIMUM Z","domain":null},{"name":"meanz","type":"esriFieldTypeDouble","alias":"MEAN Z","domain":null},{"name":"cut","type":"esriFieldTypeDouble","alias":"CUT","domain":null},{"name":"fill","type":"esriFieldTypeDouble","alias":"FILL","domain":null}],"geometryType":"esriGeometryPolygon","spatialReference":{"wkid":102100,"latestWkid":3857},"features":[{"geometry":{"rings":[[[-13034818.299460374,4029761.0475366744],[-13034772.914974842,4029762.241865241],[-13034776.497960543,4029728.5020832345],[-13034835.915806731,4029729.3978296597],[-13034818.299460374,4029761.0475366744]]],"spatialReference":{"wkid":102100,"latestWkid":3857}},"attributes":{"id":1,"name":"AOI 1","baseType":0,"constantZ":90,"area":1172.3330906432095,"minz":626.8749025576568,"maxz":629.5470508029413,"meanz":627.6681208213765,"cut":631398.5623827629,"fill":0}}]}',    base_surface_type="MINIMUM",    
constant_z=300,    
out_volume_info=r"C:\cutfill\volume.json",    
out_cut_fill_raster=r"C:\cutfill\CutFillRaster.crf")
Ejemplo 2 de CalculateCutfillVolume (secuencia de comandos independiente)

Este ejemplo calcula el volumen utilizando una clase de entidad de polígonos como superficie base.

# Import system modules 
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Define parameters.  
in_raster = r"C:\Data\YVWD_dsm.crf " 
in_base_surface = r"C:\Data\YVWD.gdb\AOI_2D"    
base_surface_type = "SURFACE"
Constant_z = "None"    
out_volume_info = r"C:\Output\volume.json"
out_cut_fill_raster = r"C:\Data\YVWD.gdb\CutFillRaster"

# Execute CalculateVolume
 arcpy.ia.CalculateCutfillVolume(in_raster, in_base_surface, base_surface_type, constant_z, out_volume_info, out_cut_fill_raster)

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Requiere Image Analyst
  • Standard: Requiere Image Analyst
  • Advanced: Requiere Image Analyst

Temas relacionados