使用NodeJS生成动态CZML数据

时间:2017-04-03 04:31:51

标签: node.js dynamic-data cesium czml

Cesium能够呈现源自czml文件的动态数据。他们的网站上有一个example,显示如何在客户端使用czml数据。

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

2 个答案:

答案 0 :(得分:1)

有一个官方czml-writer for C# and Java和一个第三方czml writer for Python,但我还不知道NodeJS还有。

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

您需要确保数组中的第一个元素是"id" : "document"数据包(如guide所示),其中包含其余CZML数据的设置,以及每个后续数据包都提供自己的唯一id。之后只需将一些实体描述数据包推入数组,你就应该好了。

答案 1 :(得分: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();