天际线分析
DMap3D.analysis.skyline 用于分析场景中的天际线轮廓。
引入
import DMap3D from 'dmap3d'
import * as Cesium from 'cesium'
基本用法
const viewer = new Cesium.Viewer('cesiumContainer')
// 创建天际线分析工具
const skyline = new DMap3D.analysis.skyline(viewer)
// 初始化后处理效果
skyline.init()
// 获取二维天际线数据
const result = await skyline.getSkyline2D()
console.log('天际线像素点:', result.pixelPoints.length)
构造函数
new DMap3D.analysis.skyline(viewer, options?)
参数:
viewer- Cesium.Viewer 实例options?- 可选配置项
Options:
interface SkylineOptions {
color?: string // 天际线颜色,默认 '#FF0000'
}
方法
init()
初始化天际线后处理效果,在场景中显示天际线轮廓。
skyline.init()
getSkyline2D()
获取二维天际线数据(异步)。
const result = await skyline.getSkyline2D()
// result.pixelPoints: 天际线像素点数组
result.pixelPoints.forEach((point) => {
console.log(`位置: (${point.x}, ${point.y}), 颜色: ${point.color}`)
})
// result.groundHeights: 对应的地面高度数组
console.log('地面高度:', result.groundHeights)
destroy()
销毁工具并释放资源。
skyline.destroy()
分析结果
interface SkylineResult {
pixelPoints: Array<{
x: number // 屏幕像素 X 坐标
y: number // 屏幕像素 Y 坐标
color: string // 颜色值
}>
groundHeights: number[] // 地面高度数组
}