Ground Field of View Detector Usage

Hello Orekit community,

I am trying to develop GroundFieldOfViewDetector looking away from zenith. I have managed to setup zenith direction sensor and it gives good results. In the GroundFieldOfViewDetector method, i can define looking away from zenith by two ways. One of them could be using FieldOfView orientation and another one could be using different Frame definitions. I can manage to change FieldOfView orientation by using different vector direction but i am not sure about how i can use Frame method to define looking away from zenith. Here is the code i am using:

topo = TopocentricFrame(earth, gp, "topo")
imagerFOV = CircularFieldOfView(Vector3D.PLUS_K, radians(xfov), fov_margin)
fovDetector = GroundFieldOfViewDetector(topo, imagerFOV).withMaxCheck(5.0)

Thanks in advance!
Suleyman

Hello @saltinisik,

Sorry for the delay in the answer.

Frames can be a bit more complicated to build than FieldOfView.

For a fixed frame you could base it on your topo frame and use a basic rotation object:

Frame myFovFrame = new Frame(topo, 
                             new Transform(AbsoluteDate.ARBITRARY_EPOCH, 
                                           new Rotation(Vector3D.PLUS_I, FastMath.PI / 2., RotationConvention.VECTOR_OPERATOR)),
                                           "myFovFrame");

Here this is a rotation of 45° around X topocentric axis (East vector), so your FoV should be looking South with 45° elevation.
Note that I’m not 100% sure of the RotationConvention I used here, I based my guess on the Javadoc of the Trasnform constructor I used.
Maybe this post will help you figure out the proper way to do it.

Now, Frames can be much more complicated (combine translation, move with time etc.) so maybe you want to set up something more advanced.

Is that what you were looking for ?

Maxime

Hello again,

Thank you for the reply @MaximeJ. I tried your rotation solution and obtained that the expected result.

Thank you very much again!
Suleyman