CesiumLab地理信息基础数据处理平台
V4.0.7
使用手册
北京西部世界科技有限公司
目录
当前技术架构下,为了最大化提升三维数据可视化效率,几乎所有的三维数据都要进行预处理过程,常见的流程如下:
数据预处理过程把多源异构的GIS数据存储为切片格式。通过标准的HTTP数据分发服务送给数据可视化端软件展示。
开源的三维可视化端目前有Cesium平台,Unreal Engine平台,OsgEarth平台等。
开源的HTTP数据服务有tomcat,nginx等。
但是数据预处理部分基本没有完整的开源产品,CesiumLab就是定位围绕Cesium平台的一套完整易用的数据预处理工具集,并且已经内置了一个启动可用的轻量高性能http分发服务,以及集成了我们另外一个产品EarthSDK做为数据预览工具,所以整个CesiumLab的功能三大部分:
- 数据预处理,包括地形、影像、模型、矢量、倾斜、BIM、点云等相关切片工具。
- 分发服务,包括影像切片服务,地形切片服务、3dtiles切片服务等。
- EarthSDK预览页面,用来基于EarthSDK整合三维场景。
软件安装以及卸载
下载安装
http://bjxbsj.cn/cesiumlab.html官网下载安装文件。
双击exe安装。
安装过程会提示 本程序依赖VC2019 实时运行库,如本机已安装了VC2019实时运行库,可以点击【取消】,否则请点击【确定】。
登录
从CesiumLab4开始,用户系统不再使用account.bjxbsj.cn的用户系统,改为的本地用户系统,并与授权解绑。
普通用户登录
在CesiumLab4登录界面,直接输入账号密码(默认账号:cesiumlab,默认密码:cesiumlab,注意:默认用户名密码不安全,请尽快修改),点击【登录】,提示登录成功。
使用管理员的账号和密码也可登录CesiumLab,此时使用管理员账号和密码登录的CesiumLab可看到所有分配用户的处理数据及服务,而用户只能看到自己的处理数据和服务。
管理员登录
详情请参见CesiumLab管理系统章节里的登录。
修改密码
登录成功后其头部右侧有一个用户名按钮点击个人信息,页面跳转到个人中心。
在个人中心进行点击密码修改
授权类型
CesiumLab授权类型分为:在线授权、单机授权、USB授权。
a)在线授权(即免费用户):必须连接互联网,登录后才可使用,仅可用基础功能,高级功能无法使用(软件中所有金色字体的功能即为高级功能)。
b)单机授权:无需连接互联网,无需登录,绑定一台电脑,可用全部功能。
c)USB授权:无需连接互联网,无需登录,随USB插拔使用任意电脑,可用全部功能。
本机授权信息
授权信息现已移至CesiumLab管理系统里,详情请参阅5.4授权管理
申请测试授权
在购买正式授权前,可以申请测试授权。测试授权使用期限为2~3天。
身份认证
申请测试授权需要进行身份认证,身份认证需要提供真实有效信息,认证通过后不能修改。
登录http://account.bjxbsj.cn/login.html,点击“上传文件”按钮进行身份认证,(注:所上传文件必须为能够证明个人身份的图片,要求:图片清晰、能够证明个人的工作单位或所属公司,可一次选择多张图片上传)如下图所示:
上传完毕后“上传文件”按钮置灰禁止点击上传,认证状态变为“未处理”,可编辑资料,此时只需等待管理员身份审核处理即可,如下图所示:
可点击查看按钮进行上传图片的查看,如下图所示:
认证通过后,认证状态变为“已通过”,不可再上传文件身份认证文件、不可再编辑资料,如下图所示:
若身份认证被拒绝,认证状态变为“已拒绝”,可编辑资料、可再次上传文件进行身份认证;此时需要用户再次上传有能够有效证明个人身份的图片(若上传图片不能够有效证明个人身份,会有再次被拒绝的风险),如下图所示:
进行授权申请
身份认证通过后即可进行授权申请,点击左菜单栏“授权申请”,如下图所示:
点击授权申请按钮进行授权申请,如下图所示:
申请产品,首先需要获取机器码,请登录CesiumLab4管理员后台,授权管理,查看机器码:
输入机器码,选择要申请的产品,然后点击确认,如下图所示:
如果认证状态为已拒绝或未处理,此时授权申请不了,入下图所示:
授权申请成功后页面会显示相应的产品申请,此时状态为“等待处理”,如下图所示:
授权申请通过后,状态变为“已通过”,并且会通过短信的形式发送到您的手机号,如下图所示:
下载安装授权
点击左侧菜单授权记录,如果授权申请已通过则会在授权记录里生成一条记录,可在此下载申请的授权文件,如下图所示:
使用管理员账号登录CesiumLab4后台管理系统点击左侧菜单“授权管理”,然后点击“上传授权文件”按钮把下载的授权文件上传即可安装成功 。
购买授权
如需购买授权,请登录https://www.bjxbsj.cn/cesiumlabpurchase.html,可查看授权类型、对应价格、开票信息和销售联系电话等。
付款后我们会发放授权。对于单机授权,我们会添加到购买用户的手机号注册账户里。对于usb授权,我们会通过顺丰发送到客户指定位置。
单机授权安装
单机授权为硬件绑定机制:更换硬盘(包括插拔usb硬盘)、重装系统、切换网卡等任何的硬件改动都可能导致机器码改变,从而导致授权失效。所以购买单机授权用户要确保待授权机器在有效期内不会做任何改动。因为我方无法判定您是更换机器还是硬件改动,所以授权失效后,我们也不承诺重新发放授权!!!
请先在您待授权的机器安装最新版的CesiumLab4,安装之后点击管理员登录,登录后点击授权管理会显示本机的机器码,请把机器码**拷贝(不要截图或拍照,请拷贝)**发给销售。
在线安装授权
如果待授权的机器为可上网机器,和销售联系确认已经发放授权之后,如下操作。
登录后,按1.5.3 下载安装授权操作即可。
离线安装授权
如果待授权的机器不能连接互联网,那么联系销售,销售会发送授权文件。
将收到的cesiumlab.lic文件放到:
C:\Users\【您的windows用户名】\.cesiumlab4 目录。注意,授权文件不能是只读的。
此时刷新页面,授权状态更新为单机授权。
USB授权
将USB插入当前CesiumLab4的安装机器,此时刷新页面,授权状态更新为usb授权。
软件设置
软件右上角找到设置按钮。
端口设置
端口设置现已移入cesiumlab4后台管理系统内,具体请看cesiumlab4后台管理系统章节。
如果端口号冲突,在C:\Users\【您的windows用户名】\.cesiumlab4 目录下找到配置文件,修改端口号,改成从0到65535之间的数。
卸载
打开CesiumLab4的安装目录(默认安装目录:C:\Program Files\cesiumlab4),双击uninst.exe根据提示进行卸载。
数据处理
数据处理包括下述工具和模块:
注:在无授权信息的时候进行数据处理时,第一点击提交处理按钮需进行在线授权认证,认证通过即可成功提交处理。(用户名和密码为“地球可视化实验室用户后台”的用户名和密码,网址:https://account.bjxbsj.cn/)
数据处理基础和处理流程
数据处理流程图
数据处理的目的是把各种来源、各种格式的输入数据,处理为三维GIS上能够渐进加载的切片文件格式。整个过程是一个输入到输出的过程,我们先讨论输出的切片格式。
切片格式
根据可视化的效果需求,目前至少以下几种切片形式:
影像切片
和传统二维GIS上的切片类似,它的切片文件格式是常规图片,比如png或者jpg,可以直接在二维引擎上浏览查看。Cesium目前支持的影像切片规范有两种形式的,一种是经纬度直拉切片方式(GeographicTilingScheme),一种是web墨卡托切片方式(WebMercatorTilingScheme)。CesiumLab4已经都支持了,后续影像切片会详述。
影像切片
地形切片
地形是通过三角网来描述地表起伏的一类数据。一般来说地形是一个三维引擎的基础数据,很多其他数据的显示都要依赖地形,比如影像数据需要贴合在地形上展示,POI点需要采样地形高程,鼠标交互需要获取鼠标交互位置点。
Cesium的地形切片格式以及标准,请参考Cesium官方的文档:
https://github.com/CesiumGS/quantized-mesh
地形切片
模型切片
对于Cesium引擎 和 CesiumLab工具,模型切片就是3dtiles格式。3dtiles的切片规范如下:
https://github.com/CesiumGS/3d-tiles/tree/main/specification
3dtiles = 索引 + 内容
索引是json格式的元数据定义,包括数据范围、几何误差等,索引可以嵌套引用其他索引。
内容可以进一步分为3种内容格式 和 1个集合格式,具体如下:
格式 | 用途 |
---|---|
Batched 3D Model (b3dm) | 多种三维模型格式,例如有纹理的地形数据, 包含内外结构的三维建筑,大范围的模型数据 |
Instanced 3D Model (i3dm) | 实例化三维模型,例如森林、路灯和垃圾桶等城市附属物、设备零部件等。 |
Point Cloud (pnts) | 海量点数据 |
Composite (cmpt) | 仅仅用来把上述多个不同格式的文件组织为一个文件。 |
3dtiles 内容格式
3dtiles切片示例
此文档编写过程中,Cesium刚刚发布了3dtiles next,关于3dtiles next 我们也会持续跟进。
参看https://mp.weixin.qq.com/s/A7ihGLbjN8iRCwPp9t6Y_A
输入数据
说清楚了输出格式,我们再来讨论输入数据。用一个流行的词语来描述输入:多源异构,多种来源,多种差异化数据结构,所以实际输入是比较复杂的,比如有常规GIS的栅格矢量,有现在流行的实景倾斜模型,有传统的手工模型,也有当下火热的BIM或者CIM模型,还有一些特殊,比如点云数据、地质数据、体数据、场数据、流数据等等。CesiumLab做为一个基础软件,目前无法涵盖所有数据类型,它定位解决各个行业或者各种三维项目都会用到的数据类型的切片化。所以我们把基础数据输入分为如下五大类:
传统GIS数据
传统GIS数据,按照组织分为两大类:栅格和矢量,栅格数据通过逐点的属性值来描述数据,比如地形高程栅格,或者遥感影像栅格,对于栅格三维中有两种方式去可视化。
栅格数据
第一种栅格就是地形高程数据(dem),此类数据三维可视化用来显示地形起伏高低,地形数据的常见格式有dem,tif等。其他非常见格式的高程数据可以使用arcgis进行格式转换,转到dem 或者 tif来进行地形切片。
Arcmap打开高程数据
除了高程之外,其他的栅格数据一般都是处理成影像切片来可视化。
Arcmap打开影像数据
矢量数据
Arcmap打开矢量数据
除了栅格之外,还有一类传统GIS数据,通过点、线、面等几何对象来描述地理实体,这就是矢量。矢量的三维可视化问题比较复杂,根据三维的渲染方式可以分为以下几种:
第一种是栅格化展示和绘制,借助二维GIS服务器的矢量渲染出图能力,矢量可以在服务端生成图片,三维上加载方式就类似栅格的影像切片,二维GIS相关的标准服务,比如WMTS,WMS等可以直接接入到三维中。这块的产品也比较多,比如Esri的arcgis server,超图的iserver,开源的geoserver等。
第二种是矢量化展示和绘制,比如Cesium里的geojson 、czml等绘制的图标、文字、折线、多边形等。
第三种是模型化展示和绘制,比如建筑物轮廓,我们可以根据建筑高度拉成白模去可视化,比如用来描述森林位置或者城市附属物(路灯,垃圾桶)等点位的可以用实例化模型去展示。
这三种方式各有利弊,我多年前整理的一张图,到今天依然适用:
所以对于矢量数据的处理,需要根据情况来选择:
CesiumLab矢量数据处理
一般的矢量都可以通过lab自带的开源shp工具集,把shp转geojson格式去加载。
建筑矢量面可以通过通用模型切片处理为白模。
描述实体点的数据,比如树木点位、灯杆位置等可以用i3dm工具处理为实例化模型。
人工模型
人工模型数据(或者手工模型数据)是三维GIS行业发展的最早的需求来源,通过3dsmax,maya等建模工具人工建模的数据。
人工模型
我们这里只罗列上面四个建模工具,其实建模工具远多于四个,手工模型格式可以多达50多种。这里我给大家解释几个概念。
原始格式
比如3dsmax的 .max格式等,这些格式存在的意义在于是各种建模工具存储自定义信息的,一般来说格式都不开放,我们无法直接去读取和处理这些格式。所以有这些格式,一定要在建模工具内导出交换格式。
交换格式
比如比较古老的obj格式,以前流行的3ds格式,曾经的标准collada(dae)格式,现在事实上的交换格式标准fbx格式。这些格式存在的意义是为了各个软件之间能够相互导入导出模型成果。一般这些格式是开放的。所以我们模型切片的大部分输入格式,应该是交换格式。
这里我们推荐优先考虑fbx,原因是fbx是autodesk相关产品(3dsmax,revit,maya等)的官方交换格式,定义的比较完善,而且autodesk提供了官方的fbxsdk,这样更稳定。
另外一个是obj,使用obj是退而求其次的选择,我们实践中发现一些大的模型,在3dsmax里导出fbx经常崩溃出错,但是导出obj反倒很稳定。虽然是obj,但是我们也推荐使用3dsmax导出的obj,obj格式太灵活太简单,反倒对于数据标准化处理来说是缺陷,比如它没有单位信息(处理后模型大小不对),没有向上轴信息(处理后模型是垂直的),没有几何体共享(无法做实例化优化)。
如果你有其他交换格式的数据(比如dae或者3ds)可以用max导出fbx再处理,如果量比较大,可以详询我们的付费服务。
渲染格式
很多人跟我们提过需求或者问过我们,为什么不支持gltf进行切片。虽然对于gltf我们可以说是很了解的(3dtiles的切片大部分都是构造gltf)。但是几个原因:1,gltf格式标准还比较新,目前已有的导出gltf插件或多或少有缺陷,并不推荐大家使用。2,gltf格式定义的目的基本不是为了在各个软件之间交换三维模型,而是为了让引擎去高效渲染。所以我们这里称之为渲染格式,所以它的结构组织相对简单,目前来说也不是很合适做为切片的输入格式。
除了数据格式之外,我们做模型切片,其实应该考虑数据的“异构“,比如说建筑物或者一个机械设备,这两个都可能是3dsmax建模的,但是模型精度以及贴图方式都不同,那么切片方案上应该有区别。但是目前做为Cesiumlab软件本身来说,它是没有行业属性的,所以我们的处理需要通用一些,无论哪种”构“的模型都可以处理,所以我们做了通用模型切片工具,这个工具可以让您把各种模型导出为3dtiles,但是可能对于特定数据来说不是最优化的方案,如果您有特殊的数据,请联系我们。