实景模型
实景模型是一个三维模型,它是从大量重叠图像中自动化捕获真实的建筑物和环境所形成的。它能客观真实地反应现实世界。
实景模型
实景模型是一个三维模型,它是从大量重叠图像中自动化捕获真实的建筑物和环境所形成的。它能客观真实地反应现实世界。
在场景中,实景模型使用的图层为RealityLayer。
1. 功能说明
实景模型中功能主要有两点:一是在场景中加载实景模型,二是对实景模型进行裁剪与否操作。具体功能可往后查阅,其中有详细的介绍和使用。
2. 构造
new RealityLayer(properties)
代码示例如下:
const layer = new ubm.RealityLayer({
id: 'qsq',
title: '青山区',
url: 'https://stream.rinkslab.com:8060/stream/i3s/OYFNsphMZp8x/PUgYcMkJE9Np/青山区/青山区/SceneServer',
})
传递给构造函数RealityLayer的所有属性列表properties可查看后续属性说明。
3. 属性
| 属性 | 类型 | 可选 | 说明 |
|---|---|---|---|
| id | string | 必填 | 图层唯一标识 |
| title | string | --- | 图层的名称 |
| url | string | 必填 | 图层资源的访问url |
| modifications | Modification[] | --- | 修改裁剪 |
| elevationInfo | ElevationInfo | --- | 指定特征如何放置在垂直轴(Z)上 |
3.1 修改裁剪
- 裁剪
modifications的数据结构如下:
interface Modification {
//裁剪多边形位置
coordinates: number[][][]
// 裁剪修改的类型
type: ModificationType
}
- 裁剪修改的类型
type的数据结构如下:
type ModificationType = 'clip' | 'mask' | 'replace'
其中:clip是默认值,指的是移除所选区域;mask是仅显示所选区域;replace是展平所选区域。
- 裁剪
设置模型需要裁剪的范围和裁剪修改的类型,代码示例如下:
layer.modifications = [{
coordinates: [
[
[114.395143, 30.623756],
[114.399472, 30.623764],
[114.399462, 30.621818],
[114.395079, 30.621703],
]
],
type: 'clip'
}]
- 清除裁剪
对已经裁剪的模型执行清除裁剪效果的操作,代码示例如下:
layer.modifications = []
3.2 指定特征如何放置在垂直轴(Z)上
属性elevationInfo用于指定特征(如:建筑物、地形等)如何在垂直轴(Z轴)上放置和显示。
其中属性elevationInfo的类型ElevationInfo的数据结构如下所示:
interface ElevationInfo {
// 放置模式: 在地形上'on-the-ground'、相对地形'relative-to-ground'、相对场景'relative-to-scene'和绝对高度'absolute-height'(默认值)
mode: string,
// 偏移值,当mode = "on-the-ground"时,此属性不生效
offset: number
// 偏移值单位
unit?: 'feet' | 'meters' | 'kilometers' | 'miles' | 'us-feet' | 'yards'
}

BIMFlux AI
