Добавить информацию из поверхности (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-значения. Этот способ обычно используется для конвертации линейных 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
5/10/2014