Интерполировать форму (3D Analyst)

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

Резюме

Интерполирует z-значения для класса объектов на основе рельефа растра, триангуляционной нерегулярной сети (TIN) или набора данных Terrain.

Более подробно о работе инструмента Интерполировать форму (Interpolate Shape)

Рисунок

Интерполировать форму (Interpolate Shape) – иллюстрация

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

Синтаксис

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

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

LAS Dataset Layer, Raster Layer; Terrain Layer; TIN Layer
in_feature_class

Входной класс объектов.

Feature Layer
out_feature_class

Выходной класс объектов.

Feature Class
sample_distance
(дополнительно)

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

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

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

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

Метод интерполяции, используемый для определения значений высоты для выходных объектов. Доступные опции зависят от используемого типа поверхности. BILINEAR (билинейная интерполяция) – доступна для поверхности растра, в которой запрашиваемая точка получает высоту из значений, полученных от четырех ближайших ячеек. Наборы данных TIN и Terrain предоставляют следующие опции:

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

Определяет, будет ли интерполяция выполняться по вершинам входного объекта (с игнорированием опции расстояния разбиения).

  • DENSIFYИнтерполяция с использованием расстояния разбиения. Это значение используется по умолчанию.
  • VERTICES_ONLYИнтерполяция по вершинам.
Boolean
pyramid_level_resolution
(дополнительно)

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

Double

Пример кода

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.InterpolateShape_3d("my_tin", "roads.shp", "roads_interp.shp")
InterpolateShape, пример 2 (автономный скрипт)

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

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

# Set local variables
inWorkspace = arcpy.GetParameterAsText(0)
surface = arcpy.GetParameterAsText(1)

try:
    arcpy.CheckOutExtension("3D")
    # Set default workspace
    env.workspace = inWorkspace
    # Create list of feature classes in target workspace
    fcList = arcpy.ListFeatureClasses()
    if fcList:
        for fc in fcList:
            desc = arcpy.Describe(fc)
            # Find 2D features
            if not desc.hasZ:
                # Set Local Variables
                outFC = "{0}_3D.shp".format(desc.basename)
                method = "BILINEAR"
                # Execute InterpolateShape
                arcpy.ddd.InterpolateShape(surface, fc, outFC, 
                                           10, 1, method, True)
            else:
                print "{0} is not a 2D feature.".format(fc)
    else:
        print "No feature classes were found in {0}.".format(env.workspace)
    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