Объем для поверхности (3D Analyst)
Резюме
Вычисляет площадь и объем для растровой, TIN поверхности или поверхности набора данных Terrain выше или ниже указанной базовой плоскости.
<Более подробно о работе инструмента Объем для поверхности (Surface Volume)
Рисунок
Использование
-
Рассмотрите возможность использования инструмента Объем полигона (Polygon Volume) для определения объема указанной части поверхности TIN или набора данных Terrain.
-
Использование Коэффициента Z (Z Factor) необходимо для уточнения вычислений, если z-единицы поверхности отличаются от единиц x,y. Использование Коэффициента Z (Z Factor) не оказывает влияния на исходные данные.
Растровая ЦМР состоит из точек, расположенных на равном расстоянии друг от друга, а не из ячеек, как растр. Вычисления, сделанные инструментом Объем для поверхности (Surface Volume) основываются на экстенте равномерно расположенных точек ЦМР, а не на экстенте ячеек. Поскольку эти вычисления выполняются по точкам, а не по ячейкам, область данных растровой ЦМР увеличивается на половину размера ячейки, относительно области данных, отображаемой как растровое изображение.
Синтаксис
Параметр | Объяснение | Тип данных |
in_surface |
Входная растровая, TIN поверхность или поверхность набора данных Terrain, использующаяся для вычисления площади и объема. | Raster Layer; Terrain Layer; TIN Layer |
out_text_file (дополнительно) |
Дополнительный выходной текстовый файл с результатами. | File |
reference_plane (дополнительно) |
Выберите между вычислением выше или ниже данной базовой плоскости.
| String |
base_z (дополнительно) |
Высота плоскости, используемая для вычисления площади и объема. | Double |
z_factor (дополнительно) |
Коэффициент, на который умножаются высоты входной поверхности для вычисления объема; используется для преобразования единиц измерения z в единицы измерения XY. | Double |
pyramid_level_resolution (дополнительно) |
Разрешение уровня пирамидного слоя набора данных terrain, использующегося в геообработке. Значением по умолчанию является 0, полное разрешение. | Double |
Пример кода
В следующем примере показано использование этого инструмента в окне 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)
В следующем примере показано использование этого инструмента в автономном скрипте 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.GetMessage(0)
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)