Изменить базовый масштаб Terrain (3D Analyst)

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

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

Изменяет базовый масштаб пирамидного слоя ландшафта.

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

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

  • Также может потребоваться добавление или удаление пирамидного слоя при изменении разрешения существующего пирамидного слоя. Для этого можно использовать команды Добавить пирамидный слой Terrain или Удалить пирамидный слой Terrain.

  • При использовании базы данных SDE входной набор данных Terrain не должен быть версионным.

Параметры

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

Обрабатываемый набор данных terrain.

Terrain Layer
Предыдущий базовый масштаб

Базовый масштаб существующего пирамидного слоя.

Long
Новый базовый масштаб

Новый базовый масштаб пирамидного слоя.

Long

Производные выходные данные

ПодписьОписаниеТип данных
Обновленная входная terrain

Обновленная terrain.

Слой Terrain

arcpy.ddd.ChangeTerrainReferenceScale(in_terrain, old_refscale, new_refscale)
ИмяОписаниеТип данных
in_terrain

Обрабатываемый набор данных terrain.

Terrain Layer
old_refscale

Базовый масштаб существующего пирамидного слоя.

Long
new_refscale

Новый базовый масштаб пирамидного слоя.

Long

Производные выходные данные

ИмяОписаниеТип данных
derived_out_terrain

Обновленная terrain.

Слой Terrain

Пример кода

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

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

arcpy.env.workspace = 'C:/data'
arcpy.ddd.ChangeTerrainReferenceScale('terrain.gdb/terrainFDS/terrain1', 
                                   1000, 2000)
ChangeTerrainReferenceScale, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте 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

try:
    # Set environment settings
    arcpy.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(2272)

    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.ddd.AppendTerrainPoints(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.ddd.ChangeTerrainResolutionBounds(inTerrain, "breaklines", 5, 4)

    arcpy.AddMessage("Building terrain...")
    arcpy.ddd.BuildTerrain(inTerrain)

    arcpy.AddMessage("Completed updates.")

except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err)

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

  • Basic: Обязательно 3D Analyst
  • Standard: Обязательно 3D Analyst
  • Advanced: Обязательно 3D Analyst

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