How to convert from PVCoordinates to Geodetic (lat, lon, alt)?

I am trying to convert a state vector given from PVCoordinates into a set of coordinates in lat, lon, alt and am having trouble finding any information on the feasibility or methods of doing so

I am reasonably new to Orekit and orbital mechanics. I have so far tried to explore converting PVCoordinates to an Orbit object and exploring the methods in that class/ subclasses. I have also done some googling and have not seen anything immediately relevant re: converting state vectors or keplarian elements to a geodetic point.

Maybe its possible to convert a CartesianOrbit to a geodetic point through the use of some formulas that I found within this thread? I note that I should be aware of what frames I am working in. I believe my state vectors are in ECEF.

Thank you in advance for any help.

Hi @jamesc

Welcome to the Orekit forum!

You can follow the following steps:

  1. Create the Earth model

OneAxisEllipsoid earth = new OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS, Constants.WGS84_EARTH_FLATTENING, FramesFactory.getITRF(IERSConventions.IERS_2010, false));

  1. Giving a CartesianOrbit nammed orbit, transform it to a GeodeticPoint using the Earh model

GeodeticPoint point = earth.transform(orbit.getPosition(), orbit.getFrame(), orbit.getDate());

  1. Get the lat/lon/alt values
double lat = point.getLatitude();
double lon = point.getLongitude();
double alt = point.getAltitude();

Best regards,
Bryan

2 Likes