-
queryElevation
(geometry, options)
{Promise<ElevationQueryResult>}
查询服务图层以获取给定几何的高程值。返回的结果包含几何的副本,其中 z-values 从服务的高程数据中采样。可以使用
demResolution
选项设置查询高程的分辨率。在许多情况下,auto
demResolution 可用于获取高质量的高程样本,而无需知道服务中数据的确切位置。这对于组合来自多个来源的高程数据的服务(例如世界高程服务)特别有用。如果需要更多控制或更高质量的样本,请使用finest-contiguous
或固定的{number}
分辨率。参数:
规格:类型 说明 geometry Point|Multipoint|Polyline用于对高程数据进行采样的几何图形。
options Object可选的 其他查询选项。请参见下表。
规格:可选的 默认值:汽车控制水平分辨率(像元大小),以米为单位进行高程数据采样(默认为
auto
)。有关不同设置的更多详细信息,请参见下表。分辨率 说明 auto
自动为输入几何的每个坐标选择适当的分辨率。当前的实现将尝试使用最好的可用分辨率,因为所需的磁贴请求总数不超过某个最大数量(当前为 20)。请注意,这可能会导致从不同分辨率采样值。 finest-contiguous
从整个几何图形的最佳可用分辨率(像元大小)中采样高程。 {number}
从最接近指定分辨率的分辨率采样高程(以米为单位)。 returnSampleInfo可选的 默认值:错误的指示是否返回每个坐标的附加样本信息。
noDataValue可选的 默认值: 0没有可用数据时使用的值。
signal可选的 AbortSignal 用于中止请求。如果取消,promise 将被拒绝,并出现名为
AbortError
的错误。另见AbortController。返回:
类型 说明 Promise<ElevationQueryResult> 解析为具有采样几何、分辨率信息且无数据值的对象。 例子:
require(["esri/layers/ElevationLayer", "esri/geometry/Multipoint"], function ( ElevationLayer, Multipoint ) { const url = "//elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer/"; const layer = new ElevationLayer(url); // Various points across a ridge of the mount everest const points = [ [86.9252, 27.9883], [86.9265, 27.9894], [86.9292, 27.9923], [86.9324, 27.996], [86.9359, 27.9992] ]; // Uses "auto" resolution by default layer .queryElevation(new Multipoint({ points }), { returnSampleInfo: true }) // Successfully sampled all points .then(function (result) { // Print result of each sampled point to the console result.geometry.points.forEach(function (point, index) { const elevation = Math.round(point[2]); const resolution = result.sampleInfo[index].demResolution; const coordinateText = "(" + point[0] + ", " + point[1] + ")"; const resolutionText = Math.round(resolution) + " meter resolution"; console.log("Sampled " + coordinateText + ": " + elevation + " at " + resolutionText); }); }) // Failed to sample (e.g. service unavailable) .catch(function (error) { console.error("Failed to query elevation:", error); }); });
基本信息
以下是所在类或对象的基本信息。
AMD:
require(["esri/layers/ElevationLayer"], (ElevationLayer) => { /* code goes here */ });
ESM:
import ElevationLayer from "@arcgis/core/layers/ElevationLayer";
类:
esri/layers/ElevationLayer
继承: ElevationLayer > Layer > Accessor
自从:用于 JavaScript 4.0 的 ArcGIS API
用法说明
ElevationLayer.queryElevation
函数(或属性)的定义如下:
相关用法
- JavaScript ArcGIS ElevationLayer.fullExtent用法及代码示例
- JavaScript ArcGIS ElevationLayer.on用法及代码示例
- JavaScript ArcGIS ElevationLayer.portalItem用法及代码示例
- JavaScript ArcGIS ElevationLayer.visible用法及代码示例
- JavaScript ArcGIS ElevationLayer.when用法及代码示例
- JavaScript ArcGIS ElevationLayer.url用法及代码示例
- JavaScript ArcGIS ElevationLayer layerview-create-error事件用法及代码示例
- JavaScript ArcGIS ElevationLayer用法及代码示例
- JavaScript ArcGIS ElevationLayer layerview-create事件用法及代码示例
- JavaScript ArcGIS ElevationProfile.profiles用法及代码示例
- JavaScript ArcGIS ElevationProfile.visibleElements用法及代码示例
- JavaScript ArcGIS ElevationSampler.on用法及代码示例
- JavaScript ArcGIS ElevationProfile.when用法及代码示例
- JavaScript ArcGIS ElevationProfile.container用法及代码示例
- JavaScript ArcGIS ElevationProfile.classes用法及代码示例
- JavaScript ArcGIS ElevationProfile用法及代码示例
- JavaScript ArcGIS ElevationProfile.on用法及代码示例
- JavaScript ArcGIS ElevationSampler changed事件用法及代码示例
- JavaScript ArcGIS ElevationSampler用法及代码示例
- JavaScript ArcGIS ElevationProfile.visible用法及代码示例
- JavaScript ArcGIS ElementExpressionInfo.expression用法及代码示例
- JavaScript ArcGIS Element.visibilityExpression用法及代码示例
- JavaScript ArcGIS ElementExpressionInfo用法及代码示例
- JavaScript ArcGIS Expand.when用法及代码示例
- JavaScript ArcGIS ExtrudeSymbol3DLayer.castShadows用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 ElevationLayer.queryElevation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。