Доступно с лицензией 3D Analyst.
Сводка
Изменяет уровни пирамидных слоев, на которых применяется класс объектов для указанного набора данных Terrain.
Использование
Границы разрешения пирамиды можно задать только для типов поверхности, не обозначенных как облака точек.
Рассмотрите корректировки границ разрешения для объекта Terrain при создании новых пирамид или когда текущий диапазон не обеспечивает нужную производительность.
Набор данных Terrain станет недействительным в результате этой операции и должен быть перестроен с использованием инструмента Построить Terrain.
Синтаксис
arcpy.ddd.ChangeTerrainResolutionBounds(in_terrain, feature_class, {lower_pyramid_resolution}, {upper_pyramid_resolution}, {overview})
Параметр | Объяснение | Тип данных |
in_terrain | Обрабатываемый набор данных terrain. | Terrain Layer |
feature_class | Класс пространственных объектов, на который ссылается Terrain, для которого будут изменены разрешения пирамидных слоев. | String |
lower_pyramid_resolution (Дополнительный) | Новое нижнее разрешение пирамидных слоев для выбранного класса пространственных объектов. | Double |
upper_pyramid_resolution (Дополнительный) | Новое верхнее разрешение пирамидных слоев для выбранного класса пространственных объектов. | Double |
overview (Дополнительный) | Указывает, отражается ли класс пространственных объектов в обзоре набора данных Terrain.
| Boolean |
Производные выходные данные
Имя | Объяснение | Тип данных |
derived_out_terrain | Обновленная terrain. | Слой Terrain |
Пример кода
Пример 1 инструмента ChangeTerrainResolutionBounds (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.ChangeTerrainResolutionBounds_3d('sample.gdb/featuredataset/terrain',
'breaklines', 2.5, 7.5)
Пример 2 инструмента ChangeTerrainResolutionBounds (автономный скрипт)
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''****************************************************************************
Name: Update Terrain
Description: This script demonstrates how to update a terrain dataset
with new elevation measurements obtained from Lidar by
importing LAS files to multipoint features, then appending the
new points to another multipoint feature that participates in a
terrain. The terrain's pyramids are modified to optimize its
draw speed.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Variables
inTerrain = "sample.gdb/featuredataset/terrain"
currentPts = "existing_points"
lasFiles = ['las/NE_Philly.las',
'las/NW_Philly.las']
newPts = 'in_memory/update_pts'
# Define spatial reference of LAS files using factory code
# for NAD_1983_StatePlane_Pennsylvania_South
lasSR = arcpy.SpatialReference()
lasSR.factoryCode = 2272
lasSR.create()
arcpy.AddMessage("Converting LAS files to multipoint features...")
arcpy.ddd.LASToMultipoint(lasFiles, newPts, 1.5, 2, 1,
'INTENSITY', lasSR)
arcpy.AddMessage("Appending LAS points to {0}..."\
.format(currentPts))
arcpy.AppendTerrainPoints_3d(inTerrain, currentPts, newPts)
arcpy.AddMessage("Changing terrain pyramid reference scales...")
arcpy.ddd.ChangeTerrainReferenceScale(inTerrain, 1000, 500)
arcpy.ddd.ChangeTerrainReferenceScale(inTerrain, 2500, 2000)
arcpy.AddMessage("Adding terrain pyramid level...")
arcpy.ddd.AddTerrainPyramidLevel(inTerrain, "", "4 4500")
arcpy.AddMessage("Changing pyramid resolution bounds for breaklines...")
arcpy.ChangeTerrainResolutionBounds_3d(inTerrain, "breaklines", 5, 4)
arcpy.AddMessage("Building terrain...")
arcpy.ddd.BuildTerrain(inTerrain)
arcpy.AddMessage("Completed updates.")
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)
finally:
arcpy.CheckInExtension("3D")
Параметры среды
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst