下面记录一下我对packet的翻译笔记:
本页记录了CZML文件或数据流可能包含的内容。如果想了解CZML文件是如何组装在一起的,请阅读CZML结构的介绍。
packet描述了场景中某一个对象的各种属性,例如一架飞机。pocket数据包如下:
{
"id": "Facility/AGI",
"name": "AGI",
"availability": "2012-03-15T10:00:00Z/2012-03-16T10:00:00Z",
"description": "Analytical Graphics, Inc. (AGI) develops commercial modeling and analysis software.
",
"billboard": {
"eyeOffset": {
"cartesian": [ 0, 0, 0 ]
},
"horizontalOrigin": "CENTER",
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACvSURBVDhPrZDRDcMgDAU9GqN0lIzijw6SUbJJygUeNQgSqepJTyHG91LVVpwDdfxM3T9TSl1EXZvDwii471fivK73cBFFQNTT/d2KoGpfGOpSIkhUpgUMxq9DFEsWv4IXhlyCnhBFnZcFEEuYqbiUlNwWgMTdrZ3JbQFoEVG53rd8ztG9aPJMnBUQf/VFraBJeWnLS0RfjbKyLJA8FkT5seDYS1Qwyv8t0B/5C2ZmH2/eTGNNBgMmAAAAAElFTkSuQmCC",
"pixelOffset": {
"cartesian2": [ 0, 0 ]
},
"scale": 1.5,
"show": true,
"verticalOrigin": "CENTER"
},
"label": {
"fillColor": {
"rgba": [ 0, 255, 255, 255 ]
},
"font": "11pt Lucida Console",
"horizontalOrigin": "LEFT",
"outlineColor": {
"rgba": [ 0, 0, 0, 255 ]
},
"outlineWidth": 2,
"pixelOffset": {
"cartesian2": [ 12, 0 ]
},
"show": true,
"style": "FILL_AND_OUTLINE",
"text": "AGI",
"verticalOrigin": "CENTER"
},
"position": {
"cartesian": [ 1216469.9357990976, -4736121.71856379, 4081386.8856866374 ]
}
}
扩展:可插值的属性(InterpolatableProperty,不可变);基本模式:属性值可以通过对提供时间标记的样本进行插值来确定。
epoch - string
epoch用以表示从一个指定时间增加指定秒数的时间。
interpolationAlgorithm -string (默认值:LINEAR)
插值时使用的插值算法。 有效值为“LINEAR”,“LAGRANGE”和“HERMITE”。
interpolationDegree - number (默认值:1)
插值时使用的插值等级。
forwardExtrapolationType - string(默认值:none)
在任何可用样本之后的某一时间请求该值时采用的外插法,有效值为“NONE”,“HOLD”和“EXTRAPOLATE”。
forwardExtrapolationDuration - number(默认值:0.0)
在属性变成未定义之前向前推断的时间,值0将永远推断。
backwardExtrapolationType - string(默认值:NONE)
在任何可用样本之前的某一时间请求该值时执行的外推类型。 有效值为“NONE”,“HOLD”和“EXTRAPOLATE”。
backwardExtrapolationDuration - number(默认值:0.0)
在属性变得未定义之前向后推断的时间量。值0将永远推断。
id - string
上面的packet数据包中定义了对象的ID,ID无需定义为一个GUID号,但是在同一个CZML源文件以及者同一个场景中加载的所有CZML文件中,必须是唯一的。如果packet数据包中没有定义ID,客户端会自动为该对象产生一个唯一的ID,但是自动添加ID的情况下,不支持对象加载后的引用,例如为对象添加更多数据。
delete - Boolean
按照ID号进行区分,表明客户端是否需要算出该对象现存的所有数据。如果属性值为TRUE,pocket包中的其他属性将会被忽略。
即:该ID对应的对象,在场景中不会显示。
name - string
对象的名称,名称不必是唯一的,并且是为了用户使用而设计。
parent - string
父对象的ID,如果有的话。
description - string
对象的HTML描述。
clock - Clock
整个数据集时钟的设置,只对文档对象有效。
{
"clock": {
"interval": "2012-03-15T10:00:00Z/2012-03-16T10:00:00Z",
"currentTime": "2012-03-15T10:00:00Z",
"multiplier": 60,
"range": "LOOP_STOP",
"step": "SYSTEM_CLOCK_MULTIPLIER"
}
}
currentTime - Time
当前时间
multiplier - number(默认为1.0)
乘数:step设置为TICK_DEPENDENT时,表示每个时钟刻度前进的秒数(使用中验证是每个tick前进的分钟数);
step设置为SYSTEM_CLOCK_DEPENDENT,表示乘以时钟刻度之间经过的系统时间(系统时间每个Tick应该是1秒);
step设置为SYSTEM_CLOCK
时,忽略改值。
range - ClockRange
当前时间到达其开始或结束时间的行为。
有三个取值:UNBOUNDED
时钟将继续沿当前方向前进
CLAMPED
时钟将停止
LOOP_STOP
当结束时间到达,并且是前进方向时,时钟将跳转到开始时间;
当结束时间到达,但是后退方向,时钟将停止。
step - ClockStep(默认 SYSTEM_CLOCK_MULTIPLIER)
规定 当前时间每个刻度前进时间的模式
三个取值:TICK_DEPENDENT
当前时间每个刻度前进 multiplier
个秒数(实际是分钟数,不知道原因);
SYSTEM_CLOCK_MULTIPLIER
当前时间每个刻度前进的时间 = 上一个刻度前进的系统时间量 * multiplier
SYSTEM_CLOCK
时钟时钟设置为当前系统时间。
version - string
CZML编写的版本号,仅在文档对象中有效。
availability - TimeIntervalCollection(默认值:0000-00-00T00:00:00Z/9999-12-31T24:00:00Z)
一组对象的数据可用的时间间隔。该属性可以是指定单个时间间隔的单个字符串,也可以是代表时间间隔的字符串数组。如果更改或发现错误,稍后的Cesium数据包可以更新此可用性。例如,SGP4传播者最初可能会报告所有时间可用,但稍后传播器抛出异常,可以调整此时的可用性以结束。如果此可选属性未设置,则假定该对象始终可用。可用性范围限定于特定CZML流,因此两个不同的数据流可以为单个对象设置不同的可用性。在单个数据流中,为对象声明的最后一个可用性是有效的,并且之前数据包中的任何可用性都将被忽略。如果一个对象在某个时刻不可用,则客户端将不会绘制该对象。
properties - CustomProperties
对象的自定义属性集。CustomProperties类型表示键值映射,其中值的类型为CustomProperty。
CustomProperty类型:自定义属性(可变)
属性:
boolean - BooleanValue
指定为布尔值的属性。
boundingRectangle - BoundingRectangleValue
指定为四个值[X,Y,宽度,高度]的远近标量值,如果数组有四个元素,则该值是常量。如果它具有五个或更多元素,则它们是时
间标记的样本,排列为[时间,X,Y,宽度,高度,时间,X,Y,宽度,高度,...],其中时间是ISO 8601格式的日期和时间的字
符串或 epoch指定时间以来的秒数。
边界矩形 例如:
[
0, 45, 90, 10, 10,
300, 45, 90, 15, 10,
600, 45, 90, 10, 14
]
cartesian - Cartesian3Value
该属性指定为三维笛卡尔值[X,Y,Z]。
三维笛卡尔值指定为[X,Y,Z]。 如果数组有三个元素,则该值是常量。 如果它具有四个或更多元素,则它们是时间标记 的 样 本, 排列为[Time,X,Y,Z,Time,X,Y,Z,...],其中Time是ISO 8601标准的日期和时间字符串或自开epoch指定时间以来的秒数 。
cartographicRadians - CartographicValue
该属性指定为WGS84 制图坐标[Longitude, Latitude, Height],其中Longitude 和Latitude是度数。
cartesian2 - Cartesian2Value
该属性被指定为二维笛卡尔值[X,Y]。
spherical - SphericalValue
该属性指定为球形值[Clock,Cone,Magnitude],角度以弧度表示;幅度以米为单位;时钟角度是在XY平面上从正X轴向正Y轴测 量的。 锥角是从正Z轴向负Z轴的角度。
unitSpherical - UnitSphericalValue
该属性指定为单位球形值[Clock,Cone]。测量方式同上。
rgba - RgbaValue
该属性为颜色数组[Red, Green, Blue, Alpha],其中每个成分为0-255的整数。Alpha为透明度。
rgbaf - RgbafValue
该属性为颜色数组[Red, Green, Blue, Alpha],其中每个成分为0.0-1.0的双精度值。Alpha为透明度。
colorBlendMode - ColorBlendModeValue
指定用于在目标颜色和实体的源颜色之间进行混合的不同模式。
三种取值:HIGHLIGHT
将源颜色与目标颜色相乘
REPLACE
用目标颜色替换源颜色。
MIX
将源颜色和目标颜色混合在一起。
cornerType - CornerTypeValue
拐角样式。
三种取值:ROUNDED
拐角有一个光滑的边缘(圆角)。
MITERED
拐角是邻边的交点(直角)。
BEVELED
拐角为斜面。
heightReference - HeightReferenceValue
对象的高度参考,指示对象的位置是否相对于地形。
三种取值:NONE
绝对位置
CLAMP_TO_GROUND
该位置被固定在地形上。
RELATIVE_TO_GROUND 位置高度是地形上方的高度
horizontalOrigin - HorizontalOriginValue
原点相对于物体位置的水平位置。
三种取值:LEFT
原点位于对象左侧
CENTER 原点位于对象水平位置的中心
RIGHT
原点位于对象右侧
labelStyle - LabelStyleValue
标签格式。
三种取值:FILL
文字充满标签,没有边框
OUTLINE
文字标签有边框,未充满
ILL_AND_OUTLINE
文字充满标签且有边框
number - DoubleValue
浮点数
nearFarScalar - NearFarScalarValue(不知道有何作用)
指定为四个值的远近标量值[NearDistance, NearValue, FarDistance, FarValue]
unitQuaternion - UnitQuaternionValue
该属性被指定为4维单位量级四元数,用于表示三维空间中的旋转动作的一组4维坐标,表示为[X,Y,Z,W]
[
0, 0.45652188368372576, -0.049580035995243577, -0.8819344359461565, 0.10640131785324795,
300, 0.309688526062018, -0.0592870464529779, -0.945283886004075, 0.0837641797515638,
600, 0.15524757622990795, -0.06613430791377527, -0.9841132393764626, 0.05518673278488507
]
shadowMode - ShadowModeValue
该属性指定阴影模式。当启用阴影时是否投射或接收来自每个光源的阴影。
四种取值:DISABLED
该对象不会投射或接收阴影。
ENABLED
该对象投射并且接收阴影。
CAST_ONLY
该对象只能投射阴影。
RECEIVE_ONLY
该对象只接收阴影。
string - StringValue
字符串值
stripeOrientation - StripeOrientationValue
指定为条纹材质中条纹方向的属性。
wsen - CartographicRectangleValue
指定为制图矩形[WestLongitude,SouthLatitude,EastLongitude,NorthLatitude]的属性,值以度为单位。指定一
个二维区域。
uri - UriValue
地址字符串。
verticalOrigin - VerticalOriginValue
原点相对于物体位置的垂直位置。
四种取值:BASELINE
如果对象包含文本,则原点位于文本的基线,否则原点位于对象的底部。
BOTTOM
原点位于对象的底部。
CENTER
原点是在基线和顶部之间的垂直中心。
TOP
原点位于对象的顶部。
position - Position
物体在世界上的位置。 该位置没有直接的视觉表示,但是它用于定位附在该对象上的广告牌,标签和其他图形元素。
{
"id": "InternationalSpaceStation",
"position": {
"interpolationAlgorithm": "LAGRANGE",
"interpolationDegree": 5,
"referenceFrame": "INERTIAL",
"epoch": "2012-05-02T12:00:00Z",
"cartesian": [
0.0, -6668447.2211117, 1201886.45913705, 146789.427467256,
60.0, -6711432.84684144, 919677.673492462, -214047.552431458,
90.0, -6721319.92231553, 776899.784034099, -394198.837519575,
150.0, -6717826.447064, 488820.628328182, -752924.980158179,
180.0, -6704450.41462847, 343851.784836767, -931084.800346031,
240.0, -6654518.44949696, 52891.726433174, -1283967.69137678
]
}
}
定义一个位置。 该位置可以随时间变化。
属性:
referenceFrame - string(默认值:FIXED)
指定笛卡尔位置的参考框架。 可能的值是“FIXED”和“INERTIAL”。
cartesian - Cartesian3Value
指定以三维笛卡尔值[X,Y,Z]表示的位置,相对于referenceFrame以米为单位。
[
0, 4650397.56551457, -3390535.52275848, -4087729.48877329,
300, 3169722.12564676, -2787480.80604407, -5661647.74541255,
600, 1369743.14695017, -1903662.23809705, -6663952.07552171
]
cartographicRadians - CartographicValue
WGS84制图坐标[Longitude, Latitude, Height]表示的位置,其中经度和纬度以弧度表示,高度单位为米。
{
"position": {
"cartographicRadians": [ -1.3439035240356338, 0.6457718232379019, 100000 ]
}
}
cartographicDegrees - CartographicValue
WGS84制图坐标[Longitude, Latitude, Height]表示的位置,其中经度和纬度以度为单位,高度以米为单位。
{
"position": {
"cartographicDegrees": [ -77, 37, 100000 ]
}
}
cartesianVelocity - Cartesian3VelocityValue
相对于参考框架的三维笛卡尔值及其导数[X,Y,Z,dX,dY,dZ]表示的位置和速度,单位为米。
reference - ReferenceValue
指定为另一个属性的引用的位置。表示对另一个属性的引用。可以使用引用来指定不同对象上的两个属性实际 上是同一个属性。
"object1#billboard.scale"
orientation - Orientation
物体在世界中的方向。 方向没有直接的视觉表示,但它用于定位模型,锥体,金字塔和附加到该对象上的其他图形元素。方向是一个旋转,它将一个向量表达在对象的“主体”轴上,并将其转换为地球固定轴。
{
"orientation": {
"interpolationAlgorithm": "LINEAR",
"interpolationDegree": 1,
"epoch": "2012-03-15T10:00:00Z",
"unitQuaternion": [
0, 0.45652188368372576, -0.049580035995243577, -0.8819344359461565, 0.10640131785324795,
300, 0.309688526062018, -0.0592870464529779, -0.945283886004075, 0.0837641797515638,
600, 0.15524757622990795, -0.06613430791377527, -0.9841132393764626, 0.05518673278488507
]
}
}
属性:
unitQuaternion - UnitQuaternionValue
指定为4维单位量值四元数的方向,表示为[X,Y,Z,W]。表示三维空间中物体的旋转。
[
0, 0.45652188368372576, -0.049580035995243577, -0.8819344359461565, 0.10640131785324795,
300, 0.309688526062018, -0.0592870464529779, -0.945283886004075, 0.0837641797515638,
600, 0.15524757622990795, -0.06613430791377527, -0.9841132393764626, 0.05518673278488507
]
reference - ReferenceValue
指定为另一个属性的引用的位置。表示对另一个属性的引用。
velocityReference - ReferenceValue
指定为位置属性的归一化速度矢量的方向。 参考必须是位置属性。
viewFrom - ViewFrom
查看此对象时建议的相机位置。 该属性表示为相对于对象位置的East(x),North(y),Up(z)参考框架中的笛卡尔位置。
{
"viewFrom": {
"cartesian": [ 4.3, 0.1, 2.6 ]
}
}
属性:
cartesian - Cartesian3Value
reference - ReferenceValue
billboard - Billboard
广告牌或视口对齐的图像,有时称为标记。 广告牌由position
属性定位在场景中。
box - Box
一个盒子,它是一个封闭的长方体。 该框使用position
和orientation
属性进行定位和定向。
corridor - Corridor
走廊,是由中心线和宽度定义的形状。
cylinder - Cylinder
由长度,顶部半径和底部半径限定的圆柱体,截头圆锥体或圆锥体。 柱体使用position
和orientation
属性进行定位和定位。
ellipse - Ellipse
椭圆是地球表面的闭合曲线。 椭圆定位使用position
属性。
ellipsoid - Ellipsoid
椭球体是一个闭合的二次曲面,是一个椭圆的三维模拟。 使用position
和orientation
属性来定位和定向。
label - Label
一串文字。 标签由position
属性定位在场景中。
model - Model
3D模型。 该模型使用position
和orientation
属性进行定位和定向。
path - Path
路径,它是由物体随时间的运动定义的折线。 路径的拐点由position
属性指定。
point - Point
点或视口对齐的圆。 该点由position
属性定位在场景中。
polygon - Polygon
多边形,它是地球表面上的封闭图形。
polyline - Polyline
多段线,它是由多个线段组成的场景中的一条线。
rectangle - Rectangle
一个地图矩形,符合地球的曲率,可以沿着地表或海拔高度放置。
wall - Wall
与地球的曲率一致的二维壁,可沿表面或高度放置。
agi_conicSensor - ConicSensor
圆锥形传感器体积考虑了椭圆体(即球体)的遮挡。 传感器使用position
和orientation
属性进行定位和定向。
注意:该属性是扩展属性,不是所有浏览器都支持。
agi_customPatternSensor - CustomPatternSensor
圆锥形传感器体积考虑了椭圆体(即球体)的遮挡。 传感器使用position
和orientation
属性进行定位和定向。
agi_rectangularSensor - RectangularSensor
矩形金字塔传感器体积考虑了椭圆体(即球体)的遮挡。
agi_fan - Fan
agi_vector - Vector
定义一个图形矢量,该矢量始于位置属性,并在所提供方向上延伸指定长度。 该矢量使用position
属性进行定位。