I am a total newbie to Orekit, i know convert ITRF to topocentric Coordinates in Orekit,
but i have Problem to convert Azimut, Elevation, Range and RangeRate to ITRF (Position Velocity).
can anyone help me or show me how to do that in Orekit if it is possible?
Hi @Tux welcome
If you want to have proper velocity, you will also need the first derivatives of azimuth and elevation, range rate would not be sufficient. If you have everything, one way to do it is to use a trick with
FieldVector3D<UnivariateDerivative1>. This is just a regular 3D vector (that will here represent the position), but it will embed the first derivatives of each component (hence it will embed the velocity). Here is one way to do it:
UnivariateDerivative1 rangeWithDerivative = new UnivariateDerivative1(range, rangeRate);
UnivariateDerivative1 azimuthWithDerivative = new UnivariateDerivative1(azimuth, azimuthRate);
UnivariateDerivative1 elevationWithDerivative = new UnivariateDerivative1(elevation, elevationRate);
FieldVector3D<UnivariateDerivative1> posWithDerivativeTopo =
PVCoordinates pvTopo = new PVCoordinates(posWithDerivativeTopo);
PVCoordinates pvItrf = topo.getTransformTo(itrf, date).transformPVCoordinates(pvTopo);
The need for π/2 - α instead of α (where α is the azimuth) is because azimuth is counted from North to East, i.e. from the Y vector to the X vector of the topocentric frame.