本文档只用作个人学习过程记录,部分基础内容不会详细记录。

三维GIS工程师进阶训练营

  • 一、三维GIS项目开发概述
    • 1. 三维GIS关键技术
    • 2. 行业应用
  • 二、 空间数据获取与优化处理方法
    • 2.1 倾斜摄影三维模型数据的处理与优化
      • 1. 倾斜摄影三维模型数据解读
      • 2. 倾斜摄影三维模型数据处理
      • 3. 海量倾斜摄影三维模型数据的优化
    • 2.2 BIM模型数据生产与优化
      • 1. BIM模型的组织结构
      • 2. BIM模型插件的常见问题
      • 3. BIM模型的空间处理方法
      • 4. BIM模型的性能优化
    • 2.3 3DsMAX的数据生产与优化
      • 1. 理解3dsMAX模型及其组织结构
      • 2. 模型数据存储与编辑方法
      • 3. 模型数据性能优化方法
    • 2.4 点云数据生产与优化
      • 1. 点云数据的结构与接入方法
      • 2. 点云数据分层设色
    • 2.5 多源数据融合处理
      • 1. 统一坐标基准
      • 2. 多源数据精准匹配
    • 2.6 空间数据处理自动化
      • 1. 地理处理自动化技术
      • 2. 三维GIS数据的处理自动化
  • 三、 三维数据缓存生产方法与要求
    • 3.1 理解S3M规范
    • 3.2 缓存生产的高级设置详解
    • 3.3 点集生成缓存外挂模型
  • 四、 三维场景构建方法
    • 4.1 三维符号制作
      • 4.1.1 三维符号概述
      • 4.2.2 管点管线符号制作案例
    • 4.2 三维场景的渲染方法
      • 4.2.1 三维模型数据专题图表达
      • 4.2.2 粒子特效实现
      • 4.2.3 地下管线渲染
  • 五、 三维GIS服务发布与安全策略
    • 5.1 iServer 服务发布与管理
      • 5.1.1 iServer服务发布
    • 5.3 SuperMap iServer 许可模块
    • 5.3 三维服务资源详解
    • 5.4 三维服务的安全策略
  • 六、 Web端三维GIS开发详解
    • 6.1 时空数据的可视化表达
      • 6.1.1 无轨迹运动
    • 6.2 三维数据的专题表达
    • 6.3 多源空间数据无缝叠加的技术路线
    • 6.4 基于业务的各种复杂信息查询
    • 6.5 场景特效渲染与美化技巧
    • 6.6 三维空间分析应用
    • 6.7 视频投放方法与应用
  • 七、 SuperMap高保真游戏引擎插件使用
    • 7.1 SuperMap 高保真虚幻引擎插件产品概述
    • 7.2 SuperMap 高保真虚幻引擎插件安装与配置
    • 7.3 虚幻引擎云渲染实现
    • 7.4 白膜数据美化
    • 7.5 SuperMap 高保真Unity引擎插件使用

一、三维GIS项目开发概述

1. 三维GIS关键技术

  • 全空间表达的三维数据模型
  • 多源数据融合技术
  • 丰富的GIS分析功能
  • 云端共享三维资源
  • 多终端三维交互与可视化技术




2. 行业应用

  • 三维GIS + AR + 游戏引擎 + AI技术 + 大数据技术 + 物联网 + 视频空间化 …

二、 空间数据获取与优化处理方法

2.1 倾斜摄影三维模型数据的处理与优化

1. 倾斜摄影三维模型数据解读

Bentley ContextCapture、 大势智慧重建大师(GET3D)、大疆智图(DJI Terra)、东方道迩(P3BJet)、瞰景科技(Smart3D 2019)等软件支持通过S3M的开放式接口直接将倾斜摄影转换为S3M格式

  • 数据格式:

    • OSGB: 通用
    • S3M:符合行业规范的通用格式
    • OBJ
    • STL
    • FBX
    • 3DS

2. 倾斜摄影三维模型数据处理

以下操作都比较简单,不详细记录过程

  • 处理流程

    • 生成配置文件:生成倾斜摄影模型配置文件,将OSGB数据对接到GIS平台


    • 倾斜入库:生成S3M切片缓存,支持加载到桌面场景、发布缓存




      • 倾斜摄影数据处理:裁剪、挖洞、向前、纹理替换、场景美化、单体化等

        挖洞、镶嵌操作步骤同上(裁剪、挖洞、镶嵌在同一工具栏)
        剔除悬浮物:三维地理设计——倾斜摄影操作——剔除悬浮物,可以去掉悬浮在半空中的数据,如树冠
        单体化操作流程:建筑物底面矢量提取——提取高程——切割面、复制面——录入属性信息——面数据集风格设置

3. 海量倾斜摄影三维模型数据的优化

- 大规模倾斜摄影数据优化- 数据分析- 优化手段:合并根节点、压缩纹理、生成S3M、分布式管理方案



注: 对于S3M重新指定根节点,除了重建顶层之外,其余参数需要和生成缓存时候一致


- 发布服务: 发布服务,实现多终端应用

2.2 BIM模型数据生产与优化

1. BIM模型的组织结构

BIM模型的常见格式




模型的项目基点设置为(0,0 0),项目基点需要在模型上。 下面以Revit软件为例

2. BIM模型插件的常见问题

1) Revit插件安装问题



2)Bentley插件安装问题


3)其他常见插件导出问题
见技术支持博客: SuperMap GIS三维插件使用Q&A

3. BIM模型的空间处理方法

1) 平移与旋转
针对偏移量不大的模型,可以通过功能入口: 【三维地理设计-> 模型操作组-> 模型编辑-> 模型平移/模型旋转】进行微调
2)三维配准
针对偏移量大的模型,可以通过功能入口:【开始-> 数据处理组-> 配准-> 新建三维配准】纠正坐标。
批量配准可以通过配准的第一个配准文件导出,来快速配准。
3)坐标归零
可以通过功能入口: 【三维地理设计-> 模型操作组-> 模型编辑-> 坐标归零】进行操作。坐标归零后的模型空间位置不会改变。

4. BIM模型的性能优化


1) BIM优化流程

  • 长模型拆分
  • 圆管状模型修改为多边形管状
    2)导出时简化

    3)GIS软件(iDesktop)中进一步优化
  • 三角网简化:【三维地理设计-> 模型操作-> 模型编辑-> 三角网简化-> 统计三角面数】,三角面高于30000性能会受影响
    4) BIM轻量化功能入口
  • 三维地理设计-> 模型操作-> 模型编辑: 模型编辑、模型合并、模型挖洞、三角网简化、子对象简化
  • 三维数据-> 模型-> 模型工具: 实例化处理、修改材质颜色、移除重复点/面、纹理重映射、删除重复子对象
    5)常见复杂模型
  • 长条形管道、栏杆、护栏、道路标线等
    • 这类数据最大的特点:对象特别长;管道、栏杆等对象多由圆管或者异形结构组成,三角面数量非常多。
    • 处理方案:模型切分、三角网简化(针对道路)
  • 异形、复杂对象
    • 特征:三角网密集,单个对象三角面通常能达到几十万甚至上百万
    • 方案:三角网简化
  • 子对象特别多:
    • 对象合并不合理,子对象数量从几百到几千,个别子对象还有三角面特别密集的情况。
    • 方案:子对象简化、删除、三角网简化
  • 对象复用多
    • 模型本身不复杂,但是复用次数特别多
    • 方案: 实例化处理。(也可以通过使用点外挂方式)
  • 模型重复
    • 建模过程中对象重复
    • 方案: 移除重复对象。

2.3 3DsMAX的数据生产与优化

1. 理解3dsMAX模型及其组织结构

1) 模型文件常见格式
.3ds、 .obj、 .dae、 .fbx 、 .max …
2) max文件组织

**3) 3dsMax基本操作 **

  • 快捷键M:查看材质、贴图
  • 模型导出

    4) 3ds Max建模要求
  • 删除没必要的面,如:楼房的底面或两墙挨着的面
  • 尽量减少曲面、圆柱体和球体的段数
    • 楼房比较大的柱子段数应该在8-12段
    • 小型的柱子段数应该在6-8段
    • 比较小的柱子段数在6段以下,看情况而定,有的情况下可以设置到最小的3段
  • 纹理检查与处理:
    • 纹理尺寸要求建筑物1024 x 1024以内,地形 512 x 512以内,不符合要求的纹理,可以使用图片处理软件简化。

      5) 模型图层组织
  • 分类导出:如建筑、树木、地块分开到导出(主要考虑图层显隐控制、对象过滤阈值、导出瓦片边长等因素考虑)
  • 特殊对象处理(max插件-导出点位+模型):场景中有大量重复对象,并且针对类型较为单一的情况。比如垃圾箱、路灯等小品类。
    6) 模型与GIS空间对齐方法
    7) 常见问题
    使用3ds Max插件导出后,加载到场景中找不到模型数据

    • 原因分析: 模型原点坐标不在(0,0,0)附近
    • 解决办法: 1. 若是根据真实坐标建模,选择【投影信息】的方式导出;2. 在3ds max软件中对需导出的对象打组,并将坐标归0,然后插入点方式导出。

2. 模型数据存储与编辑方法

**1) 属性录入方式 **

    1. 关联浏览属性数据,手动录入 模型属性
    1. 基于包含模型属性的矢量数据,进行属性更新
    • 1)数据-> 数据处理-> 类型转换-> 模型-> 二维面
    • 2)数据-> 数据处理-> 属性更新
    • 3)数据-> 数据处理-> 追加列
      **2)纹理编辑 **
  • 功能入口: 三维地理设计-> 模型操作-> 材质

    3)模型处理与简化工具

  • 三维数据-> 模型工具

  • 三位地理设计-> 模型编辑
    4)数据建库

  • 文件型数据源

  • 数据库型数据源

  • 缓存文件

3. 模型数据性能优化方法

**1)性能诊断 **
SuperMap iDesktop -> 场景-> 场景属性 -> 基本属性 -> 勾选帧率信息。然后逐个图层显隐,观察帧率信息,找到帧率小的数据进行。
一般而言,低于 10 帧就会非常卡顿,15 帧以上会好一些,20 帧以上 较为流畅,30 帧以上就非常流畅了。对于中端以上显卡,通过优化后,场景性能一般能 在 20 帧甚至 30 帧以上。
2)纹理检查与优化
检查图片分辨率,建筑物小于1024,其他的小于512
3)模型处理与简化思路

4)生成缓存

  • 推荐参数(S3M3.0): S3M BLOCK、CRN_DXT5、MeshOpt
  • 推荐参数——瓦片边长、过滤阈值
    • 建筑物: 瓦片边长600米,过滤阈值2米
    • 小品: 瓦片边长600米,过滤阈值8米
    • 地板: 瓦片边长1200米,过滤阈值0米
    • 植被: 瓦片边长1200米,过滤阈值12米
      5)检查S3M文件大小
      控制台查看单个S3M切片大小,尽量小于1M,最大不超过3M(如果实在太大,可以通过减小瓦片边长来减少瓦片大小)

2.4 点云数据生产与优化

1. 点云数据的结构与接入方法

1)数据格式(五种)
*.las 、 *.laz 、 *.xyz 、 *.txt、 *.ply

2)点云数据处理流程

3) 点云数据生成缓存
功能入口: 三维数据-> 点云数据 -> 生成缓存

2. 点云数据分层设色

** 分层设色后无明显分层效果**

  • 少量特征值过高或过低的异常点影响分层设色的分段距离。

    • 方案: 调整颜色表分段设置

2.5 多源数据融合处理

  • 统一空间基准(坐标系)
  • 精准匹配(空间位置、数据压盖)
  • 统一格式(多样化数据格式统一)

1. 统一坐标基准

1) 统一坐标系的方法

  • 设置坐标系
  • 投影转换
  • 三维配置

2. 多源数据精准匹配

1) 精准匹配的使用场景及关键方法

  • 模型与影像、矢量数据的空间位置存在偏移————》平移、旋转、三维配置
  • 地形将倾斜摄影三维模型压盖————》 Tin地形镶嵌
  • 倾斜摄影三维模型与精细模型重合————》 倾斜摄影三维模型压平
  • 大型工程穿过、改变地形 ——》 布尔运算
    • 三维地理设计——TIN地形操作——布尔运算(针对模型)
    • 三维地理设计——运算分析——布尔运算(针对地形)

2.6 空间数据处理自动化

1. 地理处理自动化技术

1) SuperMap地理处理自动化
地理处理自动化: 即Geo-Processing Automation,简称处理自动化或GPA。
地理处理自动化建模:SuperMap提供了一系列地理处理工具,可按照一定顺序链接多个工具,构建成符合业务逻辑的工作流,即地理处理自动化建模。
2) 地理处理自动化的特点

  • 可视化
  • 自动执行
  • 批量处理
  • 可复用
  • 可共享

3) 地理处理自动化产品

  • SuperMap iDesktopx

    • 主要面向数据分析人员,或者科研学者
    • 适合数据存放在本机
    • 本地搭建和测试模型
    • 数据量比较小的分析处理
    • 单机C/S端,复杂的工作流程
  • SuperMap iServer
    • 面向各行业人员
    • 数据一般存放在服务器
    • 数据量比较大的分析处理
    • 服务端搭建和测试模型

2. 三维GIS数据的处理自动化

注意:只能使用SuperMap iDesktopx
1) 处理自动化技术的优势

  • 三维数据量大 -》 分布式处理、提升效率
  • 三维数据类型多 -》 工具丰富、随心定制
  • 工作重复步骤多 -》 便捷加载、模板复用
  • 处理过程繁琐、等待时间长 -》 一件执行、无人值守

2) 倾斜摄影三维模型处理自动化业务流

  • 迭代器: 迭代读取文件

三、 三维数据缓存生产方法与要求

3.1 理解S3M规范

全称 空间三维模型数据格式



1. 各个版本差别
S3M 1.0 > S3M2.0 :
- 支持PBR材质
- 支持压缩(Draco)
- 纹理压缩(WebP/CRN)
S3M2.0 > S3M3.0:
- 支持椭球场景
- 几何压缩(MeshOpt)
- 纹理压缩(KTX2.0)
- 加载性能提升
- 显存占用降低
2. S3M3.0性能提升

3.2 缓存生产的高级设置详解

1. 倾斜入库关键参数

  • S3M版本: S3M 3.0
  • 几何压缩方式:MeshOpt
  • 纹理压缩格式:
    • CRN_DXT(PC端)
    • KTX2.0(移动端)
  • 重建指数: 相邻四个区域的根节点合并为一个新的节点,即向上抽稀生成一层更为粗糙的LOD层级
  • 重建类型:
    • 重建所有层级:OSGB入库
    • 仅重建顶层:S3M重新入库
  • 融合边界: 减弱瓦片之间的交界效果,主要针对瓦片边界存在少量相交的倾斜摄影三维模型
  • 设置目标坐标系: 若源数据是投影坐标系,则目标坐标系应设置为与之对应的地理坐标系

2.其他模型生成缓存参数

  • 基本设置:

    • 属性存储类型:

      • S3MD: JSON存储
      • ATTRIBUTE:二进制存储,支持专题渲染
    • 瓦片边长:一个切片的范围,高精度BIM模型设置较小的瓦片边长;对粗糙的模型,瓦片边长可适当增大
    • 带法线: 用于渲染时产生符合视觉习惯的光照效果
    • 实例化:复用对象
    • 带线框:用于生成三维切片缓存的轮廓
    • 椭球:在椭球场景中应用缓存时勾选此项
  • 高级选项:
    • 第二重纹理类型:目前支持两种纹理:光照阴影纹理、自发光纹理;模型数据是夜景数据时,建议选择不处理
    • 顶点优化方式:即几何压缩方式,BIM模型和3dmax模型S3M 3.0 缓存和推荐MeshOpt
    • 顶点权重模式:模型的特征值选取模式,包括高度、数据集字段、原始特征值,常用于分层设色的实现
    • 特征值:顶点权重模式位数据集字段时可选择要使用的字段

3. S3M3.0几何压缩方式推荐

  • 倾斜摄影三维模型、BIM模型、3dsMAX模型推荐MeshOpt
  • 点云数据推荐 DRACO

4. 地形生成缓存关键参数

  • 开始层、结束层: 自动获取地形缓存的层编号
  • 高精度: 勾选后才支持数据提取等操作

5. 缓存数据的分布式存储

  • 保存缓存数据到MongoDB数据库中
  • SuperMap iDesktopX 支持倾斜摄影三维模型直接入库到MongDB和HBase

3.3 点集生成缓存外挂模型

1.矢量数据生成三维缓存的方式

  • 三维符号渲染: 高度模式非贴地生成场景缓存
  • 面拉伸生成模型缓存: 矢量面数据集直接生成模型缓存
  • 点集生成缓存外挂模型: 矢量点数据集直接生成模型缓存

四、 三维场景构建方法

4.1 三维符号制作

4.1.1 三维符号概述

1. SuperMap三维符号
通过三维符号化技术,可以实现点、线、面要素在三维场景中的快速构建与可视化表达

  • 三维点符号

    • 三维符号
    • 三维自适应管点符号
  • 三维线型符号
    • 三维线型符号
    • 三维带状跟踪符号
  • 三维填充符号
    • 三维填充符号

2. 三维点符号

  • 三维点符号

    • 支持*.sgm ,*.3ds格式的模型文件
    • 可以用于渲染三维点集或渲染管点的井或附属设施
  • 三维自适应点符号
    • 符号适用于官网中的弯头、三通、四通、变径、盖帽等管点与管线的匹配的接头部分。
  • 创建方法
    • 功能入口: 工作空间管理器 ——》 资源 ——》 点符号库 ——》 加载点符号库… ,弹出点符号选择器对话框,点击 编辑 ——》 新建符号

      3. 三维线型符号

通过直线构成三维线型符号,三维线型符号的子线分为界面子线和模型子线两种类型

  • 截面子线: 是通过绘制三维线的横截面,通过横截面快速构建三维线,所构建的截面子线可以进行纹理贴图,并可以对不同侧面进行不同的纹理贴图;也可以通过设置颜色的方式为子线的各个侧面设置纯色填充
  • 模型子线: 是由三维模型构成的子线,通过设置模型子线的属性,控制三维模型在线性方向上分布、排列形式(也就是在线性方向上每隔多少距离绘制一个给定的三维模型)以及三维模型给的旋转角度,从而构造符合要求的模型子线
  • 新建三维线型

    • 模型子线制作步骤:

      • 新建模型子线
      • 选择构成模型子线的三维模型
      • 设置模型子线中模型的属性,包括模型的间隔以及旋转的角度
      • 设置模型子线的偏移
    • 截面子线制作步骤:
      • 新建截面子线;
      • 构建截面子线的截面;
      • 调整截面子线的位置;
      • 设置截面的颜色或者贴图
        4. 三维带状跟踪线型
  • 可动态模拟管线中液体、气体的流动方向
  • 功能入口: 工作空间管理器 ——》 资源 ——》 线型符号库 ——》 加载线符号库… , 弹出 线型符号选择器对话框,点击 编辑 ——》 新建符号 ——》 新建三维带状跟踪线型
  • 可对带状符号的颜色、头部纹理、尾部纹理、运行周期等参数进行设置

5. 三维填充符号库

  • 目前,三维填充符号编辑器只能制作水面风格,以动态模式的形式模拟水面
  • 功能入口:工作空间管理器 ——》 资源 ——》 填充符号库 ——》 加载填充符号库… , 弹出 线性符号选择器对话框,选择 编辑 ——》 新建符号 ——》 新建三维填充 …

4.2.2 管点管线符号制作案例

4.2 三维场景的渲染方法

4.2.1 三维模型数据专题图表达

1. 案例演示——基于BIM的模型表达

现有某建筑的BIM模型以及施工的进度数据,要求制作出表达建筑施工及进度的三维专题图

实现步骤:
三维数据 ——》 模型工具 ——》 批量修改模型颜色。根据属性信息修改不同的颜色

2. 案例演示——基于倾斜摄影三维专题制作

背景:现有已经单体化处理的倾斜摄影三维模型数据,并提供了该数据范围内的建筑的年份信息。根据建筑年份信息,制作建筑年份专题图。

实现步骤:
1) 提取高度值
三维数据 ——》倾斜摄影 ——》 数据处理 ——》 提取高度值
2) 制作专题图
矢量面添加到三维场景 ——》 制作专题图
3) 修改专题图风格
风格设置 ——》 设置高度模式

4.2.2 粒子特效实现

粒子系统是三维计算机图形学中模拟一些特定的模糊显现的技术,而这些现象用其他传统的渲染技术难以表现出真实感

  • 火焰、爆炸、喷泉、烟雾、水流、烟花…

1. 粒子对象的组成及存储
SuperMap iDesktop中,粒子对象以CAD数据集或 KML数据的形式创建和保存

2. 三维场景中添加粒子特效

添加粒子特效步骤

新建CAD数据集或者KML ——》 场景中添加CAD数据集或KML ——》 绘制粒子对象 ——》 调整粒子系统参数

关键参数

粒子个数上限 、 作用力、 发射频率 、 发射方向 、生成时间

4.2.3 地下管线渲染

1. 管网数据组成

管点数据

  • 井: 方井、圆井、井室、偏心井、玉篦…
  • 特征点: 弯头、直通、三通、四通、五通、多通、变径、盖堵、管帽…
  • 附属设施: 阀门、水表、消防栓、控制柜、变压器、分线箱…

管线数据

包括圆管、方沟、管块、竖管…

2. 管线场景符号组成


3. 构建三维管线场景步骤

1) 管点管线符号配置
2) 加载三维网络数据集
3) 构建三维管线
4) 构建三维管点

构建三维管线

配置管线符号的两种方式:
一种管线符号图层风格: 管线符号、线型宽度和线型颜色
多种管线符号自定义专题图: 线型风格、线型颜色和线型宽度

制作专题图时,SymbolID设置为0,表示使用系统自适应管点符号,也可指定管点符号

4. 自适应管点
问题: 为什么自适应管点不出来?

检查是否设置管点图层的父图层
原因:
1) 自适应管点的生成依赖于管点域管线间的拓扑关系。
2) 专题图没有存储拓扑关系。
解决办法:
使用“关联图层风格”功能,设置目标图层为对应的管线图层。(根据指定的管线图层生成自适应管点符号风格,自适应管线的街头参数和角度)。

检查管点图层和对应的管线图层的高度模式、底部高程模式是否一致
子数据集单独生成的缓存图层,检查缓存图层的“瓦片边长”数值是否一致。

五、 三维GIS服务发布与安全策略

5.1 iServer 服务发布与管理

5.1.1 iServer服务发布

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将自动更新服务

5.3 SuperMap iServer 许可模块

以下模块仅针对三维功能相关模块

1. 许可模块
1) 基础模块
根据iServer 标准版、专业版、高级版区分,提供的功能略有不同
2) 扩展模块

  • 三维服务扩展模块
  • 空间分析服务扩展模块
  • 网络分析服务扩展模块
  • 动态标会服务扩展模块

2. 三维服务扩展模块

  • 三维场景发布和浏览
  • 动态更新
  • 各终端的服务访问
  • 三维GPU分析
  • 三维安全机制

3. 空间分析服务扩展模块

  • 三维空间运算: 三维实体数据模型的交、并、差等空间运算
  • 三维空间查询:三维空间查询能力
  • 三维空间分析:日照分析、可视域分析、天际线分析等
  • 构建体模型: 构建阴影体、构建凸包等
  • 构建三维缓冲区: 对三维点、三维线、三维面、三维体对象构建三维缓冲区。

4. 网络分析服务扩展模块

  • 三维网络分析

    • 汇查找
    • 源查找
    • 上下游追踪
    • 上游关键设施查找

5. 动态标绘服务扩展模块

  • 标号库、标号和态势图的发布、查询和浏览
  • 态势标绘,如标号及图元的标绘、编辑等
  • 在客户端将态势图上传服务器

5.3 三维服务资源详解

1. iServer 服务资源结构

2. data资源
作为数据查询和操作的入口,提供了数据源集合和数据查询功能的资源信息。

3. 3D资源——datas资源
三维服务的根节点,分别提供了三维数据、三维场景及符号资源的信息和操作

4. 3D资源——scenes资源
所有三维场景的集合,通过它能得到当前三维服务中所有的三维场景信息

5. facilityAnalyst 3D资源
三维设施网络分析功能的根资源,用于获取所有可用于三维设施网络分析的三维网络数据集列表。

6. Plot资源
动态标绘服务的根节点,获取发布的标号库、标号及态势图。

5.4 三维服务的安全策略

1. 服务访问安全控制
通过基于身份识别的认证和授权,控制GIS服务访问

2. 角色、用户和 权限的关系
角色和用户: 一个用户可以隶属多个角色,一个角色中可以包含多个用户,用户与角色的队以i你个关系是多对多的。
权限和角色的关系: 权限是与角色对应的,管理员可以将单个服务的某种全新啊指定给角色,而用户只能通过成为某角色的一个成员来继承相应的权限。

iServer 操作流程略

六、 Web端三维GIS开发详解

官网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

6.1 时空数据的可视化表达

同时具有时间和空间维度的数据成为时空数据。如: 车辆轨迹、人员轨迹、船舶轨迹等。
表现形式: 无轨迹运动、沿线运动、动态播放图层。

6.1.1 无轨迹运动

通过实例化的技术支持快速显示大量模型数据。通过刷新模型的位置,实现模型的运动。是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轴旋转的角度)

6.2 三维数据的专题表达

6.3 多源空间数据无缝叠加的技术路线

6.4 基于业务的各种复杂信息查询

6.5 场景特效渲染与美化技巧

6.6 三维空间分析应用

6.7 视频投放方法与应用

七、 SuperMap高保真游戏引擎插件使用

7.1 SuperMap 高保真虚幻引擎插件产品概述

7.2 SuperMap 高保真虚幻引擎插件安装与配置

7.3 虚幻引擎云渲染实现

7.4 白膜数据美化

7.5 SuperMap 高保真Unity引擎插件使用

三维GIS工程师进阶训练营相关推荐

  1. WebGIS工程师进阶训练营

    WebGIS工程师进阶训练营 1. WebGIS课程综述 2. 多类情景部署SuperMap iServer 2.1 Linux环境部署SuperMap iServer 2.2 war包部署 2.3 ...

  2. 网易web安全工程师进阶网易web安全微专业从基础到进阶

    这套课程是由网易和i春秋联合出品的一套网易web安全工程师进阶教程,课程的质量毋庸置疑,教程是我花了3000元从官网上买的,自己也是学习了这套教程,现在我分享给大家,课程包括网易web安全工程师基础课 ...

  3. 三维GIS开发的发展路线以及需要掌握的技能

    什么是三维gis? ​ 三维GIS在WebGIS的基础上,增加了对地球表面的第三维度,即高度或深度. 相比于二维层面的WebGIS,三维GIS能够更好的分析和处理地理空间数据,使用准确的三维地理模型可 ...

  4. GIS工程师的成长之路

     1. 题记 Esri中国社区已经走过了6个年头,自己进入这个大家庭也整整4年有余:社区为大家提供一个相互学习.交流的平台,通过社区也结识了很多GIS行业达人.技术牛人,为自己的成长路增添许多捷径 ...

  5. 机器人建模中移动关节如何建立坐标系_机器人工程师进阶之路(八)指数积(PoE)建立机械臂模型及正运动...

    梁政:机器人工程师进阶之路(六)旋量法(上)​zhuanlan.zhihu.com 梁政:机器人工程师进阶之路(七)旋量法(下)​zhuanlan.zhihu.com 从上两篇我们可以了解到,利用旋量 ...

  6. 从事GIS开发多年,2017年对GIS行业的心得,尤其对三维GIS的理解

    个人群号 309141738 本人从事GIS方面开发六年了,但是一开始大学并未学的是GIS方面的专业,本人学习的专业叫对日软件开发,呵呵...很新颖的一个名字把,没错,本来想着毕业后去日本从事软件开发 ...

  7. 基于TerraDeveloper的三维GIS开发研究

    [中文题名]  基于TerraDeveloper的三维GIS开发研究 [英文题名]  Research on the Development of 3D GIS Based on TerraDevel ...

  8. 工程师进阶之路(二)

    转载自 量子恒道官方博客  地址:http://blog.linezing.com 工程师进阶之路 二 谈谈沟通能力--沟通的准则 如果一名工程师要成长为资深专家或者是架构师或者是技术管理者,沟通是必 ...

  9. 超图三维GIS在线示例

    地址 http://support.supermap.com.cn:8090/webgl/examples/examples.html http://support.supermap.com.cn:8 ...

最新文章

  1. I-Matrix Power Series POJ - 3233 矩阵快速幂+分治
  2. Nat. Mach. Intell. | 集成深度学习在生物信息学中的发展与展望
  3. Android 如何判断CPU是32位还是64位
  4. CPU 硬盘性能到底相差多少
  5. linux创建目录的语句,Linux的 文件 和 目录 管理(基本语句)
  6. java属于哪种语言_Java属于以下哪种语言( )_学小易找答案
  7. 一起来玩树莓派--在docker内安装conda(python3.6)
  8. Linux php.ini设置date.timezone=XXX为什么不生效?
  9. echarts3使用总结2
  10. 太阳方位角 matlab,太阳天顶角与太阳方位角计算软件V4.1及源码
  11. 如何将手机里的PDF文件转换成Word文档
  12. uva 10158 - War(并查集)
  13. 【Kanzi】1:android编译环境配置
  14. 便携式水质自动采样器的使用技巧
  15. 一年股票翻3倍的SaaS公司是做什么的?
  16. 阶跃折射率光纤的波动光学理论
  17. H5的video 在安卓浏览器上层级问题
  18. 网络安全(知识点总结分类)
  19. C#-WinForm-简单的音频播放器(基于WindowsMediaPlayer控件)(一)
  20. phpcms上传php,phpcms怎么上传歌曲文件

热门文章

  1. Java UDP Server的轻量级实现
  2. vb 彩牛概率统计for Excel
  3. 【转帖】Linux Cut 命令 与 Paste命令Join命令tr命令
  4. Oracle cursor 游标详解
  5. 原生 js 获取所有兄弟节点
  6. DX9贴图-------VB6编程学习DX9游戏编程DirectX9编程2D小游戏源码冷风引擎CoolWind2D游戏引擎(11)
  7. java数组希尔排序及时间复杂度
  8. LVM-HOWTO/学习笔记(五)
  9. 大漠插件ocr多选字库_易语言大漠单线程模块制作设置字库及Ocr识别字符串
  10. 数学建模美赛O奖论文研读启示录——从模仿开始