使用 NodeJS 生成动态 CZML 数据
Generate dynamic CZML data using NodeJS
Cesium has the ability to render dynamic data that originates from a czml file. They have an example 在他们的网站上展示了如何在客户端使用 czml 数据。
我想使用 nodejs 在服务器端动态生成 czml 数据。是否有关于如何实现这一点的任何指示或示例?
有一个官方 czml-writer for C# and Java, and a 3rd-party czml writer for Python,但我不知道有任何可用的 NodeJS。
似乎只需在 CZML packets(特殊格式的 JavaScript 对象)数组上调用 JSON.stringify
即可轻松地从 NodeJS 输出 CZML。对于日期和时间间隔,甚至可以将 Cesium(或 Cesium Core)导入 NodeJS 以访问 JulianDate
和相关时间间隔 类,以存储在适当的字段中。
您需要确保数组中的第一个元素是 "id" : "document"
数据包(如 guide 所示)以及其余 CZML 数据的设置,并且每个后续数据包都提供了自己的唯一 id
。之后只需将一些实体描述数据包推送到数组中,就可以开始了。
对于地球轨道物体,您可以使用 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();
Cesium has the ability to render dynamic data that originates from a czml file. They have an example 在他们的网站上展示了如何在客户端使用 czml 数据。
我想使用 nodejs 在服务器端动态生成 czml 数据。是否有关于如何实现这一点的任何指示或示例?
有一个官方 czml-writer for C# and Java, and a 3rd-party czml writer for Python,但我不知道有任何可用的 NodeJS。
似乎只需在 CZML packets(特殊格式的 JavaScript 对象)数组上调用 JSON.stringify
即可轻松地从 NodeJS 输出 CZML。对于日期和时间间隔,甚至可以将 Cesium(或 Cesium Core)导入 NodeJS 以访问 JulianDate
和相关时间间隔 类,以存储在适当的字段中。
您需要确保数组中的第一个元素是 "id" : "document"
数据包(如 guide 所示)以及其余 CZML 数据的设置,并且每个后续数据包都提供了自己的唯一 id
。之后只需将一些实体描述数据包推送到数组中,就可以开始了。
对于地球轨道物体,您可以使用 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();