TLE2ToCZML/main.js

53 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

2024-02-22 11:07:01 +08:00
const { tles2czml } = require('./tle2czml')
const fs = require('fs')
const czmlGenerator = (fileName) => {
let czmlName
switch(fileName){
case('BEIDOU'):
czmlName = 'beidou'
break;
case('GALILEO'):
czmlName = 'galileo'
break;
case('GLONASS'):
czmlName = 'glo-ops'
break;
case('GPS'):
czmlName = 'gps-ops'
break;
default:
break;
}
fs.readFile(`./public/tle2/${fileName}.txt`, 'utf-8', (err, data) => {
if (err) {
console.log(err)
return
} else {
let tle = []
let tlearr = data.split('\r\n')
if (tlearr[tlearr.length - 1] == '') {
tlearr.pop()
}
for (let i = 0; i < tlearr.length; i = i + 3) {
tle.push({
name: tlearr[i].trim(),
tle1: tlearr[i + 1],
tle2: tlearr[i + 2]
})
}
let czml = tles2czml(new Date(new Date()-24*60*60*1000*7), new Date(), tle, fileName)
fs.writeFile(`./czml/${czmlName}.czml`, JSON.stringify(czml), (error) => {
if(error){
console.log(error)
}
console.log(`文件 ${czmlName}.czml 创建成功!`)
})
}
})
}
czmlGenerator('BEIDOU')
czmlGenerator('GALILEO')
czmlGenerator('GLONASS')
czmlGenerator('GPS')