跳到主要内容

天际线分析

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[] // 地面高度数组
}

相关链接