Объем для поверхности (3D Analyst)

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

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

Иллюстрация

Базовая плоскость – Над плоскостью; Высота плоскости пересекает поверхность
Базовая плоскость – Под плоскостью; Высота плоскости пересекает поверхность

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

  • Примените Z коэффициент для корректировки вычисления объема, если Z-значения поверхности выражены в единицах измерения, отличающихся от единиц измерения XY. Использование Z коэффициента не влияет на исходные данные. Инструмент автоматически определяет соответствующее значение Z-фактора при задании систем координат XY и Z.

  • В выходном текстовом файле хранится полный путь к поверхности, параметры, использованные для получения результатов, и вычисленные значения площадей и объемов. Если при нескольких запусках инструмента задан один и тот же выходной файл, ранее существующие записи не удаляются, а новые результаты присоединяются к таблице.

    Набор данныхВысота плоскостиБазаКоэффициент Z2D площадь3D площадьОбъём

    C:\data\tin

    100.00

    Над

    1

    15984467.82

    16354331.40

    1886012931.05

    C:\data\raster.tif

    250.5

    Под

    3.28084

    0

    0

    0

    C:\data.gdb\fd\terrain

    1250

    Над

    0.3048

    1854238.36

    1970550.88

    1099221466.89

  • Если экстент региона, для которого необходимо рассчитать площадь поверхности и объем, не прямоугольный, создайте полигон для обозначения границ области интереса, затем используйте инструмент Объем полигона для проведения вычислений в регионе, заданном плоскостью полигона и данной поверхностью.

  • Растровая поверхность оценивается с использованием экстента центральной точки каждой ячейки, в противоположность экстенту всей площади ячейки. В готовом анализе область данных растра будет уменьшена на половину ячейки, по сравнению с областью данных, отображаемой для этого растра.

Параметры

ПодписьОписаниеТип данных
Входная поверхность

Растровая, TIN или terrain поверхность, которая будет обрабатываться.

Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
Выходной текстовой файл
(Дополнительный)

Текстовой ASCII-файл с разделителями-запятыми, содержащий вычисления площади и объема. Если файл уже существует, новые результаты будут добавлены.

File
Базовая плоскость
(Дополнительный)

Направление с базовой плоскости, в котором вычисляются результаты.

  • ABOVEВычисления объема и площади представляют собой пространство между указанной высотой плоскости и теми участками поверхности, которые находятся над ней. Это значение по умолчанию
  • BELOWВычисления объема и площади будут представлять пространство между указанной высотой плоскости и участками поверхности, находящимися ниже плоскости.
String
Высота плоскости
(Дополнительный)

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

Double
Коэффициент Z
(Дополнительный)

Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных z-единиц для соответствия линейным единицам x,y. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр недоступен, если пространственная привязка входной поверхности имеет z-датум с указанными линейными единицами.

Double
Разрешение уровня пирамидных слоев
(Дополнительный)

Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, полное разрешение.

Double

arcpy.ddd.SurfaceVolume(in_surface, {out_text_file}, {reference_plane}, {base_z}, {z_factor}, {pyramid_level_resolution})
ИмяОписаниеТип данных
in_surface

Растровая, TIN или terrain поверхность, которая будет обрабатываться.

Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
out_text_file
(Дополнительный)

Текстовой ASCII-файл с разделителями-запятыми, содержащий вычисления площади и объема. Если файл уже существует, новые результаты будут добавлены.

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

Направление с базовой плоскости, в котором вычисляются результаты.

  • ABOVEВычисления объема и площади представляют собой пространство между указанной высотой плоскости и теми участками поверхности, которые находятся над ней. Это значение по умолчанию
  • BELOWВычисления объема и площади будут представлять пространство между указанной высотой плоскости и участками поверхности, находящимися ниже плоскости.
String
base_z
(Дополнительный)

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

Double
z_factor
(Дополнительный)

Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных z-единиц для соответствия линейным единицам x,y. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр недоступен, если пространственная привязка входной поверхности имеет z-датум с указанными линейными единицами.

Double
pyramid_level_resolution
(Дополнительный)

Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, полное разрешение.

Double

Пример кода

SurfaceVolume. Пример 1 (окно Python)

В следующем примере показано использование этого инструмента в окне Python.

arcpy.env.workspace = "C:/data"
arcpy.ddd.SurfaceVolume("sample.gdb/featuredataset/terrain", "surf_vol.txt", 
                       reference_plane="ABOVE", base_z=300, z_factor=3.24, 
                       pyramid_level_resolution=5)
SurfaceVolume, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента как автономного скрипта Python.

'''****************************************************************************
Name: Surface Volume Example
Description: This script demonstrates how to use the
             Surface Volume tool.

****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set Local Variables
inSurface = "elevation_tin"

# Execute SurfaceVolume
result = arcpy.ddd.SurfaceVolume(inSurface, "", "ABOVE", "300", "1", "5")
print(result.getMessages())

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