Name

CL_gm_visiParams — Visibility parameters (angles, distance…) for a spherical planet

Calling Sequence

   [par2]=CL_gm_visiParams(sat_radius,target_radius,type_par1,par1,type_par2)
   
   

Description

  • The aim of this function is to compute relations between some instant visibility parameters:

    - 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

  • Last update : 19/2/2008

Parameters

sat_radius:

satellite radius (satellite altitude + earth radius) [m] (1xN)

target_radius:

target radius (target altitude + earth radius) [m] (1xN)

type_par1:

string defining par1. It can be 'sat', 'elev', 'incid', 'dist', 'cen'

par1:

satellite's angle, elev, indicence, distance or angle at center [rad,m] (1xN)

type_par2:

string defining par2 to be computed. It can be 'sat', 'elev', 'incid', 'dist', 'cen' or 'all'

par2:

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)

Authors

CNES - DCT/SB

Examples

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