Skip to main content

listElevationSources

汇总

ElevationSurface 对象可用于访问地面表面图层或自定义表面以及其方法和属性。

讨论

2D 地图或 3D 场景仅可以包含一个 地面表面图层 ,但是可以包含零个、一个或许多 自定义表面 。 当您的活动门户设置为 ArcGIS Online 时,每个新的局部或全局场景均包含地面表面和 WorldElevation3D/Terrain3D 高程服务。 默认情况下,各个新地图不包含任何地面表面。 要向地图添加地面表面,您可以使用 添加高程源图层 对话框。 当您创建或编辑要素并希望根据基础高程表面设置 z 值时,可以将地图中的高程表面用于编辑工作流。

高程表面可以没有源(表示零表面),也可以包含一个或多个为表面提供高度值的高程源。 您可以通过 listElevationSources 方法访问高程表面中的高程源图层。

语法

listElevationSources()

属性

名称 说明 数据类型

name

(读取和写入)

获取和设置高程表面的名称。 Ground 表面为只读状态。

String

verticalExaggeration

(读取和写入)

获取和设置高程表面的垂直夸大。 对于所有高程表面,默认值均为 1.0,此值仅适用于高程表面。 垂直夸大不适用于地图中的其他图层。 将此值设置为较大的数值可能会影响性能,因为场景会使用高度夸大的要素渲染。

Double

方法

listElevationSources({wildcard})

返回与 ElevationSurface 对象关联的 ElevationSource 对象的 Python 列表。

名称 说明 数据类型

wildcard

(可选)

A wildcard is based on the elevation surface name and is not case sensitive. A combination of asterisks (*) and characters can be used to help limit the resulting list.

(默认值为 None)

String

返回值

数据类型 说明

List

返回地图中 ElevationSurface 对象的 Python 列表。

代码示例

ElevationSurface 示例 1

以下脚本可为地面高程表面设置新的垂直夸大。

p = arcpy.mp.ArcGISProject('current')
m = p.listMaps('Scene')[0]
for surface in m.listElevationSurfaces():
    if surface.name == 'Ground':
        surface.verticalExaggeration = 3.0
p.save()
ElevationSurface 示例 2

以下脚本将打印各个高程表面中的高程数据源。

p = arcpy.mp.ArcGISProject('current')
m = p.listMaps('Scene')[0]
for surface in m.listElevationSurfaces():
    for source in surface.listElevationSources():
        print(source.dataSource)