listElevationSources
汇总
ElevationSurface 对象可用于访问地面表面图层或自定义表面以及其方法和属性。
讨论
2D 地图或 3D 场景仅可以包含一个 地面表面图层 ,但是可以包含零个、一个或许多 自定义表面 。 当您的活动门户设置为 ArcGIS Online 时,每个新的局部或全局场景均包含地面表面和 WorldElevation3D/Terrain3D 高程服务。 默认情况下,各个新地图不包含任何地面表面。 要向地图添加地面表面,您可以使用 添加高程源图层 对话框。 当您创建或编辑要素并希望根据基础高程表面设置 z 值时,可以将地图中的高程表面用于编辑工作流。
高程表面可以没有源(表示零表面),也可以包含一个或多个为表面提供高度值的高程源。 您可以通过 listElevationSources 方法访问高程表面中的高程源图层。
语法
listElevationSources()
属性
| 名称 | 说明 | 数据类型 |
|---|---|---|
|
name (读取和写入) |
获取和设置高程表面的名称。 |
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 |
返回地图中 |
代码示例
以下脚本可为地面高程表面设置新的垂直夸大。
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()
以下脚本将打印各个高程表面中的高程数据源。
p = arcpy.mp.ArcGISProject('current')
m = p.listMaps('Scene')[0]
for surface in m.listElevationSurfaces():
for source in surface.listElevationSources():
print(source.dataSource)