ElevationSampler

AMD: require(["geoscene/layers/support/ElevationSampler"], (ElevationSampler) => { /* code goes here */ });
ESM: import ElevationSampler from "@geoscene/core/layers/support/ElevationSampler";
类: geoscene/layers/support/ElevationSampler
起始版本:GeoScene Maps SDK for JavaScript 4.7

从高程服务或 GroundView 创建的高程值缓存,用于同步查询几何的高程信息。此类没有构造函数。您可以使用 ElevationLayer.createElevationSampler()Ground.createElevationSampler() 方法创建此类的实例。从 Ground 创建的高程采样器将从具有可用数据的第一个高程图层中采样数据。要控制用于高程采样的图层和采样分辨率,请使用 ElevationLayer.createElevationSampler()

map.ground.load()
  .then(function() {
    // create an elevation sampler from a given extent
    return view.map.ground.createElevationSampler(extent);
  })
  .then(function(elevationSampler) {
    // use the elevation sampler to get z-values for a point, multipoint or polyline geometry
    let zEnrichedGeometry = elevationSampler.queryElevation(geometry);
  });

GroundView.elevationSampler 中也提供了此类的一个实例。当高程值需要反映视图中当前显示的高程时,可以使用此类。

let elevationSampler = view.groundView.elevationSampler;
// listen for elevation changes in the view
elevationSampler.on('changed', function() {
  // enrich geometry with z-values from the elevation displayed in the view
  let zEnrichedGeometry = elevationSampler.queryElevation(point);
});
另请参阅

属性概述

名称 类型 描述
Object

采样器中数据的最小和最大分辨率。

更多详情
ElevationSampler
Extent

可以查询采样器的范围。

更多详情
ElevationSampler
Number

用于表示没有可用数据的区域的值。

更多详情
ElevationSampler
SpatialReference

采样器的空间参考。

更多详情
ElevationSampler

属性详细信息

demResolution Objectreadonly

采样器中数据的最小和最大分辨率。

属性
min Number

最小分辨率。

max Number

最大分辨率。

extent Extentreadonly
起始版本:GeoScene Maps SDK for JavaScript 4.9

可以查询采样器的范围。

noDataValue Numberreadonly
起始版本:GeoScene Maps SDK for JavaScript 4.9

用于表示没有可用数据的区域的值。

spatialReference SpatialReferencereadonly
起始版本:GeoScene Maps SDK for JavaScript 4.24

采样器的空间参考。

方法概述

名称 返回值类值 描述
Number

获取采样器空间参考中指定的坐标的高程。

更多详情
ElevationSampler
Object

在实例上注册事件处理程序。

更多详情
ElevationSampler
Point|Multipoint|Polyline

查询 PointPolylineMultipoint 几何的高程。

更多详情
ElevationSampler

方法详细说明

elevationAt(x, y){Number}
起始版本:GeoScene Maps SDK for JavaScript 4.24

获取采样器空间参考中指定的坐标的高程。在获取保证在采样器空间参考中的许多坐标的高程时,这通常比 ElevationSampler 更快。如果坐标在高程采样器范围之外,则返回采样器的 ElevationSampler

参数

x 坐标。

y 坐标。

返回
类型 描述
Number 采样高程。
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}

查询 PointPolylineMultipoint 几何的高程。查询将返回一个新几何,该几何中每个坐标的 z 值都是从高程采样器获取的。如果用于查询的几何在高程采样器范围之外,则返回的几何将采样器的 ElevationSampler 作为 z 值。

参数

用于对高程数据进行采样的几何。

返回
类型 描述
Point | Multipoint | Polyline 采样的几何。

事件概述

名称 类型 描述

当采样器中的数据发生变化时触发。

更多详情
ElevationSampler

事件详细说明

changed

当采样器中的数据发生变化时触发。此事件仅与动态高程采样器相关,例如 GroundView 上的高程采样器。

示例
view.groundView.elevationSampler.on("changed", function(evt) {
 console.log("elevation has changed");
});

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息