1

Cesium能够渲染源自 czml 文件的动态数据。他们的网站上有一个示例,展示了如何在客户端使用 czml 数据。

我想使用 nodejs 在服务器端动态生成 czml 数据。是否有任何关于如何实现的指示或示例?

4

2 回答 2

1

有一个用于 C# 和 Java 的官方czml 编写器,以及一个用于 Python 的 3rd-party czml 编写器,但我不知道任何可用于 NodeJS 的工具。

似乎可以通过调用JSON.stringify一组CZML 数据包(特殊格式的 JavaScript 对象)轻松地从 NodeJS 输出 CZML。对于日期和间隔,甚至可以将 Cesium(或 Cesium Core)导入 NodeJS 以访问JulianDate和相关的时间间隔类,以存储在适当的字段中。

您需要确保数组中的第一个元素是具有其余 CZML 数据设置的"id" : "document"数据包(如指南中所示),并且每个后续数据包都提供id其自己的唯一性。之后,只需将一些实体描述包推送到数组中,就可以了。

于 2017-04-03T16:04:25.513 回答
1

对于地球轨道物体,您可以使用czml-writer npm 包。下面是一些基本用法:

var czml = require("czml-writer");

var orbit = new czml.orbit.fromParams({
    apogee: 426.9, // km
    perigee: 416.2, // km
    inclination: 51.65, // deg
    rightAscension: 304.1, // deg
    argumentOfPeriapsis: 117.8 // deg 
});
var output = orbit.czml();





var czml = require("czml-writer");

var tle = 'NOAA 14\n' +
    '1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621\n' +
    '2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495';
var orbit = new czml.orbit.fromTle(tle);
var output = orbit.czml();
于 2018-12-18T00:59:11.493 回答