1. 实景处理

1.1. 实景数据定义

实景数据由传感器和软件创建,并以非常接近人类感知的方式代表现实世界。通常生成的数据类型包括:点云(Point Cloud)、实景网格(Reality Mesh)、正射影像(Tiff, Img 等)、3D 图像/地理照片(可以是简单的带有地理位置信息的照片,也可以是带有旋转 3D 旋转姿态信息的照片)。

当前 iTwin 原生支持的实景格式如下:

类型(Type) 显示类型(Display Type) 分类(Classification) 当前 iTwin.js 是否支持
Cesium3DTiles Cesium 3D Tiles Model Yes
PNTS Cesium 3D Point Cloud Model Yes
OPC Web Ready Orbit Point Cloud Model Yes
RealityMesh3DTiles Web Ready 3D Scalable Mesh Model Yes
Terrain3DTiles Web Ready Terrain Scalable Mesh Model Yes

数据显示类型式说明:

1.2. 建模的原理

ContextCapture 的原理是分析来自不同视点的静态主体的几张照片,并自动检测对应于同一物理点的像素。从许多这样的对应关系中,可以推断出照片的相对方向和场景的准确 3D 形状。借助 ContextCapture,用户可利用数码相机所拍摄的照片,为当前环境轻松生成高分辨率的三维模型。此软件还可生成包含参考照片的详细实景网格。为用户生成可导航的三维模型,而此模型具有逼真的精美细节、清晰的边缘以及精确的几何特性。

1.3. 建模的基本流程

详细教程可参考 https://bentley-learn.com/all/6149639

1.3.1. 像片导入

  1. 创建工程
    在 ContextCapture Center Master 中点击创建新工程。

  2. 添加相片
    点击添加相片按钮,可选择整个文件夹或者选择需要的照片。

  3. 设置相机参数

    导入照片后填写传感器尺寸(sensor size)或者相机焦距(focal length)。

  4. 导入位置文件

    如果图片含有高程信息则无需这一步
    查看图片信息

    如果没有则需要将每个目录文件夹配置一个坐标文件,涵盖文件名称、经度、纬度、高程数据。 配置文件示例:

    导入位置文件

    设置格式

    设置坐标系

    设置关联字段

1.3.2. 空三运算

在工程准备完成后进行空三运算。CC 软件会根据像片进行大量特征点的计算、提取,对获取的特征点再采用多视角匹配同名点,然后反向解算出每张像片的空间位置还有像片的姿态角度,从而可以确定像片之间的关系。空三加密完成后,可以在 ContextCapture 里查看到整个航带的飞行情况、结算出来的空三点的位置密度,还有每张像片的相对位置以及其所覆盖的范围、方位角等信息。

1.3.3. 模型建立

空三解算之后就开始进行模型建立。软件通过空三加密点计算出不规则三角网 TIN,并且生成白模的三维模型,再通过三维模型形状位置从航片中选取合适的纹理进行贴图,最后输出纹理逼真的实景三维模型。

选择产品输出的格式

设置坐标系

设置结果路径

1.4. cc 输出的文件可能与 iTwin 的注意点

主要针对 cc 处理中可能出现的问题进行总结,可查询 cc 的用户手册或论坛,看是否有相关的问题合集 论坛:https://communities.bentley.com/products/3d_imaging_and_point_cloud_software/w/wiki/27678/contextcapture-frequently-asked-questions 优化:https://kb.orbitgt.com/external/ccgeneratelod

坐标系 iTwin 支持投影坐标系,不支持地理坐标系,所以用 CC 建模输出文件时需要设置投影坐标系。

1.5. 实景文件前期数据校验

  • 3mx 可以适用文本编辑器打开 .3mx 后缀文件,查看 SRS 和 SRSOrigin 字段,确认当前实景文件所使用的地理坐标参考。

    01

  • 3sm 可以适用 SQLite 数据库打开 .3sm 后缀文件,查看 SMMasterHeader 表中的 GCS 列。

    02

  • 使用 ContextCapture Viewer 工具查看生成的实景文件的坐标系、纹理。
    03
    04

1.6. 实景文件后期处理

1.6.1. 特别提醒

以下处理方法可能会导致实景位置出现偏差

当实景文件出现在错误的位置时,最佳实践是在建模工具(如 ContextCapture)中进行调整和修改!

1.6.2. 地理坐标定义错误

a. 新建 DGN 文件

b. 确定正确的地理坐标

c. 将实景文件附加至 DGN 文件

d. 打开背景地图,并移动调整实景位置

e. 保存文件,使用 Connector 导入 iTwin 平台

1.6.3. 高度偏差

高度偏差可能来自于不同软件对于高度(Height)的设置,如有大地水准面、参考椭球体高度、正高等名词,如下如所示。

高度的定义

例如在 MicroStation 的坐标参考中,可以查看模型对于高程的定义,下图为大地水准面高程。

大地水准面

  • iModel 的全球基准点(Global Origin)

    所有空间坐标值都存储在 IEEE 754 浮点数的 iModel 中。因此,最高精度是通过接近零的数字获得的。基于此有时需要存储要添加到所有坐标的偏置距离。此值称为 iModel 的全局原点,适用于所有空间坐标。Global Origin 可以通过 IModel.globalOrigin 获得。

    关于全球基准点的注意事项:

    • 全球基准点仅适用于空间模型。

    • 在将全球基准点转换为制图坐标之前,会将全球基准点添加到空间坐标中。

a. 参考上文地理坐标定义错误处理

b. 通过修改 3sm 文件 GCS 数据表内容

1.7. 实景文件转换至 iTwin 平台

1.7.1. ContextCapture Publishing

参考 CC 用户手册此处,将实景数据发布后可在发布的文件夹中找到对于的 3D Tiles 文件

1.7.2. Orbit

可参考此文档内容进行转换(支持 .3sm, .3mx 及 .obj 文件),转换后的加载 根 JSON 文件即可实现预览。此方法通过插件方式实现,插件的下载地址为:https://softwaredownloads.bentley.com/en/ProductDetails/3115?packageid=38105,并且将插件解压至软件安装目录下。

03

1.7.3. DgnV8Converter

可参考此文档

1.7.4. 其他方法

可利用开源工具等方法,将实景数据转换为 3D Tiles,例如:https://github.com/fanvanzh/3dtiles

1.8. 实景与 BIM 模型叠加

1.8.1. 设计软件

通过在 MicroStation 中使用引用参考实景数据叠加展示

1.8.2. iTwin 叠加

通过以下方法将实景数据加载至 iTwin 平台:

const ctxProp: ContextRealityModelProps = {
  tilesetUrl: url,
  rdSourceKey: {
    provider: "DtaRealityDataProvider",
    format: "ThreeDTile",
    id: url,
  },
};
viewPort.displayStyle.attachRealityModel(ctxProp);

1.8.3. 叠加效果展示

  • BIM 与网格实景

IM 与网格实景

  • BIM 与点云

BIM 与点云

1.9. 常见的问题汇总

实景模型在 iTwin 中位置偏移

请求实景 URL 跨域

通过设计软件修改地理坐标参考

基于 Snapshot iModel 范围调整

模型地理坐标验证方法

出现地理坐标错误的情形

iTwin 常用坐标转换

1.10. 最佳实践

1.10.1. Mesh 网格

格式 建议存储 处理技术与软件
Scalable Mesh (.3sm) Local Hard Drive MicroStation-based desktop applications (MicroStation, OpenCities Map, OpenRoads Designer, OpenBuildings Designed, etc.)OpenRoads ConceptStationLumenRT
Scalable Mesh (.3sm) ProjectWise ContextShare Archiving
Web Ready Scalable Mesh Local Hard Drive MicroStation-based desktop applications (MicroStation, OpenCities Map, OpenRoads Designer, OpenBuildings Designed, etc.)
Web Ready Scalable Mesh ProjectWise ContextShare MicroStation-based desktop applications (MicroStation, OpenCities Map, OpenRoads Designer, OpenBuildings Designed, etc.)Powered by iTwin.js web applications (Reality Data Web Viewer, Design Review, SYNCHRO Control, etc.)OpenRoads ConceptStation
Cesium 3D Tiles Local Hard Drive Powered by iTwin.js desktop applications
Cesium 3D Tiles ProjectWise ContextShare MicroStation-based desktop applications (MicroStation, OpenCities Map, OpenRoads Designer, OpenBuildings Designed, etc.)Powered by iTwin.js web applications (Reality Data Web Viewer, Design Review, SYNCHRO Control, etc.)
ContextCapture (.3mx) Local Hard Drive Legacy applications that do not support Scalable Mesh (.3sm)
ContextCapture (.3mx) ProjectWise ContextShare Archiving

1.10.2. 点云

格式 建议存储 处理技术与软件
Pointools POD (.pod) Local Hard Drive MicroStation-based desktop applications (MicroStation, OpenCities Map, OpenRoads Designer, OpenBuildings Designed, etc.)Bentley Pointools
Pointools POD (.pod) ProjectWise ContextShare Archiving
Orbit Point Cloud (.opc) Local Hard Drive Orbit 3DM Feature ExtractionOrbit 3DM Content ManagerOrbit 3DM Import and Upload Tools
Orbit Point Cloud (.opc) ProjectWise ContextShare Powered by iTwin.js web applications (Reality Data Web Viewer, Design Review, SYNCHRO Control, etc.)Powered by iTwin.js desktop applications

1.10.3. Oriented Photos

格式 建议存储 处理技术与软件
ContextCapture Image Collection / Orientation Local Hard Drive ContextCapture / ContextCapture CenterBentley Descartes / ContextCapture Editor
ContextCapture Image Collection / Orientation ProjectWise ContextShare Archiving
Mapping Resource Local Hard Drive Orbit 3DM Plugin for MicroStation
Mapping Resource ProjectWise ContextShare Orbit Photo Navigation in Powered by iTwin.js web applications (Reality Data Web Viewer, Design Review, OpenTower IQ, AssetWise, etc.)

results matching ""

    No results matching ""