CL_gm_visiParams — Visibility parameters (angles, distance…) for a spherical planet
[par2]=CL_gm_visiParams(sat_radius,target_radius,type_par1,par1,type_par2)
- satellite's semi visibility field (swath); that is, angle between descending vertical and target direction : 'sat'
- satellite's elevation from a ground point 'elev'
- incidence of target direction 'incid'(=pi/2 - elev)
- distance between satellite and target point on the ground 'dist'
- angle at center; that is, angle between directions (earth center -> satellite) and (earth center -> target point) 'cen'. This angle measures the size of the surface seen on the ground.
Given a satellite radius (sat_radius = satellite altitude + earth radius), a target radius ( target_radius = target altitude + earth radius) and one of the following parameters (type_par1 and par1):
type_par1 = 'sat' , par1 = satellite's semi visibility field (swath) in radians.
type_par1 = 'elev' , par1 = elevation from the ground point in radians.
type_par1 = 'incid' , par1 = incidence (=pi/2-elev) from the ground point in radians.
type_par1 = 'dist' , par1 = distance between the ground point and the satellite in meters.
type_par1 = 'cen' , par1 = angle at center between the ground point and the satellite in radians.
The function computes par2 which type is defined by type_par2 and can be any of the 5 parameters above, or 'all'
NOTES:
- a spheric planet is assumed
- radius of target point can be lower than observer's point (meaning that oberver point can be an interior point of the sphere of radius target_radius)
- when choosing 'sat' as type_par1, if there are 2 solutions, only the solution of positive elevation is computed
satellite radius (satellite altitude + earth radius) [m] (1xN)
target radius (target altitude + earth radius) [m] (1xN)
string defining par1. It can be 'sat', 'elev', 'incid', 'dist', 'cen'
satellite's angle, elev, indicence, distance or angle at center [rad,m] (1xN)
string defining par2 to be computed. It can be 'sat', 'elev', 'incid', 'dist', 'cen' or 'all'
Computed value : satellite's angle, elevation, indicence, distance, angle at center or all of the previous (in the same order) [rad,m] (1xN or 5xN)
sat_radius = %CL_eqRad + 700.e3; // 700 km target_radius = %CL_eqRad + 200; // 200 m [incid]=CL_gm_visiParams(sat_radius,target_radius,'dist',800.e3,'incid') // incidence for a 800km distance [elev]=CL_gm_visiParams(sat_radius,target_radius,'sat',CL_deg2rad(10),'elev') // elevation for a 10° roll (swath) [dist]=CL_gm_visiParams(sat_radius,target_radius,'cen',CL_deg2rad(7),'dist') // distance for a 7° center angle [all]=CL_gm_visiParams(sat_radius,target_radius,'sat',CL_deg2rad(37),'all') // all parameters for a 37° swath all(2) // elev all(3) // incid all(4) // dist all(5) // cen