从高程服务或 GroundView 创建的高程值缓存,用于同步查询几何的高程信息。 这个类没有构造函数。 您可以使用 ElevationLayer.createElevationSampler() 或 Ground.createElevationSampler() 方法创建此类的实例。 从地面创建的高程采样器将从具有可用数据的第一个高程图层中采样数据。 要控制用于高程采样的图层和采样分辨率,请使用 ElevationLayer.createElevationSampler()。
map.ground.load()
.then(function() {
// 从给定范围创建高程采样器
return view.map.ground.createElevationSampler(extent);
})
.then(function(elevationSampler) {
// 使用高程采样器获取点、多点或折线几何的 z 值
let zEnrichedGeometry = elevationSampler.queryElevation(geometry);
});
GroundView.elevationSampler 中也提供了此类的一个实例。 当高程值需要反映视图中当前显示的高程时,可以使用此选项。
let elevationSampler = view.groundView.elevationSampler;
// 监听视图中的高程变化
elevationSampler.on('changed', function() {
// 使用视图中显示的高程中的 z 值丰富几何图形
let zEnrichedGeometry = elevationSampler.queryElevation(point);
});
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
Object | 更多信息 采样器中数据的最小和最大分辨率。 | 更多信息 | ElevationSampler | |
Extent | 更多信息 可以查询采样器的范围。 | 更多信息 | ElevationSampler | |
Number | 更多信息 用于表示没有可用数据的区域的值。 | 更多信息 | ElevationSampler |
属性详细说明
-
extent Extentreadonly起始版本: GeoScene API for JavaScript 4.22
-
可以查询采样器的范围。
-
noDataValue Numberreadonly起始版本: GeoScene API for JavaScript 4.22
-
用于表示没有可用数据的区域的值。
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
Object | 更多信息 在实例上注册事件处理程序。 | 更多信息 | ElevationSampler | |
Point|Multipoint|Polyline | 更多信息 | 更多信息 | ElevationSampler |
方法详细说明
-
on(type, handler?){Object}
-
在实例上注册事件处理程序。调用此方法以将事件与侦听器挂钩。 有关已侦听事件的列表,请参阅 事件摘要表。
参数:事件的名称或要侦听的事件。
handler? Function触发事件时调用的函数(如果指定了修饰符)。
返回值:类型 描述 Object 返回带有 remove()
方法的事件处理程序,可以调用该方法来停止监听事件。属性 类型 描述 remove Function 当被调用时,从事件中移除监听器。 示例代码:view.groundView.elevationSampler.on("changed", function(evt) { console.log("elevation has changed"); });
-
queryElevation(geometry){Point|Multipoint|Polyline}
-
查询Point、Polyline 或 Multipoint 几何的高程。 查询将返回一个新几何,该几何中每个坐标的 z 值都是从高程采样器获取的。 如果用于查询的几何在高程采样器范围之外,则返回的几何具有
0
作为 z 值。参数:geometry Point|Multipoint|Polyline用于对高程数据进行采样的几何图形。
返回值:类型 描述 Point | Multipoint | Polyline 采样的几何图形。
事件概述
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
更多信息
当采样器中的数据发生变化时触发。 |
更多信息 | ElevationSampler |
事件详述
-
changed
-
当采样器中的数据发生变化时触发。 此事件仅与动态高程采样器相关,例如 GroundView上的高程采样器。
示例代码:view.groundView.elevationSampler.on("changed", function(evt) { console.log("elevation has changed"); });