ElevationProfileLineQuery

AMD: require(["geoscene/widgets/ElevationProfile/ElevationProfileLineQuery"], (ElevationProfileLineQuery) => { /* code goes here */ });
ESM: import ElevationProfileLineQuery from "@geoscene/core/widgets/ElevationProfile/ElevationProfileLineQuery";
类: geoscene/widgets/ElevationProfile/ElevationProfileLineQuery
继承于:ElevationProfileLineQuery ElevationProfileLine Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.18

从自定义高程源对高程进行采样的剖面线,例如通过创建新的 ElevationLayer 或使用 ground.layers 中的高程图层。

此外,您还可以使用名为 queryElevation 的方法创建自己的源对象,该方法具有与 queryElevation 相同的署名。

另请参阅
示例
const elevLayer = new ElevationLayer({
  url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Elevation/MtBaldy_Elevation/ImageServer"
});
const elevationProfile = new ElevationProfile({
  view: view,
  profiles: [{
    type: "query", // autocasts as new ElevationProfileLineQuery(),
    source: elevLayer
  }]
});

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
Color

图表和视图中线的颜色。

更多详情
ElevationProfileLineQuery
String

类的名称。

更多详情
Accessor
Point

在图表中悬停的点,使用视图的空间参考。

更多详情
ElevationProfileLine
String

剖面线的唯一标识符。

更多详情
ElevationProfileLine
Number

此剖面的生成进度。

更多详情
ElevationProfileLine
ElevationProfileSample[]

构成高程剖面的样本列表。

更多详情
ElevationProfileLine
Object

用于在生成剖面时对高程进行采样的高程源,例如 ElevationLayer

更多详情
ElevationProfileLineQuery
ElevationProfileStatistics

有关生成的高程剖面的统计信息 (如果可用)。

更多详情
ElevationProfileLine
String

要显示在图表工具提示和图表图例中的线标题。

更多详情
ElevationProfileLine
String

线类型。

更多详情
ElevationProfileLineQuery
Boolean

是否应将表示 elevationSamples 的线可视化效果添加到 SceneView 中。

更多详情
ElevationProfileLineQuery
Boolean

是否应计算该线并将其显示在图表中。

更多详情
ElevationProfileLine

属性详细信息

自动转换自 Object|Number[]|String

图表和视图中线的颜色。

默认值:#db334a
declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

hoveredPoint Pointreadonly inherited

在图表中悬停的点,使用视图的空间参考。

剖面线的唯一标识符。

progress Numberreadonly inherited

此剖面的生成进度。0 表示未加载任何内容,1 表示加载完成。

构成高程剖面的样本列表。它可以传递到图形库,以便在 2D 中显示剖面。

source Object

用于在生成剖面时对高程进行采样的高程源,例如 ElevationLayer

属性
queryElevation queryElevation

用于查询几何 (PointMultipointPolyline) 的高程值的函数。它返回一个 promise,其使用 ElevationQueryResult 进行解析。

示例
const elevLayer = new ElevationLayer({
  url: "https://sampleserver6.arcgisonline.com/arcgis/rest/.../Elevation/ImageServer"
});

// profile line with elevation layer source
const elevationProfile = new ElevationProfile({
  view,
  profiles: [{
    type: "query", // autocasts as new ElevationProfileLineQuery(),
    source: elevLayer
  }]
});

// profile line with a source coming from an elevation
// layer with a specific sampling resolution
const elevationProfile = new ElevationProfile({
  view,
  profiles: [{
    type: "query",
    source: {
      queryElevation(geometry, options) {
        return elevLayer.queryElevation(geometry, { ...options, demResolution: 20 })
      }
    }
  }]
});

// profile line with a source that queries data
// on an elevation sampler
view.when(async() => {
  const sampler = await elevLayer.createElevationSampler(extent);
  const querySource = {
    queryElevation: async (geometry: Multipoint) => {
      return {
        geometry: await sampler.queryElevation(geometry),
        noDataValue: sampler.noDataValue
      };
    }
  };
  const elevationProfile = new ElevationProfile({
    view,
    profiles: [{
      type: "query",
      source: querySource
    }]
  });
});

有关生成的高程剖面的统计信息 (如果可用)。对于坡度计算,使用 10 米 (32.8 英尺) 的最小采样距离对剖面进行采样。在计算坡度之前,将更高分辨率的剖面向下采样至 10 米 (32.8 英尺) 的采样距离。

要显示在图表工具提示和图表图例中的线标题。

type Stringreadonly

线类型。

对于 ElevationProfileLineQuery,类型总是 "query"

viewVisualizationEnabled Boolean
起始版本:GeoScene Maps SDK for JavaScript 4.20

是否应将表示 elevationSamples 的线可视化效果添加到 SceneView 中。此属性不适用于 MapView

默认值:true

是否应计算该线并将其显示在图表中。

默认值:true

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor

方法详细说明

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

类型定义

queryElevation(geometry, options){Promise<ElevationQueryResult>}

用于查询几何 (PointMultipointPolyline) 的高程值的函数。它返回一个 promise,其使用 ElevationQueryResult 进行解析。

参数
规范

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

options Object
optional

其他查询选项。请参见下表。

规范
demResolution Number|String
optional
默认值:auto

控制要从中采样高程数据的水平分辨率 (像元大小),以米为单位 (默认为 auto)。有关不同设置的更多详细信息,请参见下表。

demResolution 描述
auto 自动为输入几何的每个坐标选择适当的分辨率。当前实现将尝试使用最好的可用分辨率,前提是所需的切片请求总数不超过某个最大数量 (当前为 20 个)。请注意,这可能会导致根据不同的分辨率对值进行采样。
finest-contiguous 根据整个几何中的最佳可用分辨率(像元大小)对高程进行采样。
{number} 根据最接近指定分辨率的分辨率(以米为单位)对高程进行采样。
returnSampleInfo Boolean
optional
默认值: false

指示是否返回每个坐标的其他采样信息。

noDataValue Number
optional
默认值:0

没有可用数据时使用的值。

optional

中止请求的 AbortSignal。如果取消,则承诺将被拒绝,并返回一个名为 AbortError 的错误。另请参见 AbortController

返回
类型 描述
Promise<ElevationQueryResult> 解析为具有采样几何、分辨率信息和无数据值的对象。

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