EXPORT int postpos(gtime_t ts, gtime_t te, double ti, double tu, const prcopt_t *popt, const solopt_t *sopt, const filopt_t *fopt, char **infile, int n, char *outfile, const char *rov, const char *base);
该函数功能为
1.通过调用openses函数进行读取atx文件并将数据传到pcvs结构体中。
2.后面就是对时间进行处理以及对结构体中文件目录的通配符替换,在此处基本没有用到,内容同rtklib中的postpos大致相同。
3.最后进入execses_b函数进行基准站信息的处理。
参数解析:按顺序分别是起始时间,结束时间,处理时间间隔,单位时间(此处二者都为0),后面是三个基础结构体,不再赘述,输入文件数组,输入文件数目,输出文件数组,接收机名称,基准站名称
static int execses_b(gtime_t ts, gtime_t te, double ti, const prcopt_t *popt, const solopt_t *sopt, const filopt_t *fopt, int flag, char **infile, const int *index, int n, char *outfile, const char *rov, const char *base)
该函数功能:
1.调用 readpreceph函数进行读取sp3,clk文件,
2.调用execses_r函数
参数解析:起始时间,结束时间,时间间隔,三个基础结构体,flag为用于钟差文件读取时的判断标志,输入文件数组,索引(未理解),输入文件数目,输出文件数组,接收机名称,基准站名称。
static int execses_r(gtime_t ts, gtime_t te, double ti, const prcopt_t *popt, const solopt_t *sopt, const filopt_t *fopt, int flag, char **infile, const int *index, int n, char *outfile, const char *rov)
该函数功能:
1.在本程序中仅用于调用execses函数
参数解析:同execses_b一致
static int execses(gtime_t ts,gtime_t te,double ti,const prcopt_t *popt, const solopt_t *sopt, const filopt_t *fopt, int flag, char **infile, const int *index,const int n, const char *outfile)
函数功能:
1.根据conf文件中trace设置来调用traceopen函数打开调试文件
2.进行读取电离层,地球自转参数,观测值和广播星历,dcb,blq文件,调用setpcv函数来查找各颗卫星的天线参数并放到nav结构体中。
3.调用outhead函数编写输出文件pos文件的文件头部分
4.如果选择pppar的模式为ARMODE_PPPAR_ILS以及conf设置中设置了输出模糊度文件,即sopt->ambres=1时,在此处调用rtkopenfcbstat函数打开模糊度输出文件。
5.调用procpos函数进行进一步处理。
参数解析:同上
疑问:调用procpos时有关前向、后向、双向平滑的部分不理解,还需要学习相关部分
static void procpos(FILE *fp, FILE *fptm, const prcopt_t *popt, const solopt_t *sopt, rtk_t *rtk, int mode,const filopt_t *fopt)
函数功能:
1.调用rtkinit函数对rtk结构体进行初始化
2.调用inputobs函数来获取每一历元数据,其中nobs为卫星数目,obs为相应观测值;
3.调用rtkpos函数进行处理该历元数据
4.当循环结束后也就是数据全部处理完成后,调用outsol来进行输出数据部分。
参数解析:fp用于文件输出时的文件指针,fptm并未用到,后面为基础结构体,及rtk设置结构体,mode在此并未理解用途,fopt为基础结构体。
疑问:inputobs函数中未理解如何获取的数据