从自定义高程源对高程进行采样的剖面线,例如通过创建新的 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", // 转换成 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
用于查询几何(点、多点或线)的高程值的函数。它返回一个 promise,该 promise 使用 ElevationQueryResult 解析。
示例代码:const elevLayer = new ElevationLayer({ url: "https://sampleserver6.arcgisonline.com/arcgis/rest/.../Elevation/ImageServer" }); // 具有高程图层源的剖面线 const elevationProfile = new ElevationProfile({ view, profiles: [{ type: "query", // 转换成 new ElevationProfileLineQuery(), source: elevLayer }] }); // 源来自高程的剖面线 // 具有特定采样分辨率的图层 const elevationProfile = new ElevationProfile({ view, profiles: [{ type: "query", source: { queryElevation(geometry, options) { return elevLayer.queryElevation(geometry, { ...options, demResolution: 20 }) } } }] }); // 具有在高程采样器上查询 // 数据的源的剖面线 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 API for JavaScript 4.22
-
是否应将表示 elevationSamples 的线可视化添加到 SceneView 中。此属性不适用于 MapView。
- 默认值:true
-
是否应计算该线并将其显示在图表中。
- 默认值:true
类型定义
-
queryElevation(geometry, options){Promise<ElevationQueryResult>}
-
用于查询几何(点、多点或线)的高程值的函数。它返回一个 promise,该 promise 使用 ElevationQueryResult 解析。
参数:规范:geometry Point|Multipoint|Polyline用于采样高程数据的几何。
options Objectoptional其他查询选项。请参阅下表。
规范:optional 默认值: auto控制从中对高程数据进行采样的水平分辨率(像元大小),以米为单位(默认为
auto
)。有关不同设置的更多详细信息,请参阅下表。demResolution 描述 auto
为输入几何的每个坐标自动选择适当的分辨率。当前实现将尝试使用最精细的可用分辨率,因为所需的切片请求总数不超过特定的最大数量(当前为 20)。请注意,这可能会导致从不同的分辨率对值进行采样。 finest-contiguous
从整个几何体中的最佳可用分辨率(像元大小)进行采样高程。 {number}
从最接近指定分辨率的分辨率(以米为单位)的样本高程。 returnSampleInfo Booleanoptional默认值: false指示是否返回每个坐标的其他样本信息。
noDataValue Numberoptional默认值: 0没有可用数据时要使用的值。
signal AbortSignaloptionalAbortSignal 中止请求。 如果取消,promise 将被拒绝,并出现名为
AbortError
的错误。 另请参阅 AbortController。返回值:类型 描述 Promise<ElevationQueryResult> 解析为具有采样几何、分辨率信息且无数据值的对象。