Добавить информацию из поверхности (3D Analyst)

Уровень лицензии:BasicStandardAdvanced

Резюме

Добавляет к атрибутам объектов пространственную информацию, полученную из поверхности.

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

Синтаксис

AddSurfaceInformation_3d (in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
ПараметрОбъяснениеТип данных
in_feature_class

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

Feature Layer
in_surface

Набор данных LAS, растровая, TIN-поверхность или поверхность terrain, использованная для интерполяции z-значений.

LAS Dataset Layer; Raster Layer; Terrain Layer; TIN Layer
out_property

Свойство высоты поверхности, которое добавляется в таблицу атрибутов входного класса объектов. В следующем списке представлены доступные ключевые слова свойства и поддерживаемые типы геометрии:

  • ZВысота поверхности интерполируется для XY-положения каждого точечного объекта.
  • Z_MINНаименьшая высота поверхности на площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек мультиточечной записи.
  • Z_MAXНаибольшая высота поверхности на площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек мультиточечной записи.
  • Z_MEANСредняя высота поверхности площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек мультиточечной записи.
  • SURFACE_AREA3D площадь поверхности для региона, заданного каждым полигоном.
  • SURFACE_LENGTH3D расстояние линии вдоль поверхности.
  • MIN_SLOPEСамое близкое к нулю значение уклона вдоль линии или внутри области, заданной полигоном.
  • MAX_SLOPEСамое высокое значение уклона вдоль линии или внутри области, заданной полигоном.
  • AVG_SLOPEСреднее значение уклона вдоль линии или внутри области, заданной полигоном.
String
method
(дополнительно)

Метод интерполяции, используемый для определения информации о поверхности. Билинейная интерполяция всегда используется для растровых поверхностей, для триангулированных поверхностей доступны следующие опции:

  • LINEAR Z-значение интерполируется по плоскости треугольника поверхности, содержащего запрашиваемую точку. Это значение используется по умолчанию.
  • NATURAL_NEIGHBORS Применяет взвешивание на основе площади к измерениям поверхности в естественной окрестности запрашиваемой точки.
  • CONFLATE_ZMIN Использует минимальное Z-значение из измерений поверхности в естественной окрестности запрашиваемой точки.
  • CONFLATE_ZMAX Использует максимальное Z-значение из измерений поверхности в естественной окрестности запрашиваемой точки.
  • CONFLATE_NEAREST Получает Z-значение из измерения поверхности, XY расстояние которого является ближайшим к запрашиваемой точке.
  • CONFLATE_CLOSEST_TO_MEAN Получает Z-значение из измерения поверхности в естественной окрестности запрашиваемой точки, которое является ближайшим к среднему из измерений окрестности.
String
sample_distance
(дополнительно)

Интервал, по которому будут интерполированы Z-значения. По умолчанию используется размер ячейки растра, если входная поверхность – это растр, и естественное уплотнение триангулированной поверхности используется, если входная поверхность – это набор данных TIN или terrain.

Double
z_factor
(дополнительно)

Коэффициент, на который будут умножаться значения высоты. Обычно он используется для преобразования линейных единиц измерения Z, соответствующих линейным единицам измерения XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются.

Double
pyramid_level_resolution
(дополнительно)

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

Double
noise_filtering
(дополнительно)

Исключает участки поверхности, характеризующиеся потенциально аномальными измерениями, из участия в вычислении уклона. Для линейных объектов может использоваться фильтр по длине, для полигональных – по площади, а значение, соответствующее каждой опции фильтра, оценивается в линейных единицах измерения системы координат объекта. Свойства, не относящиеся к уклонам, не затрагиваются этим параметром.

  • NO_FILTERФильтр для подавления шума не будет использоваться для ограничения фрагментов линий или треугольников поверхности, участвующих в расчете уклона. Это значение используется по умолчанию.
  • AREA <value>Треугольники поверхности с 3D площадями, меньшими указанного значения, будут исключаться из вычислений при расчете уклона.
  • LENGTH <value> Фрагменты линий, 3D длина которых после интерполяции на поверхности меньше указанного значения, будут исключаться из вычислений при расчете уклона.
String

Пример кода

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.AddSurfaceInformation_3d("points.shp", "my_tin", "Z", "LINEAR")
Пример AddSurfaceInformation 2 (автономный скрипт)

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

'''*********************************************************************
Name: AddSurfaceInformation Example
Description: This script demonstrates how to use AddSurfaceInformation 
             on all 2D feature classes in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    # Set Local Variables
    env.workspace = 'c:/data'
    inSurface = 'fgdb.gdb/municipal/terrain'
    pyramid = 5
    method = "BILINEAR"
    # Create list of feature classes
    fcList = arcpy.ListFeatureClasses()
    if fcList:
        for fc in fcList:
            desc = arcpy.Describe(fc)
            # Determine if the feature is 2D
            if not desc.hasZ:
                if desc.shapeType == "Polygon":
                    # Desired properties separated by semi-colons
                    Prop = "Z_MIN;Z_MAX" 
                elif desc.shapeType == "Point":
                    Prop = "Z"
                elif desc.shapeType == "Multipoint":
                    Prop = "Z_MIN;Z_MAX;Z_MEAN"
                elif desc.shapeType == "Polyline":
                    Prop = "LENGTH_3D"
                # Execute AddSurfaceInformation
                arcpy.ddd.AddSurfaceInformation(fc, inSurface, Prop, 
                                                method, 15, 1, pyramid)
                print "Completed adding surface information."
    arcpy.CheckInExtension('3D')

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)

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

Связанные темы

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

ArcGIS for Desktop Basic: Требует 3D Analyst
ArcGIS for Desktop Standard: Требует 3D Analyst
ArcGIS for Desktop Advanced: Требует 3D Analyst
9/10/2013