Method in Orekit 12.0 Similar to GroundStation.getOffsetDerivatives from Orekit 8.0?

Hello,

I am attempting to duplicate the code below using the Orekit 12.0 Python wrapper. I’m fairly certain this code was written in Orekit 8.0 because it was written in 2016 and uses the method GroundStation.getOffsetDerivatives. This method hasn’t existed since Orekit 9.0 from what I’ve been able to find. I need to be able to calculate partial derivatives of the azimuth and elevation of ground station to satellite measurements for use later and the following code is how it was done before:

// station topocentric frame (east-north-zenith) in station parent frame expressed as DerivativeStructures
final OffsetDerivatives od = station.getOffsetDerivatives(6, 3, 4, 5);
final FieldVector3D<DerivativeStructure> east   = od.getEast();
final FieldVector3D<DerivativeStructure> north  = od.getNorth();
final FieldVector3D<DerivativeStructure> zenith = od.getZenith();

I have spent days searching through documentation to find a similar solution; like using

FieldTransform<Gradient> getOffsetToInertial​(Frame inertial, AbsoluteDate clockDate, int freeParameters, Map<String,​Integer> indices)

but I can’t seem to find a good way that makes sense to me.

You are right, the OffsetDerivatives class has been removed on 2017-06-09 and getOffsetDerivatives method was replaced by getOffsetToInertial (see commit diff starting at line 262).

If you need to compute partial derivatives of azimuth and elevation, I would suggest that rather than computing everything by yourself, you use AngularAzEl.theoreticalEvaluation and then call getStateDerivatives or getParameterDerivatives on the estimated measurement.

Thank you for the response. After your suggestion, I did some digging into the AngularAzEl.java docs and it seems that the original intent of the class I’m attempting to translate is exactly the same as the AngularAzEl class. So I’ll try using AngularAzEl in its place. Thank you for pointing me to it.

1 Like