Cesium案例解析(十)——CZML点
1. 概述
CZML是Cesium中用于描述动态图形场景的JSON格式,它们的关系类似于Google Earth与KML之间的关系,一般会认为KML是一种矢量格式,但KML或者CZML绝不是矢量格式那么简单,它可以描述线,点,广告牌,模型和其他图形图元,并指定其如何随时间变化。
CZML Point这个案例描述了如何通过CZML格式来描述一个点。
2. 案例
CZML是一种JSON格式,因此可以直接在程序中描述成对象字面量。具体实现代码如下:
'use strict';
var czml = [{
"id": "document",
"name": "CZML Point",
"version": "1.0"
}, {
"id": "point 1",
"name": "point",
"position": {
"cartographicDegrees": [-111.0, 40.0, 0]
},
"point": {
"color": {
"rgba": [255, 255, 255, 255]
},
"outlineColor": {
"rgba": [255, 0, 0, 255]
},
"outlineWidth": 4,
"pixelSize": 20
}
}];
var viewer = new Cesium.Viewer('cesiumContainer');
var dataSourcePromise = Cesium.CzmlDataSource.load(czml);
viewer.dataSources.add(dataSourcePromise);
viewer.zoomTo(dataSourcePromise);
Cesium中直接定义了一个CzmlDataSource对象处理Czml,通过load函数返回了一个CzmlDataSource的Promise。然后将其加入到Viewer成员变量dataSources,它是一个DataSource数据源的集合DataSourceCollection。DataSourceCollection的add函数能够接受CzmlDataSource的Promise,也就是一旦CZML被正确读取,就会加载到视景器Viewer中。
这里的CZML定义也是比较直观的:
- 属性cartographicDegrees表示点的位置由经度、纬度以及高程来表示,且以度为单位;
- color表示点的颜色;
- outlineColor表示点的边框颜色;
- outlineWidth表示点的边框宽度;
- pixelSize表示点的像素大小。
3. 结果
最后的显示效果如下:

Cesium案例解析(十)——CZML点的更多相关文章
- Cesium案例解析(二)——ImageryLayers影像图层
目录 1. 概述 2. 实例 2.1. ImageryLayers.html 2.2. ImageryLayers.js 2.2.1. 代码 2.2.2. 解析 3. 结果 1. 概述 Cesium支 ...
- Cesium案例解析(六)——3DTilesInspector监视器
目录 1. 概述 2. 案例 1. 概述 3D Tiles作为传输和渲染大规模3D地理空间数据的格式,应对的都是大规模数据的场景,Cesium提供了一个监视3D Tiles数据的监视器,可以通过这个监 ...
- Cesium案例解析(五)——3DTilesPhotogrammetry摄影测量3DTiles数据
目录 1. 概述 2. 案例 3. 结果 1. 概述 3D Tiles是用于传输和渲染大规模3D地理空间数据的格式,例如摄影测量,3D建筑,BIM / CAD,实例化特征和点云等.与常规的模型文件格式 ...
- Cesium案例解析(四)——3DModels模型加载
目录 1. 概述 2. 代码 3. 解析 4. 参考 1. 概述 Cesium自带的3D Models示例,展示了如何加载glTF格式三维模型数据.glTF是为WebGL量身定制的数据格式,在网络环境 ...
- Cesium案例解析(三)——Camera相机
目录 1. 概述 2. 实例 2.1. Camera.html 2.2. Camera.js 2.2.1. 飞行至某一点 2.2.2. 飞行至某区域 2.2.3. 两地之间飞行 2.2.4. 设置视图 ...
- Cesium案例解析(一)——HelloWorld
目录 1. 概述 2. 实例 2.1. HelloWorld.html 2.2. HelloWorld.js 3. 结果 1. 概述 感觉网上已经有不少关于cesium的教程了,但是学习一个框架最快的 ...
- Cesium 案例(九)示例中小程序集合(1)
因为这几天在忙一些客观上无法逃脱的事,没有大块时间对中大型案例进行学习,所以对官方案例中的代码不超过40行的程序进行了学习.我把他们放在一到两个随笔中. 注:[所有案例中最前面务必加上] 1 Cesi ...
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- SQL Server 连接问题案例解析(1)
SQL Server 连接问题案例解析(1) 转载自:http://blogs.msdn.com/b/apgcdsd/archive/2015/04/27/sql.aspx?CommentPosted ...
- 【java设计模式】(6)---迭代器模式(案例解析)
设计模式之迭代器模式 一.java迭代器介绍 1.迭代器接口 在jdk中,与迭代器相关的接口有两个:Iterator 与 Iterable. Iterator:迭代器,Iterator及其子类通常是迭 ...
随机推荐
- Oracle:字符串的拼接、截取、查找、替换
一.拼接:1.使用"||"来拼接字符串: select '拼接'||'字符串' as Str from dual; 2.使用concat(param1,param2)函数实现: s ...
- 如何使用webgl(three.js)实现煤矿隧道、井下人员定位、掘进面、纵采面可视化解决方案——第十九课(一)
序: 又是很久没有更新文章了,这次索性将之前做的三维煤矿项目拿出来讲讲,一是回顾技术,二是锻炼一下文笔. 随着科技的不断发展,越来越多的人开始关注煤矿采集的安全和效率问题.为了更好地展示煤矿采集的过程 ...
- Kafka基本原理、生产问题总结及性能优化实践
Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量 ...
- 题解 ARC104F
前言 在这里首先感谢一下题解区的 FZzzz,本人的题解思路主要是基于他并给出了自己的理解. 如非特殊说明,本题解中的数学符号原则上与题目中一致. 题目分析 需要转化的喵喵题. 我们需要把原问题转化成 ...
- MIT实验警示:人类或需要人工智能辅助才能理解复杂逻辑
麻省理工实验揭示人类的天赋缺陷 麻省理工学院林肯实验室(MIT Lincoln Laboratory)的一项研究表明,尽管形式规范具有数学上的精确性,但人类并不一定能对其进行解释.换句话说就是,人类在 ...
- DiscuzQ官方最新v3.0.220211源码编译搭建教程和官方部署教程,适合二开(已本地编译通过,无任何错误)
经过长达半个月的研究! 完成这篇DiscuzQ官方最新版本v3.0.220211的源码编译和官方部署教程.适合喜欢二次开发的小伙伴们,已经通过本地编译测试,保证没有任何错误. 具体教程在我搭建的dzq ...
- 【算法】状态之美,TCP/IP状态转换探索
最近城市里甲流肆虐,口罩已经成为了出门必备的物品.小悦也不得不开始采取防护措施,上下班过程中,将口罩戴起来以保护自己不受病毒的侵害. 每天下班后,小悦总是喜欢投入到自己的兴趣爱好中,她热衷于翻阅与IT ...
- 微信开放平台微信公众平台微信小程序openid合法性验证
我们获得了微信用户的openid,往往要把openid保存到服务器中的数据库里.有些场景需要检验openid的合法性,官方给了相应的验证接口如下: https://api.weixin.qq.com/ ...
- 【luogu题解】P5461 赦免战俘
一.题目 现有 \(2^n\times2^n\ (n≤10)\) 名作弊者站成一个正方形方阵等候 kkksc03 的发落.kkksc03 决定赦免一些作弊者.他将正方形矩阵均分为 4 个更小的正方形矩 ...
- offline RL | BCQ:学习 offline dataset 的 π(a|s),直接使用 (s, π(s)) 作为 Q learning 训练数据
题目: Off-Policy Deep Reinforcement Learning without Exploration,ICLR 2019 pdf 版本:https://arxiv.org/pd ...