Краткая информация
Создает 3D-объекты посредством интерполяции z-значений с поверхности.
Дополнительные сведения о работе инструмента Интерполировать форму
Иллюстрация
Использование
При использовании интерполяции естественной окрестности необходимо указать расстояние выборки, равное или большее половины среднего интервала между точками на поверхности.
При использовании опции Интерполировать только вершины объекты с вершинами, не попадающими в область данных поверхности, будут пропущены и не войдут в выходные данные, если только входная поверхность не является растровой и используется метод интерполяции Ближайшая окрестность.
Синтаксис
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 |
in_feature_class | Обрабатываемые входные объекты. | Feature Layer |
out_feature_class | Класс объектов, который будет получен в результате работы инструмента. | Feature Class |
sample_distance (Дополнительный) | Интервал, по которому будут интерполированы Z-значения. По умолчанию это размер ячейки набора растровых данных или естественное сгущение триангулированной поверхности. | Double |
z_factor (Дополнительный) | Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных Z-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр отключен, если пространственная привязка входной поверхности имеет Z-датум с заданными линейными единицами измерения. | Double |
method (Дополнительный) | Метод интерполяции, используемый для определения значений высоты для выходных объектов. Доступные опции зависят от используемого типа поверхности.
| String |
vertices_only (Дополнительный) | Определяет, будет ли интерполяция выполняться по вершинам входного объекта (с игнорированием опции расстояния разбиения).
| Boolean |
pyramid_level_resolution (Дополнительный) | z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться этим инструментом. Значением по умолчанию является 0, полное разрешение. | Double |
preserve_features (Дополнительный) | Определяет, будут ли сохраняться в выходных данных объекты, одна или несколько вершин которых выходят за пределы области данных растра. Параметр доступен только для растровой входной поверхности и при использовании интерполяции Ближайшая окрестность.
| Boolean |
Пример кода
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)
Параметры среды
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst