你的位置:首页 > 软件开发 > Java > (1)Cesium Language (CZML) 入门

(1)Cesium Language (CZML) 入门

发布时间:2015-11-26 16:01:39
原文地址:https://github.com/AnalyticalGraphicsInc/cesium/wiki/CZML-StructureCZML是一种用来描述动态场景的JSON架构的语言,主要用于Cesium在浏览器中的展示。它可以用来描述点、线、布告板、模型以及其他的图 ...

原文地址:https://github.com/AnalyticalGraphicsInc/cesium/wiki/CZML-Structure

CZML是一种用来描述动态场景的JSON架构的语言,主要用于Cesium在浏览器中的展示。它可以用来描述点、线、布告板、模型以及其他的图元,同时定义他们是怎样随时间变化的。Cesium拥有一套富客户端API,通过CZML采用数据驱动的方式,不用写代码我就可以使用通用的Cesium viewer构建出丰富的场景。Cesium与CZML的关系就如同Google Earth和KML的关系。CZML和KML都是用来描述场景的数据格式,可以通到很多其他的程序自动生成,或者手写也可以。CZML拥有很多的特性,其中有一些区别于KML的:

  1. CZML 是基于JSON的。
  2. CZML可以准确的描述值随时间变化的属性。理由,一条在某一时间内是红色的而在另一时间内是蓝色的。同时客户端可以根据时间戳进行差值。加入有一辆车,分别定义了两个不同时间的位置,通过CZML定义的差值算法,客户端可以准确的显示在这两个时间点之间车的位置。所有属性都可以是随时间变化的。
  3. CZML通过增量流的方式传送到客户端。在场景显示之前,整个CZML文档需要首先被下载到客户端。在某些情况下,个别客户端可能会加入或离开正在传输的流。(这段翻译的不好)
  4. CZML高度优化,旨在解析时更紧凑也更容易,让人工的读写更容易。
  5. CZML可扩展,尽管CZML的主要作用在与虚拟地球客户端程序与场景的交流,但它可以很容易的通过扩展来满足其他一些辅助的程序对静态或动态数据的需求。例如,随时间动态变化在数据就可以用在某些2D的图表程序中。
  6. CZML是一个开放的格式。我们希望有更多的程序能使用CZML,同时期待有一天它也能成为OGC一样的标准。
  7. 可以通过czml-writer来生成CZML,这个程序维护在Github上。

我们将CZML标准以及它的相应实现分为4个部分:

CZML Structure --  CZML文档的整体结构

CZML Content --内容

CZML in Cesium -- Cesium中解析和显示CZML的流程

czml-writer-Architecture –czml-writer的架构

CZML Structure

CZML是json的一个子集,也就是说一个有效的CZML文档同时也是一个有效的JSON文档。特别的,一个CZML文档包含一个JSON数组,数组中个每一个对象都是一个CZML数据包(packet),一个packet对应一个场景中的对象,例如一个飞机。

注:在下面的例子中我们使用javascript方式的注释来帮助理解CZML,但在真实场景中是不允许的。

[// packet one{"id":"GroundControlStation""position":{"cartographicDegrees":[-75.5,40.0,0.0]},"point":{"color":{"rgba":[0,0,255,255]},}},// packet two{"id":"PredatorUAV",// ...}]

原标题:(1)Cesium Language (CZML) 入门

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录