Cesium奇幻之旅(一)


Cesiumlab是一款专为Cesium开源数字地球平台打造的免费数据处理工具集。目前包含 地形数据处理、影像数据处理、点云数据处理、数据下载、矢量数据处理(矢量楼块切片,矢量点转i3dm)、倾斜数据处理、三维场景(obj,fbx,ifc,3ds,dae)处理、BIM数据 (revit,ifc,microstation,catia)处理等工具。同时提供一套node.js开发的数据服务器,形成从数据处理、服务发布、到三维可视的完整工具链。它能帮您最快速、最低成本的搭建项目所需要的基础场景,为您节省宝贵时间。
斜体样式

1.授权相关

授权类型分为在线授权单机授权USB授权,免费在线授权的授权信息存储在cesiumlab官网,每次启动需要登录,电脑需要能访问网络才可以正常开启处理任务。
在这里插入图片描述

2.数据处理

2.1 矢量楼快切片

在这里插入图片描述
本页面列出了矢量楼块切片的所有相关参数。例如:输入文件、建筑数量、建筑高度、底面高度、其他选项、字段列表、贴图效果、地形高程、其他参数以及输出目录等。

  1. 输入文件(点击输入文件按钮,选择一个输入文件。系统自动会读取输入数据里的信息,例如建筑数量,字段列表等。如果有错误会弹出错误提示)
  2. 建筑高度
    固定高度:所有建筑高度相同,默认高度为10
    高度字段:输入的字段值乘高度比率为最终底面高度
  3. 底面高度
    固定高度:底面高度相同,默认高度为0
    高度字段:输入的字段值乘高度比率为最终建筑高度
  4. 其他选项
    楼顶分离:把楼顶和侧面单独构造对象,便于设置不同显示样式
    构造底面:默认只是构造顶面和测面,构造底面后,每个建筑为封闭几何体
    绝对高度:勾选后,建筑的模型高度=建筑高度-底面高度
    强制双面:强制正反面都显示
    无光照:勾选后,显示的是无光照对建筑物的影响
    顶点压缩:对生成的三角网进行 draco 压缩,减少存储传输数据量
    分类单体:生成符合 cesium 分类 3dtiles 标准的 3dtiles
  5. 字段列表
    选择矢量文件后,会自动列出
    是否存储:勾选后保存到 3dtiles 中
    名称小写:勾选后字段名变小,比如 DSCS在 3dtiles 中存为 dscs
    值转数字:比如这里的 GLOBALID字段,类型是String ,但是实际存的是数值,那么勾选后,3dtiles 中将保存数值类型,数值类型我们可以在设置 3dtiles 样式的时候使用
  6. 贴图效果
    条件:为字段设置范围,默认是任意的
    顶面纹理:建筑物的顶面纹理配置,默认是无纹理的
    侧面纹理:建筑物的侧面纹理配置,默认是无纹理的
    注:纹理图片需要jpg格式的图片,否则无效果
    在这里插入图片描述
  7. 地形高程
     可选的操作,如果对应的 shp有地形高程文件,那么选择后,可以处理为 3dtiles 的时候自动附加地表高程。这里注意,国内的 shp一般都是加偏的,但是 dem 都用 srtm 等都是未加偏的,用户最好自己保证数据是否匹配。
  8. 其他参数
      默认支持的字段中文编码为 UTF8,对于一些国产的 shp数据,中文可能是 GBK,如果在 cesium 点击查看属性的时候发现乱码,请按GBK尝试。
    筛选阈值:根据建筑大小决定模型显示的级别
    误差倍率:调节保存到 tileset.json 中的 gemetricError
    对象简化:对矢量面做简化,简化阈值单位为米
    对象缓冲:对矢量面数据做缓冲扩展,单位为米
    仅外轮廓:仅保留外轮廓,忽略內洞
  9. 输出目录
    输出文件存储位置。

2.2 倾斜模型转换

在这里插入图片描述
       通常拿到倾斜摄影的模型数据(osgb格式),点击数据处理---倾斜模型转换V3---添加,选到模型数据文件的Data一层,文件中必须包含Data文件夹和metadata.xml文件。倾斜模型文件结构图

  1. 输入文件(点击添加按钮选择对应文件,系统自动会读取输入数据里的信息,例如文件路径,空间参考,零点坐标,其他选项等。如果有错误会弹出错误提示。选择之后勾选表格中添加的数据即可操作表格下方的设置、删除按钮)
  2. 纹理格式
    默认:默认的纹理格式
    减小总量:数据总量减少,提高传输效率
    减小显存:显存占用减小,提升渲染性能,但是数据总量会增加
    综合优化:显存占用减小,提升渲染性能,数据总量基本不变,但是需要较长的处理时间
  3. 其他选项
    无光照:倾斜渲染使用自定义shader 完成,避免 cesium 光照影响,效果更真实
    三角网压缩:使用 draco压缩算法减少 b3dm文件大小
    强制双面:兼容一些编辑器的双面问题
    海量模式:对顶层 tile 重构空间索引,并分割 tileset.json,对大数据量有一定的优化
    线程个数:处理程序所用的线程最大个数注:选择默认,不建议选择多个影响速度
  4. 存储类型
      支持紧凑和散列两种存储类型,散列文件类型即以文件的形式存储3dtiles,紧凑类型是将3dtiles存储于sqlite数据库中,文件后缀为clt。
  5. 输出目录
    输出文件存储位置。
    相关文章链接
    CesiumLab V2.2.0 - 倾斜处理再优化
    CesiumLab–倾斜数据的终极优化方案
    分类单体化的说明
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Cesium创建一个圆锥的示例代码: ```javascript // 创建圆锥的位置 var position = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 1000.0); // 创建圆锥的方向 var direction = Cesium.Cartesian3.normalize(Cesium.Cartesian3.subtract(Cesium.Cartesian3.fromDegrees(-75.58777, 40.04883), position, new Cesium.Cartesian3()), new Cesium.Cartesian3()); // 创建圆锥的半径和高度 var halfAngle = Cesium.Math.toRadians(30); var length = 1000.0; // 创建圆锥的属性 var coneGeometry = new Cesium.ConeGeometry({ vertexFormat : Cesium.VertexFormat.POSITION_ONLY, length : length, topRadius : 0.0, bottomRadius : length * Math.tan(halfAngle), slices : 32 }); var coneInstance = new Cesium.GeometryInstance({ geometry : coneGeometry, modelMatrix : Cesium.Transforms.eastNorthUpToFixedFrame(position, Cesium.Ellipsoid.WGS84, direction), attributes: { color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.YELLOW) } }); // 创建圆锥的实体 var entities = viewer.entities; entities.add({ name: 'Cone', description: 'A cone', position: position, orientation: Cesium.Quaternion.fromUnitVectors(Cesium.Cartesian3.UNIT_Z, direction), model: { uri: 'Cesium/Assets/Models/Cone.glb', minimumPixelSize : 128, maximumScale : 20000, scale: 1.0, color: Cesium.Color.YELLOW } }); ``` 解释一下代码: 1. 首先,我们创建了一个位置变量,表示圆锥的位置。 2. 然后,我们创建了一个方向变量,表示圆锥的方向。 3. 接着,我们定义了圆锥的半径和高度。 4. 然后,我们创建了一个圆锥的几何对象。 5. 接着,我们创建了一个圆锥的实例对象,并将其属性设置为之前定义的几何属性。 6. 最后,我们将圆锥实体添加到场景中。 注意:以上代码仅用于演示如何使用Cesium创建圆锥,具体实现可能会因为场景需求而有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值