从自定义高程源对高程进行采样的剖面线,例如通过创建新的 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 |
属性详细信息
-
图表和视图中线的颜色。
- 默认值:#db334a
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
在图表中悬停的点,使用视图的空间参考。
-
剖面线的唯一标识符。
-
此剖面的生成进度。0 表示未加载任何内容,1 表示加载完成。
-
-
构成高程剖面的样本列表。它可以传递到图形库,以便在 2D 中显示剖面。
-
source Object
-
用于在生成剖面时对高程进行采样的高程源,例如 ElevationLayer。
- 属性
-
queryElevation queryElevation
用于查询几何 (Point、Multipoint 或 Polyline) 的高程值的函数。它返回一个 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() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
起始版本: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>}
-
用于查询几何 (Point、Multipoint 或 Polyline) 的高程值的函数。它返回一个 promise,其使用 ElevationQueryResult 进行解析。
参数规范geometry Point|Multipoint|Polyline用于对高程数据进行采样的几何。
options Objectoptional其他查询选项。请参见下表。
规范optional 默认值:auto控制要从中采样高程数据的水平分辨率 (像元大小),以米为单位 (默认为
auto
)。有关不同设置的更多详细信息,请参见下表。demResolution 描述 auto
自动为输入几何的每个坐标选择适当的分辨率。当前实现将尝试使用最好的可用分辨率,前提是所需的切片请求总数不超过某个最大数量 (当前为 20 个)。请注意,这可能会导致根据不同的分辨率对值进行采样。 finest-contiguous
根据整个几何中的最佳可用分辨率(像元大小)对高程进行采样。 {number}
根据最接近指定分辨率的分辨率(以米为单位)对高程进行采样。 returnSampleInfo Booleanoptional默认值: false指示是否返回每个坐标的其他采样信息。
noDataValue Numberoptional默认值:0没有可用数据时使用的值。
signal AbortSignaloptional中止请求的 AbortSignal。如果取消,则承诺将被拒绝,并返回一个名为
AbortError
的错误。另请参见 AbortController。返回类型 描述 Promise<ElevationQueryResult> 解析为具有采样几何、分辨率信息和无数据值的对象。