跳到主要内容

高程极值分析

DMap3D.analysis.elevationExtremum 用于分析指定区域内的高程极值(最高点和最低点)。

引入

import DMap3D from 'dmap3d'
import * as Cesium from 'cesium'

基本用法

const viewer = new Cesium.Viewer('cesiumContainer')

// 创建高程极值分析工具
const extremum = new DMap3D.analysis.elevationExtremum(viewer)

// 监听分析完成事件
extremum.onAnalysisEnd((result) => {
console.log('最低高程:', result.minHeight, '米')
console.log('最高高程:', result.maxHeight, '米')
console.log('基准高程:', result.baseHeight, '米')
})

// 激活绘制(在场景中绘制分析区域)
extremum.activate()

构造函数

new DMap3D.analysis.elevationExtremum(viewer, options?)

参数:

  • viewer - Cesium.Viewer 实例
  • options? - 可选配置项

Options:

interface ElevationExtremumOptions {
type?: 'globe' | 'all' // 采样类型,默认 'all'
heightMode?: 'relative' | 'absolute' // 高度模式,默认 'absolute'
baseHeight?: number // 基准高度,默认 0
pointLength?: number // 采样点数量,默认 1200
showTriangle?: boolean // 显示三角网格,默认 true
showRangeBox?: boolean // 显示范围框,默认 true
showBasePlane?: boolean // 显示基准面,默认 true
showResultLabel?: boolean // 显示结果标注,默认 true
}

方法

activate()

激活绘制功能,在场景中绘制分析区域。

extremum.activate()

deactivate()

停用绘制功能。

extremum.deactivate()

clear()

清除所有分析内容。

extremum.clear()

onAnalysisEnd(callback)

注册分析完成回调。

extremum.onAnalysisEnd((result) => {
console.log('最低高程:', result.minHeight)
console.log('最高高程:', result.maxHeight)
console.log('挖方体积:', result.cutVolume)
console.log('填方体积:', result.fillVolume)
console.log('基底面积:', result.baseArea)
})

destroy()

销毁工具并释放资源。

extremum.destroy()

分析结果

interface CutAndFillResult {
baseHeight: number // 基准高度(米)
minHeight: number // 最低高度(米)
maxHeight: number // 最高高度(米)
cutVolume: number // 挖方体积(立方米)
fillVolume: number // 填方体积(立方米)
baseArea: number // 基底面积(平方米)
}

相关链接