Comments (8)
Wanted to mention that the returning of [false, false] (after upgrading from 1.3.0 to 2.0.2) is an issue for myself as well
from satellite-js.
For example for decaying satellites sgp4 returns {position: false, velocity: false}
.
satrec.error
indicates if position
is false
.
In your case it seems to be satrec.error = 1; // sgp4fix to return if there is an error in eccentricity
. So may you can just skip satellites with satrec.error > 0
or dive into SGP4 to figure out why. :)
Also note, that the TLEs are designed for a precise prediction within maybe two weeks. After that the satellite drifts to far away due to perturbations. Calculating the terms could fail in the future.
from satellite-js.
Ahh, my mistake. The TLE does load into satrec
, but my application throws the error when converting to geodetic coordinates due to lack of position information.
satrec.error
contains the integer 1
for problematic TLEs.
I looked at the data in a parallel coordinates view to see which orbital parameters were special for MICROMAS and FLOCK 1B-28. They both appear to have high Mean Motion and First Derivative of Mean Motion.
http://bl.ocks.org/syntagmatic/4446b31c6cd746eedaeb
Perhaps these are problematic for prediction? I'm wondering if there's some threshold to know when prediction by satellite.js isn't possible.
Thanks for the note on TLE prediction accuracy. I'll probably go back to the examples and have them start from the date the data was collected and loop after a week or two. It's mostly a simple example of how to use satellite.js with D3.js, I don't plan to keep the data up-to-date.
from satellite-js.
For your visualization you can may use weeks. But for example in that time it also can decay.
satrec.error contains the integer 1 for problematic TLEs.
satrec.error
> 0. It's devided into different cases.
from satellite-js.
Those visualizations are really cool!
from satellite-js.
Yes, sorry. They are! :)
from satellite-js.
I don't think there's actually a bug in the calculations here, calculating near the epoch works fine (FLOCK 1B-28)
console.log(JSON.stringify(satellite.sgp4(satrec, 0).position));
{"x":-6486.244055534791,"y":1103.1672497210636,"z":-0.11404306548681002}
Eccentricity is a function of bstar and time, and when to try to propagate to current time, it's negative.
sgp4 should return { satrec: satrec, position: undefined, velocity: undefined } instead of [false, false] though.
from satellite-js.
I just wanted to toss out a workaround since regardless of returning undefined or false, you can't plot it. If you use a try/catch function (https://www.w3schools.com/js/js_errors.asp) then it will catch all of the false returns and you either skip that iteration or remove the satellite (99% of my failures are decayed objects that I need to remove from my catalogue).
from satellite-js.
Related Issues (20)
- Does satellite.js provide a way to determine if a satellite is above a ground station? HOT 2
- ecfToEci not defined in index.d.ts HOT 1
- TLE Errors - CelesTrak data now at https://celestrak.org HOT 1
- Two Errors in Existing Implementation HOT 8
- Detail units in README HOT 1
- Possible issue with accuracy HOT 5
- Non-LEO orbits do not properly display HOT 2
- Idea: WASM version of the library? HOT 10
- Cannot read properties of undefined (reading 'twoline2satrec') HOT 2
- How can I get the time for when a satellite will be over the antemeridian again? HOT 2
- Feature request: sgp4-xp HOT 3
- can i get venus postion by using SDP4? HOT 2
- Typescript definitions are incorrect for gstime function HOT 3
- Documentation or implementation error for `degreesLat` and `degreesLong` HOT 2
- jday() and invjday() do NOT keep milliseconds HOT 4
- Can I use satellite-js to create czml files? HOT 5
- satellite.min.js HOT 4
- Getting lat/lon for a whole day. HOT 7
- Dates can effect propagation drasitically HOT 7
- In cesuim, I want draw the orbit of the satellite,in ECI Coordinate systemใ HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from satellite-js.