Я создаю пропагатор для спутника в Cesium Sandcastle . Мне нужно загрузить реальные кватернионы спутника. Я уже создал javascript программу, которая загружает кватернионы из базы данных, и сейчас я пытаюсь назвать эту программу в цезиевых песочных замках.
Как я могу это сделать?
Я уже попробовал с DataSource
или DataSourceDisplay
, но я не уверен, что это правильный путь.
Я включил код для кватернионов:
var mysql = require('mysql');
var async = require('async');
//var Request = require('tedious').Request;
var con = mysql.createConnection({
host : "......",
user : "......",
password : ".......",
database : "......",
port : .....
});
var secondi = (new Date('April 27, 2019 11:00:00')).getTime()/1000;
//console.log(secondi);
var quaternions = [];
var q1= [];
var q2= [];
var q3= [];
var q4= [];
//var Q1 = 'SELECT T, ACS_ATTITUDE_Q1 FROM beacon4 ORDER By T';
async.waterfall([
function(callback) {
con.connect(function(err) {
if (err) throw err;
console.log('connected as id ' + con.threadId);
con.query('SELECT T,ACS_ATTITUDE_Q1,ACS_ATTITUDE_Q2,ACS_ATTITUDE_Q3,ACS_ATTITUDE_Q4 FROM beacon4 WHERE UNIX_TIMESTAMP(T)>' + secondi.toString() + ' ORDER BY T', function(err, result) {
if (err) throw err;
for (var i in result) {
q1[i] = result[i].ACS_ATTITUDE_Q1;
q2[i] = result[i].ACS_ATTITUDE_Q2;
q3[i] = result[i].ACS_ATTITUDE_Q3;
q4[i] = result[i].ACS_ATTITUDE_Q4;
}
/* result.forEach(function(item) {
quaternions.push(item);
}); */
callback(null,q1,q2,q3,q4);
});
});
},
function () {
console.log('Numero dati: ',q1.length,'\n')
for (var i=0;i<q1.length;i++) {
console.log('q1: ',q1[i])
console.log('q2: ',q2[i])
console.log('q3: ',q3[i])
console.log('q4: ',q4[i],'\n')
}
}
]);