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

Доступно с лицензией 3D Analyst.

Доступно с лицензией Spatial Analyst.

Сводка

Создает 3D-объекты посредством интерполяции z-значений с поверхности.

Более подробно как работает Интерполировать форму

Иллюстрация

Иллюстрация инструмента Интерполировать форму

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

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

  • При использовании опции Интерполировать только вершины объекты с вершинами, не попадающими в область данных поверхности, будут пропущены и не войдут в выходные данные, если только входная поверхность не является растровой и используется метод интерполяции Ближайшая окрестность.

Синтаксис

arcpy.3d.InterpolateShape(in_surface, in_feature_class, out_feature_class, {sample_distance}, {z_factor}, {method}, {vertices_only}, {pyramid_level_resolution}, {preserve_features})
ParameterОбъяснениеТип данных
in_surface

Поверхность, которая используется для интерполяции z-значений.

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

Обрабатываемые входные объекты.

Feature Layer
out_feature_class

Класс объектов, который будет получен в результате работы инструмента.

Feature Class
sample_distance
(Дополнительный)

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

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

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

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

Метод интерполяции, используемый для определения значений высоты для выходных объектов. Доступные опции зависят от используемого типа поверхности.

  • BILINEARОпределяет значение запрашиваемой точки с использованием билинейной интерполяции. Применяется по умолчанию в случае растровой поверхности.
  • NEARESTОпределяет значение запрашиваемой точки с использованием интерполяции Ближайшая окрестность. При использовании этого метода, будут интерполироваться значения поверхности только по вершинам входных объектов. Это опция доступна только для растровой поверхности.
  • LINEAR Метод интерполяции по умолчанию для набора данных TIN, terrain и LAS. Получает высоту от плоскости, которая определяется треугольником, содержащим расположение 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
preserve_features
(Дополнительный)

Определяет, будут ли сохраняться в выходных данных объекты, одна или несколько вершин которых выходят за пределы области данных растра. Параметр доступен только для растровой входной поверхности и при использовании интерполяции Ближайшая окрестность.

  • PRESERVEКаждая вершина, которая находится вне растровой поверхности, получит z-значение, извлеченное из тренда z-значений, вычисленных для вершин, находящихся в пределах растровой поверхности.
  • EXCLUDEОбъекты, хотя бы одна вершина которых находится вне растровой поверхности, не переносятся в выходные данные. Это значение по умолчанию
Boolean

Пример кода

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

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

arcpy.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

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

try:
    # Set default workspace
    arcpy.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))
    
except arcpy.ExecuteError:
    print(arcpy.GetMessages())
    
except Exception as err:
    print(err)

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

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst

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