koansys / isat

Satellite Orbit Tracker: implement most-current SGP models and algorithms in JavaScript, then use to visualize hundreds of satellites with any browser
BSD 3-Clause "New" or "Revised" License
95 stars 38 forks source link

SGP4 to useful coordinate systems #23

Closed shentonfreude closed 11 years ago

shentonfreude commented 12 years ago

From: Matney, Mark (JSC-KX111) at nasa.gov

The SGP software only gives information in Earth Centered Inertial (ECI) coordinates, so you will need to solve for the Earth orientation with time as well.

See:

http://en.wikipedia.org/wiki/Earth-centered_inertial http://celestrak.com/columns/v02n01/ http://www.mathworks.com/help/toolbox/aeroblks/f3-22568.html Hard math: http://onlinelibrary.wiley.com/doi/10.1002/0471200719.app0c/pdf

Check the Miura code stack and see if there are PREDICT integrations.

Check various 'predict' implementations and see if they use SGP4.

shentonfreude commented 12 years ago

Can we get Vallado's tome "Fundamentals of Astrodynamics and Applications" from HQ's Library?

http://www.amazon.com/Fundamentals-Astrodynamics-Applications-David-Vallado/dp/1881883140/ref=cm_cr_pr_product_top

shentonfreude commented 12 years ago

testmat:

%%% From Miura's paper:
%%% For each satellite, there are 7-13 columns of data (columns 8- 13
%%% are date and time data which is not calculated for catalog mode):
%%% 01. Minutes from Epoch
%%% 02. X-Position
%%% 03. Y-Position
%%% 04. Z-Position
%%% 05. X-Velocity
%%% 06. Y-Velocity
%%% 07. Z-Velocity
%%% 08. Year
%%% 09. Month
%%% 10. Day
%%% 11. Hour
%%% 12. Minute
%%% 13. Second
%%%
% **Note, the position vector is based in ECI coordinate frame.**

rv2coe: this function finds the classical orbital elements given the geocentric % equatorial position and velocity vectors. % arglat - argument of latitude (ci) 0.0 to 2pi rad % truelon - true longitude (ce) 0.0 to 2pi rad % lonper - longitude of periapsis (ee) 0.0 to 2pi rad

shentonfreude commented 12 years ago

C++ code which uses SGP4 as a library and then has SatTrack to calc lat/lon/alt as well as position from observer on earth. http://www.danrw.com/sgp4-satellite.php

Celestrak article, and the subsequent ones (hack the URL), show how to tranform from ECI TEME coordinate frame into other references: lat/lon/alt.

The ECI frame used for the NORAD two-line elements is sometimes called true equator, mean equinox (TEME) although it does not use the conventional mean equinox.

Celestrak discusses how to answer questions like "where do I look" and "what's the lat, lon, alt of a satellite", and how to find angle between Greenwich Meridian and vernal equinox -- position of Earth w.r.t. ECI. Uses local sidereal time vs. mean solar time.

shentonfreude commented 11 years ago

Rotate into time-based ECF (Earth Centered Fixed) with

billboards.modelMatrix = Cesium.Matrix4.fromRotationTranslation(Cesium.Transforms.computeTemeToPseudoFixedMatrix(now),
                                                                            Cesium.Cartesian3.ZERO);