Вычислить объем заполнения насыпей и выемок (Image Analyst)

Доступно с лицензией Image Analyst.

Краткая информация

Вычисляет объемы выемки и насыпи между базовой поверхностью высот и растром высот. Также может быть создан растр выемки и насыпи. Базовая поверхность высот может быть задана различными типами, например, классом пространственных объектов с одним или несколькими полигонами, массивом полигонов, строкой или файлом JSON либо растром.

Использование

  • Значение параметра Выходной растр выемки/насыпи представляет собой набор растровых данных, содержащий области, где материал был удален (выемка), и области, где материал был добавлен (насыпь). Щелкните выходной набор растровых данных выемки/насыпи, чтобы отобразить информацию о выемке и насыпи в панели Сведения об изображении.

  • В значении параметра Выходной растр выемки/насыпи объемы для областей выемки имеют положительные значения, а для областей насыпи — отрицательные. Например, значение пиксела –0.000305 соответствует объему насыпи в кубических метрах.

  • Если в параметре Базовая поверхность заданы полигоны, становятся доступными следующие варианты параметра Тип базовой поверхности: Поверхность, Минимум, Максимум, Среднее, Постоянное Z и Геометрия Z.

  • Значение параметра Выходная информация об объеме будет содержать сведения о выемке и насыпи в файле .txt или .json. Пример выходных данных приведен ниже:

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

    Информация в файле организована следующим образом:

    • area — площадь в квадратных метрах
    • cut — объем выемки в кубических метрах
    • fill — объем насыпи в кубических метрах
    • cutCellCount — количество ячеек выемки
    • fillCellCount — количество ячеек насыпи
    • minz — минимальное значение высоты в метрах
    • maxz — максимальное значение высоты в метрах
    • meanz — среднее значение высоты в метрах

Параметры

ПодписьОписаниеТип данных
Входная ЦММ

Входной растровый слой цифровой модели местности (ЦММ). Этот входной растр ЦММ сравнивается с базовым растровым слоем высот.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service
Базовая поверхность

Базовая поверхность высот, которая будет использоваться для вычисления объемов выемки и насыпи. Базовая поверхность высот поддерживает различные типы, например, класс пространственных объектов с одним или несколькими полигонами, массив полигонов, строку или файл JSON либо растр.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; Image Service; Feature Class; Feature Layer; String; File
Тип базовой поверхности

Задает тип базовой поверхности, который будет использоваться для расчета базовой поверхности.

  • ПоверхностьДля построения базовой поверхности будут использоваться значения высоты входной ЦММ в вершинах полигона.
  • МинимумВ качестве базовой поверхности будет использовано Минимальное значение высоты входной ЦММ по периметру полигона базовой поверхности.
  • МаксимумВ качестве базовой поверхности будет использовано Максимальное значение высоты входной ЦММ по периметру полигона базовой поверхности.
  • СреднееВ качестве базовой поверхности будет использовано Среднее значение высоты входной ЦММ по периметру полигона базовой поверхности.
  • Константа ZВ качестве базовой поверхности будет использовано постоянное z-значение.
  • Геометрия ZZ-значение вершин 3D‑геометрии будет использовано для построения базовой поверхности. Если этот вариант используется с классом пространственных объектов без высоты, то будет использовано значение высоты из параметра Входная ЦММ.
  • ЦММВ качестве базовой поверхности будет использована ЦММ.
String
Константа Z
(Дополнительный)

Значение, которое будет использоваться для определения высоты плоскости при выполнении расчета объема.

Этот параметр активен, когда для параметра Тип базовой поверхности задано значение Константа Z.

Linear Unit
Информация о выходном объеме
(Дополнительный)

Выходной файл с информацией о выходном объеме. Этот файл может быть файлом .txt или .json. Результаты будут представлены в квадратных метрах для расчетов площади и в кубических метрах для расчетов объема.

File
Выходной растр насыпей/выемок
(Дополнительный)

Выходной слой растра объемов выемки и насыпи. Укажите расширение файла, чтобы обозначить различные форматы набора растровых данных. Параметр поддерживает распространенные типы растров, такие как .tif, .crf, .img, GRID и растр файловой базы геоданных.

Raster Dataset

CalculateCutFillVolume(in_raster, in_base_surface, base_surface_type, {constant_z}, {out_volume_info}, {out_cut_fill_raster})
ИмяОписаниеТип данных
in_raster

Входной растровый слой цифровой модели местности (ЦММ). Этот входной растр ЦММ сравнивается с базовым растровым слоем высот.

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

Базовая поверхность высот, которая будет использоваться для вычисления объемов выемки и насыпи. Базовая поверхность высот поддерживает различные типы, например, класс пространственных объектов с одним или несколькими полигонами, массив полигонов, строку или файл JSON либо растр.

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

Z-значение вершин 3D‑геометрии будет использовано для построения базовой поверхности.

  • SURFACEДля построения базовой поверхности будут использоваться значения высоты входной ЦММ в вершинах полигона.
  • MINIMUMВ качестве базовой поверхности будет использовано Минимальное значение высоты входной ЦММ по периметру полигона базовой поверхности.
  • MAXIMUMВ качестве базовой поверхности будет использовано Максимальное значение высоты входной ЦММ по периметру полигона базовой поверхности.
  • MEANВ качестве базовой поверхности будет использовано Среднее значение высоты входной ЦММ по периметру полигона базовой поверхности.
  • CONSTANTZВ качестве базовой поверхности будет использовано постоянное z-значение.
  • GEOMETRYZZ-значение вершин 3D‑геометрии будет использовано для построения базовой поверхности. Если этот вариант используется с классом пространственных объектов без высоты, то будет использовано значение высоты из параметра in_raster.
  • DSMВ качестве базовой поверхности будет использована ЦММ.
String
constant_z
(Дополнительный)

Значение, которое будет использоваться для определения высоты плоскости при выполнении расчета объема.

Этот параметр активен тогда, когда параметр base_surface_type имеет значение CONSTANTZ.

Linear Unit
out_volume_info
(Дополнительный)

Выходной файл с информацией о выходном объеме. Этот файл может быть файлом .txt или .json. Результаты будут представлены в квадратных метрах для расчетов площади и в кубических метрах для расчетов объема.

File
out_cut_fill_raster
(Дополнительный)

Выходной слой растра объемов выемки и насыпи. Укажите расширение файла, чтобы обозначить различные форматы набора растровых данных. Параметр поддерживает распространенные типы растров, такие как .tif, .crf, .img, GRID и растр файловой базы геоданных.

Raster Dataset

Пример кода

CalculateCutfillVolume, пример 1 (окно Python)

В этом примере выполняется расчет объемов с использованием массива полигонов в формате JSON в качестве базовой поверхности.

# 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")
CalculateCutfillVolume, пример 2 (автономный скрипт)

В этом примере выполняется расчет объемов с использованием класса полигональных объектов в качестве базовой поверхности.

# 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)

Параметры среды

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • Basic: Обязательно Image Analyst
  • Standard: Обязательно Image Analyst
  • Advanced: Обязательно Image Analyst

Связанные разделы