Генерация динамических данных CZML с использованием NodeJS

Цезий обладает способностью отображать динамические данные, полученные из файла czml. На их сайте есть пример, показывающий, как использовать данные czml на стороне клиента.

Я хотел бы динамически генерировать данные czml на стороне сервера, используя nodejs. Есть ли какие-либо указатели или примеры того, как этого можно достичь?

1 ответ

Решение

Есть официальный czml-редактор для C# и Java, а также сторонний czml - модуль для Python, но я еще не знаю ни одного, доступного для NodeJS.

Кажется, что можно легко вывести CZML из NodeJS, просто вызвав JSON.stringify на массиве CZML-пакетов (специально отформатированные объекты JavaScript). Для дат и интервалов можно даже импортировать цезий (или ядро ​​цезия) в NodeJS для доступа к JulianDate и связанные временные интервалы классов, для хранения в соответствующих полях.

Вам нужно убедиться, что первый элемент в массиве "id" : "document" пакет (как показано в руководстве) с настройками для остальных данных 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();
Другие вопросы по тегам