5

我想这对于真正熟悉 Cesium 的 CZML 文件的任何人来说都是一个简单的问题。我只是想使用铯显示一系列纬度/经度/高度点作为飞行路径。有人能告诉我“位置”标签应该是什么样子吗?

除非我在错误的地方寻找,否则我看不到很多 CZML 的示例。所以很难知道可以使用哪些标签以及如何使用它们(如果你弄错了,Java 控制台不会显示错误)。

在 Cesium 网站上的 Sandcastle CZML 示例中,相关部分如下所示:

"position" : {
            "interpolationAlgorithm" : "LAGRANGE",
            "interpolationDegree" : 1,
            "epoch" : "2012-08-04T16:00:00Z",
            // Trimmed to just 2 points
            "cartesian" : [0.0, -2379754.6637012, -4665332.88013588, 3628133.68924173,
                           3894.996219574019, -2291336.52323822, -4682359.21232197, 3662718.52171165]
        }

如果是两点,为什么有 8 个值?如果是 ECEF 坐标,我预计每点只有三个……

例如,当我尝试这个时,我在控制台中收到一条“未捕获的错误”消息......这不是很有帮助:

"cartographic" : [-1.472853549, 0.589580778, 1000,
                  -1.472962668, 0.589739552, 1000 ]

根据文档,制图需要 (long, lat, height),其中 long 和 lat 以弧度为单位,高度以米为单位。

4

2 回答 2

4

每组 4 中的第一个坐标是时间,所以它实际上是 (t, x, y, z)。在您发布的示例中, t 是航点存在的指定纪元之后的秒数。

您也可以使用制图弧度或制图度数,但仍将它们指定为 (t, lon, lat, alt)。

如果您想绘制一条非时间动态的路线(即只是一条静态线),您可以改用polylineCZML 对象;它有一个没有时间的 x/y/z 位置列表。

于 2014-07-18T13:25:32.653 回答
0

Matthews 的回答是正确的,需要进行一些调整才能使其正常工作,因此对于其他查看此问题的人来说,这里是一个显示正在使用的制图度数的示例。

"position": {
  "interpolationAlgorithm": "LAGRANGE",
  "interpolationDegree": 1,
  "epoch": "2012-08-04T16:00:00Z",
  "cartographicDegrees": [
    //time, lat, long, alt
    0,-116.52,35.02,80,
    300,-116.52,35.04,4000,
    600,-116.52,35.08,9000,
    900,-116.52,35.02,3000,
    1100,-116.52,35.02,1000,
    1400,-116.52,35.02,100
  ]

}
于 2016-09-27T15:18:11.553 回答