-
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。