Cesium 1.50重量级新功能测评

概要
既Cesium 1.49中3dtile加载性能大幅提升以后,Cesium 1.50再次迎来几个重量级新功能:
1 地球裁切,这下相当于可以截取一部分地形影像数据,当作一个平面场景来用了!
2 射线求交,为客户提供了进行通视分析和碰撞检测的可能!
3 贴地高度获取,为标签等位置的放置提供了依据。
4 地面大气效果,地球效果更加好看,算是弥补了长久以来的短板吧。。
Cesium 1.50又新增加了如下几个示例,以下分析也是根据这几个示例来的。

地面大气效果(Ground Atmosphere)
Cesium 1.50版新增了这个属性:globe.showGroundAtmosphere,默认为true,也就是默认开启了地面大气效果。地面大气效果如下:


而1.50版以前的效果大概是这个样子:

关键代码:

另外,Cesium老早之前就有一个scene.skyAtmosphere,用来控制大气效果了。不过这个只能控制相机在近地面时抬头看天的效果。Cesium中还有一个叫 Atmosphere Color 的示例,就是演示scene.skyAtmosphere的用法。
地球裁切(Cartographic Limit Rectangle)
这个示例可以用来裁切地球,效果如下图所示:

这是一个激动人心的效果!老早之前就有客户一直抱怨不想要地球,只想看平面,但是平面又涉及到拉伸变形的问题。这回有了它,就可以在地球上任意截取一块地形和影像。裁切的区域越小,就会越近似平面。
关键代码如下:
var coffeeBeltRectangle = Cesium.Rectangle.fromDegrees(-180.0, -23.43687, 180.0, 23.43687);
viewer.scene.globe.cartographicLimitRectangle = coffeeBeltRectangle;
我尝试着截取了一块中国区域,效果还不错。

模型上的高度获取(Clamp to 3D Model)
给定地理坐标,获取当前地理位置的物体高度。老早之前Cesium就提供了地形高程获取的相关函数,如ApproximateTerrainHeights、sampleTerrain、sampleTerrainMostDetailed,只是一直比较原始。这一次在Scene的层面提供,算是封装得比较好了。


3dtiles数据上的高度获取(Clamp to 3D Tiles)


Cesium最新提供的两个方法sampleHeight和clampToHeight,按照官方文档的说法,都可以作用于globe, 3D Tiles, or primitives,都是用来给定地理坐标,然后获取对应的高度值。我这里只看到了参数类型略有不同,返回值一个是直接给高度,另外一个是返回一个position。貌似大同小异。。以下附带两个函数的说明如下:


射线求交(development/Pick From Ray)
Cesium提供了另外一个激动人心的功能,终于可以求交运算了。以前看超图的示例,有通视分析的功能,还想研究一下。没想到Cesium自己也提供了。

这项功能,不仅可以用来做通视分析,或许也可以用来做广大客户日思夜想的碰撞检测了!


关键代码如下:
var start = Cesium.Cartographic.toCartesian(blueCartographic);
var end = Cesium.Cartographic.toCartesian(redCartographic);
var direction = Cesium.Cartesian3.normalize(Cesium.Cartesian3.subtract(end, start, new Cesium.Cartesian3()), new Cesium.Cartesian3());
var ray = new Cesium.Ray(start, direction);

var results = [];

if (drillPick) {
results = scene.drillPickFromRay(ray, 10, objectsToExclude);
} else {
var result = scene.pickFromRay(ray, objectsToExclude);
if (Cesium.defined(result)) {
results = [result];
}
}

后记
Cesium 1.50版也带来一些额外的问题,加载老版本的3dtiles或者gltf数据时,可能会报错:

这个问题我在另外一篇文章中给予说明和解决方案。

欢迎关注 Cesium实验室 ,QQ群号:595512567。

原文地址:http://blog.51cto.com/14117342/2327017

时间: 2024-08-29 19:48:15

Cesium 1.50重量级新功能测评的相关文章

Red Hat Enterprise Linux 7的新功能

?? 简介红帽最新版本的旗舰平台交付显著增强的可用性. 性能和可靠性. 丰富的新功能为架构. 系统管理员和开发人员提供所需的资源以更高效地进行创新和管理.架构师: 红帽® 企业 Linux® 7 适合您选择的任意基础架构, 它可以高效地与其他操作环境. 身份验证和管理系统集成到一起. 无论您是要构建网络密集型应用程序. 可大规模扩展的数据资料库, 亦或是一次构建而成但会频繁部署的并在物理. 虚拟和云环境中表现良好的解决方案, 红帽企业 Linux 7 都提供了必要的功能来支持您的项目.系统管理员

ios新功能引导提示

在开发中,现在很多app更新了新功能时都会给出用户一个提示,以方便用户更好的体验,那么这个功能如何实现的呢? 首先看下效果图: 1.首先创建第一个viewcontroller 在上面放上一个imageview和一个按钮 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. UIImageView *imageview=[[UIImageView alloc]ini

Unity5 新功能解析--物理渲染与standard shader

Unity5 新功能解析--物理渲染与standard shader http://blog.csdn.net/leonwei/article/details/48395061 物理渲染是UNITY5最大的亮点之一,物理渲染的采用绝对是下一个世代游戏的热点,UNITY5的大范围使用是一个可喜可贺的事情,关于什么是物理渲染,本人曾经写过一篇博客专门讨论,详见http://blog.csdn.net/leonwei/article/details/44539217. 物理渲染和当今的主流光照计算最大

MySQL 5.7 Replication 相关新功能说明

背景: MySQL5.7在主从复制上面相对之前版本多了一些新特性,包括多源复制.基于组提交的并行复制.在线修改Replication Filter.GTID增强.半同步复制增强等.因为都是和复制相关,所以本文将针对这些新特性放一起进行说明,篇幅可能稍长,本文使用的MySQL版本是5.7.13. 1,多源复制(多主一从) MySQL在5.7之后才支持多源复制,之前介绍过MariaDB 多主一从 搭建测试说明,现在介绍如何在MySQL上做多主一从,具体的方法说明可以查看官方文档. 原理:多源复制加入

【编程题】计算器的新功能

题目:计算器的新功能 附上提交通过的Java版代码 题目描述 当你学一些可视化程序设计语言时,老师经常会让你设计并且编程做出一个计算器,这时也许你会仿照windows系统自带的计算器外观和功能去设计,但是现在老师要你多做出一个有新功能的计算器,实现当输入一个数时,能够将这个数分解成一个或多个素因子乘积的形式,并按素因子的大小排列显示出来.大家对计算器中数的表示应该很清楚的.下面显示出了0 — 9这十个数字的表示形式.每个数字都占据5 * 3大小的字符区域 你能实现这个新功能吗?试试看吧! 1 i

深入解读HBase2.0新功能之高可用读Region Replica

摘要: 基于时间线一致的高可用读(Timeline-consistent High Available Reads),又称Region replica,为HBase带来了高可用读的能力.本文主要介绍region replica这个功能设计的背景,技术细节和使用方法,同时会仔细分析这个功能的优缺点并给出使用建议. 前言 基于时间线一致的高可用读(Timeline-consistent High Available Reads),又称Region replica.其实早在HBase-1.2版本的时候

2012远程桌面管理工具下载新功能

与升级到Windows 8相比,企业用户使用Windows Server 2012时相对比较简单.Windows Server 2012最大的改变并不是在风格上,除了Modern UI界面之外,而是那些基于微软三年前发布Windows Server 2008 第二版本时打造的组件.值得一提的是,Windows Server 2012保留并极大地扩展了两个Windows Server 2008 R2网管们很熟悉的两个管理功能:Server manager 和Powershell.iis7远程桌面连

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 memcached API 直接访问 NoSQL2 1.4. 更好的复制2 1.5. Performance Schema2 2. MySQL 5.7.62 2.1. 内建中文全文索引2 2.2. 多主复制2 2.3. other2 3. 参考2 1. MySQL  5.6    5 大新特性 M

酷客多小程序DIY体系全面升级,还加入了这些新功能

在这个追求个性的时代,很多人都不愿追随大流,而是更喜欢DIY.首页模板的DIY功能一直都备受酷客多小粉丝的喜爱,昨晚伴随着扫码点餐一起推出的,还有模板DIY的全新页面.新的DIY界面加入了首页视频.背景.客服三个功能,操作流程相比之前简化了许多,商家只用拖动想要的组件到相应的位置并且链接到相应入口,就能完成模板的设计. 本次新增的DIY首页模板的三个新功能小编逐一介绍一下 1. 首页背景 新增的背景设置功能,商家可以自己设定首页的颜色或者是首页图片,使得小程序首页搭配更和谐,满足大部分追求个性化