czml entity 根据availability 计算每200毫秒的position
时间: 2023-11-22 11:56:30 浏览: 30
要根据 `availability` 计算每 200 毫秒的 `position`,可以使用 CZML 中的 `interval` 和 `position` 属性。下面是一个示例:
```json
{
"id": "myEntity",
"availability": "2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",
"position": {
"interval": "2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",
"epoch": "2012-08-04T16:00:00Z",
"cartographicDegrees": [
0, 0, 0,
0, 45, 10000,
1, 90, 20000,
2, 135, 30000,
3, 180, 40000,
4, 225, 50000
]
}
}
```
在上面的例子中,`availability` 属性指定了实体的可用时间范围。`position` 属性包含了一个 `interval` 属性,用于指定位置属性的时间范围。在这个例子中,`interval` 属性与 `availability` 属性相同,因此该实体在整个时间范围内都可见。
`position` 属性还包含一个 `epoch` 属性,用于指定时间间隔的起始时间。在这个例子中,`epoch` 属性与 `interval` 的起始时间相同,即 2012 年 8 月 4 日 16:00:00。
最后,`position` 属性还包含了一个 `cartographicDegrees` 数组,用于指定每个时间间隔的位置。在这个例子中,每个时间间隔的位置是一个经度、纬度和高度的三元组,以度为单位。
要在每 200 毫秒计算一次位置,只需将 `interval` 属性中的时间跨度设置为 200 毫秒,然后在 `cartographicDegrees` 数组中添加足够的位置来覆盖整个时间范围。例如,如果 `availability` 属性为 2012 年 8 月 4 日 16:00:00 到 2012 年 8 月 4 日 17:00:00,则可以将 `interval` 属性设置为 2012 年 8 月 4 日 16:00:00 到 2012 年 8 月 4 日 16:59:59.8,并在 `cartographicDegrees` 数组中添加 1800 个位置,每个位置之间相隔 200 毫秒。