[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Users] Newbye question on how to get satellite location given a TLE



Hi Marco,

Marco Serioli <mserioli@gmail.com> a écrit :

Hi and compliments for your super project!

Thanks a lot for these kind words.


I'm a newbye and moreover I know nothing about background concept of this
project.

I'm simply developing a software in which I have to find azimuth and
elevation of a Satellite at a given time from a given Ground Station.
Moreover I want to find Satellite lat and long.

What I have tryed to do is: after setting OREKIT_DATA_PATH, create a TLE
object

TLE tle = new TLE(
    "1 07530U 74089B   14068.85842801 -.00000028  00000-0  96998-4 0
 9129",
    "2 07530 101.4628  53.9967 0012290 127.9050 292.4577
12.53603117799073");

TLEPropagator propagator = TLEPropagator.selectExtrapolator(tle);

But I have not found a way to create a ground station.

You can use TopocentricFrame for this, and even better ElevationDetector (which is built from a topocentric frame) if you want to automatically display start and end of visibilities from this specified station. You can look in the src/tutorials folder in the source distribution (fr.cs.examples.propagation.VisibilityCheck).

Moreover I can get
only PVCoordinates from propagator and I don't know how to get relative
angular coordinates to plot satellite position projected on a world map.

In order to display geodetic coordinates, you can look at another tutorial: MasterMode. There, you will see a local implementation of OrekitFixedStepHandler. Copy it and replace the print part in the handleStep with a new print dedicated to geodetic coordinates. In order to compute these coordinates, you would have first created a model for Earth as follows:

 Frame earthFrame = FramesFactory.getITRF(IERSConventions.IERS_2010, true);
BodyShape earth = new OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS,
                                        Constants.WGS84_EARTH_FLATTENING,
                                        earthFrame);

and then in the handleStep method you can do:

 GeodeticPoint gp =
   earth.transform(curentState.getPVCoordinates().getPosition(),
                   currentState.getFrame(),
                   currentState.getDae());

Then you can print gp.getLatitude(), gp.getLongitude(), get.getAltitude().


How can I get information requested?

You should browse the tutorials and look at <https://www.orekit.org/forge/projects/orekit/wiki>.


Thank you and sorry if my question is silly

No problem, you're welcome
Luc

Marco




----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.