本文档只用作个人学习过程记录,部分基础内容不会详细记录。
Bentley ContextCapture、 大势智慧重建大师(GET3D)、大疆智图(DJI Terra)、东方道迩(P3BJet)、瞰景科技(Smart3D 2019)等软件支持通过S3M的开放式接口直接将倾斜摄影转换为S3M格式
以下操作都比较简单,不详细记录过程
- 大规模倾斜摄影数据优化
- 数据分析
- 优化手段:合并根节点、压缩纹理、生成S3M、分布式管理方案
注: 对于S3M重新指定根节点,除了重建顶层之外,其余参数需要和生成缓存时候一致
- 发布服务: 发布服务,实现多终端应用
模型的项目基点设置为(0,0 0),项目基点需要在模型上。 下面以Revit软件为例
1) Revit插件安装问题
2)Bentley插件安装问题
3)其他常见插件导出问题
见技术支持博客: SuperMap GIS三维插件使用Q&A
1) 平移与旋转
针对偏移量不大的模型,可以通过功能入口: 【三维地理设计-> 模型操作组-> 模型编辑-> 模型平移/模型旋转】进行微调
2)三维配准
针对偏移量大的模型,可以通过功能入口:【开始-> 数据处理组-> 配准-> 新建三维配准】纠正坐标。
批量配准可以通过配准的第一个配准文件导出,来快速配准。
3)坐标归零
可以通过功能入口: 【三维地理设计-> 模型操作组-> 模型编辑-> 坐标归零】进行操作。坐标归零后的模型空间位置不会改变。
1) 模型文件常见格式
.3ds、 .obj、 .dae、 .fbx 、 .max …
2) max文件组织
**3) 3dsMax基本操作 **
**1) 属性录入方式 **
三维数据-> 模型工具
三位地理设计-> 模型编辑
4)数据建库
文件型数据源
数据库型数据源
缓存文件
**1)性能诊断 **
SuperMap iDesktop -> 场景-> 场景属性 -> 基本属性 -> 勾选帧率信息。然后逐个图层显隐,观察帧率信息,找到帧率小的数据进行。
一般而言,低于 10 帧就会非常卡顿,15 帧以上会好一些,20 帧以上 较为流畅,30 帧以上就非常流畅了。对于中端以上显卡,通过优化后,场景性能一般能 在 20 帧甚至 30 帧以上。
2)纹理检查与优化
检查图片分辨率,建筑物小于1024,其他的小于512
3)模型处理与简化思路
4)生成缓存
1)数据格式(五种)
*.las 、 *.laz 、 *.xyz 、 *.txt、 *.ply
2)点云数据处理流程
3) 点云数据生成缓存
功能入口: 三维数据-> 点云数据 -> 生成缓存
** 分层设色后无明显分层效果**
1) 统一坐标系的方法
1) 精准匹配的使用场景及关键方法
1) SuperMap地理处理自动化
地理处理自动化: 即Geo-Processing Automation,简称处理自动化或GPA。
地理处理自动化建模:SuperMap提供了一系列地理处理工具,可按照一定顺序链接多个工具,构建成符合业务逻辑的工作流,即地理处理自动化建模。
2) 地理处理自动化的特点
3) 地理处理自动化产品
注意:只能使用SuperMap iDesktopx
1) 处理自动化技术的优势
2) 倾斜摄影三维模型处理自动化业务流
全称 空间三维模型数据格式
1. 各个版本差别
S3M 1.0 > S3M2.0 :
- 支持PBR材质
- 支持压缩(Draco)
- 纹理压缩(WebP/CRN)
S3M2.0 > S3M3.0:
- 支持椭球场景
- 几何压缩(MeshOpt)
- 纹理压缩(KTX2.0)
- 加载性能提升
- 显存占用降低
2. S3M3.0性能提升
1. 倾斜入库关键参数
2.其他模型生成缓存参数
3. S3M3.0几何压缩方式推荐
4. 地形生成缓存关键参数
5. 缓存数据的分布式存储
1.矢量数据生成三维缓存的方式
1. SuperMap三维符号
通过三维符号化技术,可以实现点、线、面要素在三维场景中的快速构建与可视化表达
2. 三维点符号
通过直线构成三维线型符号,三维线型符号的子线分为界面子线和模型子线两种类型
- 截面子线: 是通过绘制三维线的横截面,通过横截面快速构建三维线,所构建的截面子线可以进行纹理贴图,并可以对不同侧面进行不同的纹理贴图;也可以通过设置颜色的方式为子线的各个侧面设置纯色填充
- 模型子线: 是由三维模型构成的子线,通过设置模型子线的属性,控制三维模型在线性方向上分布、排列形式(也就是在线性方向上每隔多少距离绘制一个给定的三维模型)以及三维模型给的旋转角度,从而构造符合要求的模型子线
5. 三维填充符号库
1. 案例演示——基于BIM的模型表达
现有某建筑的BIM模型以及施工的进度数据,要求制作出表达建筑施工及进度的三维专题图
实现步骤:
三维数据 ——》 模型工具 ——》 批量修改模型颜色。根据属性信息修改不同的颜色
2. 案例演示——基于倾斜摄影三维专题制作
背景:现有已经单体化处理的倾斜摄影三维模型数据,并提供了该数据范围内的建筑的年份信息。根据建筑年份信息,制作建筑年份专题图。
实现步骤:
1) 提取高度值
三维数据 ——》倾斜摄影 ——》 数据处理 ——》 提取高度值
2) 制作专题图
矢量面添加到三维场景 ——》 制作专题图
3) 修改专题图风格
风格设置 ——》 设置高度模式
粒子系统是三维计算机图形学中模拟一些特定的模糊显现的技术,而这些现象用其他传统的渲染技术难以表现出真实感
- 火焰、爆炸、喷泉、烟雾、水流、烟花…
1. 粒子对象的组成及存储
SuperMap iDesktop中,粒子对象以CAD数据集或 KML数据的形式创建和保存
2. 三维场景中添加粒子特效
添加粒子特效步骤
新建CAD数据集或者KML ——》 场景中添加CAD数据集或KML ——》 绘制粒子对象 ——》 调整粒子系统参数
关键参数
粒子个数上限 、 作用力、 发射频率 、 发射方向 、生成时间
1. 管网数据组成
管点数据
管线数据
1) 管点管线符号配置
2) 加载三维网络数据集
3) 构建三维管线
4) 构建三维管点
构建三维管线
配置管线符号的两种方式:
一种管线符号图层风格: 管线符号、线型宽度和线型颜色
多种管线符号自定义专题图: 线型风格、线型颜色和线型宽度
制作专题图时,SymbolID设置为0,表示使用系统自适应管点符号,也可指定管点符号
4. 自适应管点
问题: 为什么自适应管点不出来?
检查是否设置管点图层的父图层
原因:
1) 自适应管点的生成依赖于管点域管线间的拓扑关系。
2) 专题图没有存储拓扑关系。
解决办法:
使用“关联图层风格”功能,设置目标图层为对应的管线图层。(根据指定的管线图层生成自适应管点符号风格,自适应管线的街头参数和角度)。
检查管点图层和对应的管线图层的高度模式、底部高程模式是否一致
子数据集单独生成的缓存图层,检查缓存图层的“瓦片边长”数值是否一致。
1. 服务类型
REST服务: 基于REST的架构以资源形式提供GIS功能接口。包含地图功能、数据功能、分析功能、三维功能等。
OGC 服务: OGC标准服务,如WMS、WFS、WMTS等。
2. 三维GIS应用服务
基于面向服务的体系架构(Service-Oriented Architecture, SOA),我们使用服务封装了不同的功能单元。
三维GIS应用主要使用的服务: 三维服务、数据服务、空间分析服务、三维网络分析服务、MVT矢量瓦片服务。
3. 三维服务的数据来源
4. 三维服务的发布方法
使用iServer 发布,操作步骤略。
5. 三维服务的访问地址
WebGL无插件客户端开发所需URL地址
三维场景eg: http://[ip]:8090/iserver/services/3D-service/rest/realspace
倾斜摄影、模型、BIM、矢量eg: http://[ip]:8090/iserver/services/3D-service/rest/realspace/datas/图层名称/config
地形、影像 eg: http://[ip]:8090/iserver/services/3D-service/rest/realspace/datas/图层名称
6. 三维服务更新
更换源文件,SuperMap iServer将自动更新服务
以下模块仅针对三维功能相关模块
1. 许可模块
1) 基础模块
根据iServer 标准版、专业版、高级版区分,提供的功能略有不同
2) 扩展模块
2. 三维服务扩展模块
3. 空间分析服务扩展模块
4. 网络分析服务扩展模块
5. 动态标绘服务扩展模块
1. iServer 服务资源结构
2. data资源
作为数据查询和操作的入口,提供了数据源集合和数据查询功能的资源信息。
3. 3D资源——datas资源
三维服务的根节点,分别提供了三维数据、三维场景及符号资源的信息和操作
4. 3D资源——scenes资源
所有三维场景的集合,通过它能得到当前三维服务中所有的三维场景信息
5. facilityAnalyst 3D资源
三维设施网络分析功能的根资源,用于获取所有可用于三维设施网络分析的三维网络数据集列表。
6. Plot资源
动态标绘服务的根节点,获取发布的标号库、标号及态势图。
1. 服务访问安全控制
通过基于身份识别的认证和授权,控制GIS服务访问
2. 角色、用户和 权限的关系
角色和用户: 一个用户可以隶属多个角色,一个角色中可以包含多个用户,用户与角色的队以i你个关系是多对多的。
权限和角色的关系: 权限是与角色对应的,管理员可以将单个服务的某种全新啊指定给角色,而用户只能通过成为某角色的一个成员来继承相应的权限。
iServer 操作流程略
官网Demo: http://support.supermap.com.cn:8090/webgl/examples/webgl/examples.html#layer
API接口参考: http://support.supermap.com.cn:8090/webgl/web/apis/3dwebgl.html
同时具有时间和空间维度的数据成为时空数据。如: 车辆轨迹、人员轨迹、船舶轨迹等。
表现形式: 无轨迹运动、沿线运动、动态播放图层。
通过实例化的技术支持快速显示大量模型数据。通过刷新模型的位置,实现模型的运动。是WEBGL运动最为广泛的轨迹动画。
无轨迹运动和沿线运动都是基于动态图层实现的。
应用场景:
全球实时航线数据、全球船舶数据、全球船舶动态效果、风车、交通仿真。
1. 动态图层类
new Cesiium.DynamicLayer3D(context, urls)
动态图层,一个动态图层可以包含多种类型的模型,每种模型又能包含多个实例,每个实例以一定刷新间隔更新状态信息DynamicObjectState
,.从而达到动态效果。
var urls = ['model1.s3m','model2.s3m'];
// context: webgl context对象
// urls: 模型url数组
var layer = new DynamicLayer3D(context,urls);
scene.primiitives.add(layer)
2. 动态实例对象信息类
new Cesium.DynamicObjectState(Options)
动态实例对象状态信息,用于更新动态图层中的指定id模型实例的状态
3. 案例: 无轨迹运动——风车运动效果实现思路
1)创建动态图层DynamicLayer3D
,并添加到 scene中;
2)基于多个丰城位置分别构建扇叶、扇柄的多个动态实例对象状态DynamiiicObjectState
,并存放到数组中 keymap[url]
3)通过updateObjectWithModel(url, keymap[url])
更新动态图层添加风车模型;
4)设置 setInterval
周期函数,在函数中获取并遍历扇叶的状态信息数组,针对每一个状态,调整pitch
值(绕X轴旋转的角度)