Hello!
I need to get a list of geodetic points that represent the radio visibility zone for a ground station.
I am using the following code:
Frame ITRFFrame = FramesFactory.getPZ9011(IERSConventions.IERS_2010, true);
OneAxisEllipsoid earth = new OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS, Constants.WGS84_EARTH_FLATTENING, ITRFFrame);
// elevation angle (0°, 5°, 7°)
double a = 0.0;
// latitude and longitude of ground station
double latitude = 49.0;
double longitude = 2.0;
// I use the average satellite height as the altitude
double altitude = 500000.0;
GeodeticPoint myStation = new GeodeticPoint(latitude, longitude, altitude);
TopocentricFrame topocentricFrame = new TopocentricFrame(earth, myStation, “My station”);
CircularFieldOfView cof = new CircularFieldOfView(Vector3D.MINUS_K , FastMath.toRadians(90 - a), 0);
Transform topoToBody = topocentricFrame.getTransformTo(ITRFFrame, (AbsoluteDate ) null);
List<List> resu = cof.getFootprint(topoToBody, earth, 0.05);
When I change the value of elevation angle (0°, 5°, 7°), the same radio visibility zones are obtained, which is not correct - the area should decrease. What could be the problem and how to use the getFootprint () method correctly in the case of a ground station? I used this documentation https://www.orekit.org/site-orekit-development/apidocs/org/orekit/geometry/fov/SmoothFieldOfView.html. But in the case of a ground station, the documentation is not detailed.
Thanks in advance!