⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ppf_visibility.h

📁 read envisat and analyis sar data from NASA
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef _PPF_LIB_H#include <ppf_lib.h>#endif#ifndef _PPF_ORBIT_H#include <ppf_orbit.h>#endif#ifndef _PPF_VISIBILITY_H#define _PPF_VISIBILITY_H#ifdef __cplusplusextern "C"{#endif/* This version number is the SCCS version number valid only for internal configuration and control. *//* The oficial version number can be found in the History box below. */static char  PPF_VISIBILITY_H [] = "@(#)ppf_visibility.h	1.11 05/20/05";/***************************************************************************** *  * Copyright	: DEIMOS Space S.L. * Project	: REMASE *  * Module	: ppf_visibility.h * Purpose	: It is the header file of the PPF_VISIBILITY CFI to be used  *                by the final user * * History	+------------------------------------------------------------+ *		| Version | Date     | Name         | Change                 | *		|---------|----------|--------------|------------------------| *		|    2.1  | 05/12/97 |   GMV, S.A   | First release          | *		|    2.2  | 18/05/98 |   GMV, S.A   | Second release         | *		|    2.3  | 13/10/98 |   GMV, S.A   | Third release          | *		|    2.4  | 25/05/99 |   GMV, S.A   | Fourth release         | *		|    2.5  | 14/04/00 |   GMV, S.A   | Fifth release          | *		|    2.6  | 22/06/01 |   GMV, S.A   | Sixth release          | *		|    2.7  | 31/07/01 |   GMV, S.A   | Seventh release        | *		|    2.8  | 22/10/01 | DEIMOS Space | Eigth release          | *		|    3.0  | 18/01/02 | DEIMOS Space | Ninth release          | *		|    3.1  | 25/11/02 | DEIMOS Space | Tenth release          | *		|    3.2  | 26/05/03 | DEIMOS Space | Eleventh release       | *              |    3.3  | 13/12/04 | DEIMOS Space | Twelfth release        | *              |   3.3.1 | 15/02/05 | DEIMOS Space | Thirteenth release     |C*              |    3.4  | 17/05/05 | DEIMOS Space | Forteenth release      | *		+------------------------------------------------------------+ *  ****************************************************************************//* Main CFI Functions - prototype declaration *//* ========================================== */ long pv_zonevistime(char *orbit_event_file, long *start_orbit, long *stop_orbit,                    char *swath_file, char *zone_id, char *zone_db_file,                    long *projection, long *zone_num,                    double zone_long[], double zone_lat[], double *zone_diam,                    long *max_segments, double *min_duration,                    long *number_segments,                    long bgn_orbit[], long bgn_second[], long bgn_microsec[],                    long end_orbit[], long end_second[], long end_microsec[],                    long coverage[], long ierr[]); long pv_stavistime(char *orbit_event_file, long *start_orbit, long *stop_orbit,                   char *orbit_swath_file, char *sta_id, char *sta_db_file,                   long *mask, double *aos_elevation, double *los_elevation,                   long *max_segments, double *min_duration,                   long *number_segments,                   long bgn_orbit[], long bgn_second[], long bgn_microsec[],                   long end_orbit[], long end_second[], long end_microsec[],                   long zdop_orbit[], long zdop_second[], long zdop_microsec[],                   long ierr[]);long pv_drsvistime(char *orbit_event_file, long *start_orbit, long *stop_orbit,                   double *longitude,                   long *max_segments, double *min_duration,                   long *number_segments,                   long bgn_orbit[], long bgn_second[], long bgn_microsec[],                   long end_orbit[], long end_second[], long end_microsec[],                   long ierr[]);long pv_swathcalc(char *orbit_event_file,                  char *swath_file,                  long *orb_num, long *second,long *microsec,                  double longi [], double lati [], double alti [],                  long ierr[]); long pv_anxutc(char *orbit_event_file,               long *orb_num, long *second, long *microsec,               double *utc,               long ierr[]); long pv_utcanx(char *orbit_event_file,               long *orb_num, long *second, long *microsec,               double *utc,               long ierr[]);long pv_orbitinfo(long *mode, char *orbit_event_file, long *abs_orbit,                  long *rel_orbit, long *cycle, long *phase,		  long *repeat_cycle, long *cycle_length,		  double *phasing, double *mlst, double mjd_anx[],                  double pos_anx[], double vel_anx[], double xm_anx[],                  long ierr[]);long pv_starvistime(char *orbit_event_file, long *start_orbit, long *stop_orbit,              char *swath_file_upper, char *swath_file_lower, char *star_id,              char *star_db_file, double *star_ra, double *star_dec,              long *max_segments, double *min_duration,              double *star_ra_deg, double *star_dec_deg, long *number_segments,              long bgn_orbit[], long bgn_second[], long bgn_microsec[], long bgn_coverage[],              long end_orbit[], long end_second[], long end_microsec[], long end_coverage[],              long ierr[]);/*  Time Segments Manipulation  *//*  --------------------------  */long pv_time_segments_not (char *orbit_scenario_file, 			   long *orbit_type, long *order_switch,			   long *num_segments_in,                         /* input segment list */			   long *bgn_orbit_in, long *bgn_secs_in, 			   long *bgn_microsecs_in, long *bgn_cycle_in,			   long *end_orbit_in, long *end_secs_in,			   long *end_microsecs_in, long *end_cycle_in,			   long *num_segments_out,                     /* output segment list */			   long **bgn_orbit_out, long **bgn_secs_out,			   long **bgn_microsecs_out, long **bgn_cycle_out,			   long **end_orbit_out, long **end_secs_out,			   long **end_microsecs_out, long **end_cycle_out,			   long ierr[]);long pv_time_segments_or (char *orbit_scenario_file, 			  long *orbit_type, long *order_switch,			  long *num_segments_1,                         /* input segment list 1*/			  long *bgn_orbit_1, long *bgn_secs_1, 			  long *bgn_microsecs_1, long *bgn_cycle_1,			  long *end_orbit_1, long *end_secs_1,			  long *end_microsecs_1, long *end_cycle_1,			  long *num_segments_2,                         /* input segment list 2*/			  long *bgn_orbit_2, long *bgn_secs_2, 			  long *bgn_microsecs_2, long *bgn_cycle_2,			  long *end_orbit_2, long *end_secs_2,			  long *end_microsecs_2, long *end_cycle_2,			  long *num_segments_out,                     /* output segment list */			  long **bgn_orbit_out, long **bgn_secs_out,			  long **bgn_microsecs_out, long **bgn_cycle_out,			  long **end_orbit_out, long **end_secs_out,			  long **end_microsecs_out, long **end_cycle_out,			  long ierr[]);long pv_time_segments_and (char *orbit_scenario_file, 			   long *orbit_type, long *order_switch,			   long *num_segments_1,                         /* input segment list 1*/			   long *bgn_orbit_1, long *bgn_secs_1, 			   long *bgn_microsecs_1, long *bgn_cycle_1,			   long *end_orbit_1, long *end_secs_1,			   long *end_microsecs_1, long *end_cycle_1,			   long *num_segments_2,                         /* input segment list 2*/			   long *bgn_orbit_2, long *bgn_secs_2, 			   long *bgn_microsecs_2, long *bgn_cycle_2,			   long *end_orbit_2, long *end_secs_2,			   long *end_microsecs_2, long *end_cycle_2,			   long *num_segments_out,                     /* output segment list */			   long **bgn_orbit_out, long **bgn_secs_out,			   long **bgn_microsecs_out, long **bgn_cycle_out,			   long **end_orbit_out, long **end_secs_out,			   long **end_microsecs_out, long **end_cycle_out,			   long ierr[]);long pv_time_segments_sort (char *orbit_scenario_file, 			    long *orbit_type, long *sort_criteria,			    long *num_segments,                         /* input segment list */			    long *bgn_orbit, long *bgn_secs, 			    long *bgn_microsecs, long *bgn_cycle,			    long *end_orbit, long *end_secs,			    long *end_microsecs, long *end_cycle,			    long ierr[]);long pv_time_segments_merge (char *orbit_scenario_file, 			     long *orbit_type, long *order_switch,			     long *num_segments,                         /* input segment list 1*/			     long *bgn_orbit, long *bgn_secs, 			     long *bgn_microsecs, long *bgn_cycle,			     long *end_orbit, long *end_secs,			     long *end_microsecs, long *end_cycle,			     long *num_segments_out,                     /* output segment list */			     long **bgn_orbit_out, long **bgn_secs_out,			     long **bgn_microsecs_out, long **bgn_cycle_out,			     long **end_orbit_out, long **end_secs_out,			     long **end_microsecs_out, long **end_cycle_out,			     long ierr[]);  long pv_time_segments_delta (char *orbit_scenario_file, long *orbit_type,                             double *entry_offset, double *exit_offset,                             long *num_segments,                         /* input segment list 1*/                             long *bgn_orbit, long *bgn_secs,                              long *bgn_microsecs, long *bgn_cycle,                             long *end_orbit, long *end_secs,                             long *end_microsecs, long *end_cycle,                             long *num_segments_out,                     /* output segment list */                             long **bgn_orbit_out, long **bgn_secs_out,                             long **bgn_microsecs_out, long **bgn_cycle_out,                             long **end_orbit_out, long **end_secs_out,                             long **end_microsecs_out, long **end_cycle_out,                             long ierr[]);  /* Error Handling Functions - prototype declaration *//* ================================================ */#define PV_MAX_COD PL_MAX_COD	#define PV_MAX_STR PL_MAX_STR long pv_silent(void);long pv_verbose(void);long pv_print_msg(long *n, char msg[PV_MAX_COD][PV_MAX_STR]);long pv_vector_msg(long *func_id, long *ierr, long *n, char msg[PV_MAX_COD][PV_MAX_STR]);long pv_vector_code(long *func_id, long *ierr, long *n, long vec[PV_MAX_COD]);/* Modes and switches *//* ================== *//* Returned status code *//* -------------------- */typedef enum	{PV_ERR = PL_ERR,	/* Error status */PV_OK = PL_OK,		/* Nominal status */PV_WARN = PL_WARN	/* Warning status */}PV_PErr_type_enum;		/* CAREFUL: variables holding these values MUST be declared as long !!! *//* pv_zonevistime map projections *//* ------------------------------ */typedef enum{                   /* It describes the map projections of the ZONEVISTIME function */         PV_READ_DB = 0,         /* Read projection from DB file */        PV_GNOMONIC = 1,        /* Use gnomonic projection */        PV_RECTANGULAR = 2      /* Use rectangular projection */ }PV_Proj_enum;			/* CAREFUL: variables holding these values MUST be declared as long !!! */ /* pv_zonevistime coverage outputs *//* ------------------------------- */typedef enum{		/* Indicate the type of coverage as result of a visibility segment from ZONEVISTIME */	PV_COMPLETE = 0,	/* Zone completely covered by swath */	PV_LEFT = 1, 		/* LEFT extreme transition found by ZONEVISTIME */	PV_RIGHT = 2, 		/* RIGHT extreme transition found by ZONEVISTIME */	PV_BOTH = 3		/* BOTH transitions found by ZONEVISTIME*/}PV_Coverage_enum;		/* CAREFUL: variables holding these values MUST be declared as long !!! *//* pv_stavistime mask inputs *//* ------------------------- */typedef enum{		/* It describes the ground station mask used to define visibility in STAVISTIME*/	PV_COMBINE = 0, 	/* Combination of AOS, LOS and physical mask */	PV_AOS_LOS = 1, 	/* Combination of AOS/LOS only */	PV_PHYSICAL =2 	/* Consider physical mask only */}PV_Mask_enum;			/* CAREFUL: variables holding these values MUST be declared as long !!! *//* pv_orbitinfo calling modes *//* -------------------------- */typedef enum    {        PV_ABS_INFO = 1,        PV_REL_INFO = 2,        PV_PHASE_INFO = 4,        PV_OSV_INFO = 10    } PV_Oi_modes_enum;		/* CAREFUL: variables holding these values MUST be declared as long !!! *//* pv_starvistime coverage outputs *//* ------------------------------- */typedef enum{         /* Indicate the type of coverage as result of a visibility segment from STARVISTIME */      PV_STAR_UNDEFINED = 0,          /* Visibility starts/ends at the first/last FOV in STARVISTIME */      PV_STAR_UPPER = 1,              /* Visibility starts/ends at the upper FOV in STARVISTIME */      PV_STAR_LOWER = 2,              /* Visibility starts/ends at the lower FOV in STARVISTIME */      PV_STAR_LEFT = 3,               /* Visibility starts/ends at the left FOV in STARVISTIME */      PV_STAR_RIGHT = 4               /* Visibility starts/ends at the right FOV in STARVISTIME */}PV_Coverage_star_enum;/* Types of orbit inputs *//* --------------------- */typedef enum   {   PV_ORBIT_ABS = 0, /* Absolute orbit chosen as input */   PV_ORBIT_REL = 1  /* Relative orbit chosen as input */}PV_Orbit_type_enum;/* Indicate that a segment list is ordered by incresing start time*/typedef enum{  PV_TIME_ORDER=0,  PV_NO_TIME_ORDER=1}PV_time_segments_order_enum;/* CFI functions IDs (for error handling) *//* -------------------------------------- */typedef enum{ PV_NO_FUNC_ID = -1,		/* No function code */ PV_ZONEVISTIME_ID, PV_STAVISTIME_ID, PV_DRSVISTIME_ID, PV_SWATHCALC_ID,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -