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

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

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

Краткая информация

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

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

Иллюстрация

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

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

  • Этот инструмент создает 3D-объекты, используя значения высоты, полученные из перекрывающихся частей входной поверхности. 3D-полигон будет хранить z-значения только по своему периметру, так как внутренняя часть 3D-полигона будет определена произвольно при визуализации. Поэтому 3D-полигоны, как правило, не подходят для представления неплоскостной информации о высоте. Чтобы создать истинное представление поверхности, используйте инструмент Интерполировать полигон в мультипатч.

  • Любые сегменты кривых линий или полигонов будут уплотнены на основе значения параметра Расстояние разбиения. Если расстояние разбиения не указано, это значение будет получено из входной поверхности. Для растра размером разбиения по умолчанию будет размер ячейки растра. Для TIN, terrain или набора данных LAS расстояние разбиения по умолчанию будет основываться на ребрах, созданных триангулированной поверхностью. Если кривая короче, чем размер разбиения, то кривая будет упрощена до линии с двумя точками, с использованием ее начальной и конечной точек.

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

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

Параметры

ПодписьОписаниеТип данных
Входная поверхность

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

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer; Image Service
Входные объекты

Входные объекты, которые будут обрабатываться.

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

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

Feature Class
Расстояние разбиения
(Дополнительный)

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

Double
Коэффициент Z
(Дополнительный)

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

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

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

  • БилинейныйЗначение запрашиваемой точки будет определено с использованием билинейной интерполяции. Применяется по умолчанию в случае растровой поверхности.
  • Ближайшего соседаЗначение запрашиваемой точки будет определено с использованием интерполяции Ближайшая окрестность. При использовании этого метода, будут интерполироваться значения поверхности только по вершинам входных объектов. Это опция доступна только для растровой поверхности.
  • ЛинейнаяЗначения высоты будут получены из плоскости, которая определяется треугольником, содержащим x,y-расположение запрашиваемой точки. Это метод интерполяции по умолчанию для наборов данных TIN, terrain и LAS.
  • Естественная окрестностьЗначения высоты будут получены путем применения взвешивания на основе площади к естественной окрестности запрашиваемой точки.
  • Объединить мин. zЗначения высоты будут получены из наименьшего z-значения, найденного в естественной окрестности запрашиваемой точки.
  • Объединить макс. zЗначения высоты будут получены из наибольшего z-значения в естественной окрестности запрашиваемой точки.
  • Объединить ближайшие ZЗначения высоты будут получены из ближайшего значения в естественной окрестности запрашиваемой точки.
  • Объединить ближайшие к среднему ZЗначения высоты будут получены из z--значения, которое ближе всего к среднему из всех естественных окрестностей запрашиваемой точки.
String
Интерполировать только вершины
(Дополнительный)

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

  • Отмечено — интерполяция будет выполняться только по вершинам.
  • Не отмечено — интерполяция будет выполняться с использованием расстояния разбиения. Это значение по умолчанию
Boolean
Разрешение уровня пирамидных слоев
(Дополнительный)

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

Double
Сохранять объекты частично выходящие за поверхность
(Дополнительный)

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

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

arcpy.ddd.InterpolateShape(in_surface, in_feature_class, out_feature_class, {sample_distance}, {z_factor}, {method}, {vertices_only}, {pyramid_level_resolution}, {preserve_features})
ИмяОписаниеТип данных
in_surface

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

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

Входные объекты, которые будут обрабатываться.

Feature Layer
out_feature_class

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

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

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

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

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

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

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

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

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