| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 | #pragma once#ifdef _WIN32# if defined(GDOP_LIB)#  define GDOP_EXPORT __declspec(dllexport)# else#  define GDOP_EXPORT __declspec(dllimport)# endif#else#  define GDOP_EXPORT#endifextern "C"{	///	/// 获取三星双时差GDOP  带参考	/// mainxyz :xyz vx vy vz	/// adaj1xyz :xyz vx vy vz 	/// adaj2xyz :xyz vx vy vz 	/// refPos: 参考经度,纬度	/// dtousErr: 时差误差	/// ephLocErr: 星历位置误差	/// level: gdop输出等级	/// levlen:level 长度	/// resCount:每一级的数据个数	/// res :数据	/// satllh :卫星位置	/// 返回值:0 成功	///	GDOP_EXPORT int Gdop3SatRefByXyz(double *mainxyz, double *adaj1xyz, double *adaj2xyz, double *refPos		, double dtousErr, double ephLocErr		, double *level, int levlen, int *resCount, double **res, double *satllh);	GDOP_EXPORT int Gdop3SatRefByXyz_new(double *mainxyz, double *adaj1xyz, double *adaj2xyz, double *refPos		, double dtousErr, double ephLocErr		, double *level, int levlen, int *resCount, int **lpoints, double **res, double *satllh);	///	/// 获取三星双时差GDOP  无参考	/// mainxyz :xyz vx vy vz	/// adaj1xyz :xyz vx vy vz 	/// adaj2xyz :xyz vx vy vz 	/// dtousErr: 时差误差	/// ephLocErr: 星历位置误差	/// level: gdop输出等级	/// levlen:level 长度	/// resCount:每一级的数据个数	/// res :数据	/// satllh :卫星位置	/// 返回值:0 成功	///	GDOP_EXPORT int Gdop3SatNoRefByXyz(double *mainxyz, double *adaj1xyz, double *adaj2xyz		, double dtousErr, double ephLocErr		, double *level, int levlen, int *resCount, double **res, double *satllh);	GDOP_EXPORT int Gdop3SatNoRefByXyz_new(double *mainxyz, double *adaj1xyz, double *adaj2xyz		, double dtousErr, double ephLocErr		, double *level, int levlen, int *resCount, int **lpoints, double **res, double *satllh);	///	/// 获取双星GDOP	/// mainxyz :xyz vx vy vz	/// adajxyz :xyz vx vy vz 	/// refPos: 参考经度,纬度	/// fuHz1: 主上行	/// fuHz2: 邻上行	/// dtousErr: 时差误差	/// dfoHzErr: 频差误差	/// ephLocErr: 星历位置误差	/// ephVLocErr: 星历速度误差	/// level: gdop输出等级	/// levlen:level 长度	/// resCount:每一级的数据个数	/// res :数据	/// satllh :卫星位置	/// 返回值:0 成功	///	GDOP_EXPORT int Gdop2SatDRefByXyz(double *mainxyz, double *adajxyz, double *refPos		, double fuHz1, double fuHz2, double dtousErr, double dfoHzErr, double ephLocErr, double ephVLocErr		, double *level, int levlen, int *resCount, double **res, double *satllh);	GDOP_EXPORT int Gdop2SatDRefByXyz_new(double *mainxyz, double *adajxyz, double *refPos		, double fuHz1, double fuHz2, double dtousErr, double dfoHzErr, double ephLocErr, double ephVLocErr		, double *level, int levlen, int *resCount, int **lpoints, double **res, double *satllh);	///	/// 获取三星双频差GDOP	/// mainxyz :xyz vx vy vz	/// adaj1xyz :xyz vx vy vz 	/// adaj2xyz :xyz vx vy vz 	/// refPos: 参考经度,纬度	/// fuHz1: 主上行	/// fuHz2: 邻上行	/// dfo_err: 频差误差	/// eph_pos_err: 星历位置误差	/// eph_vel_err: 星历速度误差	/// level: gdop输出等级	/// levlen:level 长度	/// resCount:每一级的数据个数	/// res :数据	/// satllh :卫星位置	/// 返回值:0 成功	///	GDOP_EXPORT int Gdop3SatDFByXyz(double *mainxyz, double *adaj1xyz, double *adaj2xyz, double *refPos		, double fuHz1, double fuHz2, double dfo_err, double eph_pos_err, double eph_vel_err		, double *level, int levlen, int *resCount, double **res, double *satllh);	GDOP_EXPORT int Gdop3SatDFByXyz_new(double *mainxyz, double *adaj1xyz, double *adaj2xyz, double *refPos		, double fuHz1, double fuHz2, double dfo_err, double eph_pos_err, double eph_vel_err		, double *level, int levlen, int *resCount, int **lpoints, double **res, double *satllh);	///	/// 获取2X1D GDOP	/// mainxyz :xyz vx vy vz	/// adajxyz :xyz vx vy vz 	/// cdbPos: 地面站经度,纬度	/// refPos: 参考经度,纬度	/// dtousErr: 时差误差	/// ephLocErr: 星历位置误差	/// level: gdop输出等级	/// levlen:level 长度	/// resCount:每一级的数据个数	/// res :数据	/// satllh :卫星位置  长度6	/// 返回值:0 成功	///	GDOP_EXPORT int Gdop2Sat1DRefByXyz(double *mainxyz, double *adajxyz, double *cdbPos		, double *refPos, double dtousErr, double ephLocErr		, double *level, int levlen, int *resCount, double **res, double *satllh);	GDOP_EXPORT int Gdop2Sat1DRefByXyz_new(double *mainxyz, double *adajxyz, double *cdbPos		, double *refPos, double dtousErr, double ephLocErr		, double *level, int levlen, int *resCount, int **lpoints, double **res, double *satllh);	///	/// 获取2X1D no ref GDOP	/// mainxyz :xyz vx vy vz	/// adajxyz :xyz vx vy vz 	/// cdbPos: 地面站经度,纬度	/// dtousErr: 时差误差	/// ephLocErr: 星历位置误差	/// level: gdop输出等级	/// levlen:level 长度	/// resCount:每一级的数据个数	/// res :数据	/// satllh :卫星位置  长度6	/// 返回值:0 成功	///	GDOP_EXPORT int Gdop2Sat1DNoRefByXyz(double *mainxyz, double *adajxyz, double *cdbPos		, double dtousErr, double ephLocErr		, double *level, int levlen, int *resCount, double **res, double *satllh);	GDOP_EXPORT int Gdop2Sat1DNoRefByXyz_new(double *mainxyz, double *adajxyz, double *cdbPos		, double dtousErr, double ephLocErr		, double *level, int levlen, int *resCount, int **lpoints, double **res, double *satllh);	///	/// 获取XD_CX ref GDOP	/// mainxyz :xyz vx vy vz	/// cdbPos: 地面站经度,纬度	/// cxPos: 侧向站经度,纬度	/// refPos: 参考经度,纬度	/// dto_err: 时差误差	/// doa_err: 侧向误差	/// eph_err: 星历位置误差	/// level: gdop输出等级	/// levlen:level 长度	/// resCount:每一级的数据个数	/// res :数据	/// satllh :卫星位置  长度6	/// 返回值:0 成功	///	GDOP_EXPORT int GdopXDCXRefByXyz(double *mainxyz, double *cdbPos, double *cxPos, double *refPos		, double dto_err, double doa_err, double eph_err		, double *level, int levlen, int *resCount, double **res, double *satllh);	GDOP_EXPORT int GdopXDCXRefByXyz_new(double *mainxyz, double *cdbPos, double *cxPos, double *refPos		, double dto_err, double doa_err, double eph_err		, double *level, int levlen, int *resCount, int **lpoints, double **res, double *satllh);	///	/// 获取XD_CX no ref GDOP	/// mainxyz :xyz vx vy vz	/// cdbPos: 地面站经度,纬度	/// cxPos: 侧向站经度,纬度	/// refPos: 参考经度,纬度	/// dto_err: 时差误差	/// doa_err: 侧向误差	/// eph_err: 星历位置误差	/// level: gdop输出等级	/// levlen:level 长度	/// resCount:每一级的数据个数	/// res :数据	/// satllh :卫星位置  长度6	/// 返回值:0 成功	///	GDOP_EXPORT int GdopXDCXNoRefByXyz(double *mainxyz, double *cdbPos, double *cxPos		, double dto_err, double doa_err, double eph_err		, double *level, int levlen, int *resCount, double **res, double *satllh);	GDOP_EXPORT int GdopXDCXNoRefByXyz_new(double *mainxyz, double *cdbPos, double *cxPos		, double dto_err, double doa_err, double eph_err		, double *level, int levlen, int *resCount, int **lpoints, double **res, double *satllh);	///	/// 获取XD_CX no ref GDOP	/// cx1Pos: 侧向站经度,纬度	/// cx2Pos: 侧向站经度,纬度	/// doa_err1: 侧向1误差	/// doa_err2: 侧向2误差	/// level: gdop输出等级	/// levlen:level 长度	/// resCount:每一级的数据个数	/// res :数据	/// satllh :卫星位置  长度6	/// 返回值:0 成功	///	GDOP_EXPORT int Gdop2CX(double *cx1Pos, double *cx2Pos		, double doa_err1, double doa_err2		, double *level, int levlen, int *resCount, double **res);	GDOP_EXPORT int Gdop2CX_new(double *cx1Pos, double *cx2Pos		, double doa_err1, double doa_err2		, double *level, int levlen, int *resCount, int **lpoints, double **res);	//	// 计算理论频差	//tarpos  目标位置	//recpos  接收站位置	//eph1 星历 x y z vx vy vz	//eph2 星历 x y z vx vy vz	//fu  上行	//fd  下行	//	GDOP_EXPORT double theryDfo(double *tarpos, double *recpos, double *eph1, double *eph2, double fu, double fd);	///	/// XD时差线	/// main_sat_pos 卫星星历 xyz	/// mbwx_rec_pos 目标接收站位置 llh	/// ckwx_rec_pos 参考接收站位置 llh	/// cdb_rec_pos 地面接收站位置 llh	/// ref_pos 参考位置 llh	/// target_dto 目标时差 llh	/// ref_dto 参考时差 llh	/// reslen 时差线个数	/// res 值	///	GDOP_EXPORT int SCX_XD(double *main_sat_pos, double *mbwx_rec_pos, double *ckwx_rec_pos, double *cdb_rec_pos,		double *ref_pos, double target_dto, double ref_dto, int *reslen, double **res);	GDOP_EXPORT int SCX_XD_new(double *main_sat_pos, double *mbwx_rec_pos, double *ckwx_rec_pos, double *cdb_rec_pos,		double *ref_pos, double target_dto, double ref_dto, int *linecount, int **reslen, double **res);	///	/// XD时差线	/// main_sat_pos 卫星星历 xyz	/// mbwx_rec_pos 目标接收站位置 llh	/// ckwx_rec_pos 参考接收站位置 llh	/// cdb_rec_pos 地面接收站位置 llh	/// ref_pos 参考位置 llh	/// target_dto 目标时差 llh	/// ref_dto 参考时差 llh	/// reslen 时差线个数	/// res 值	///	GDOP_EXPORT int SCX_XD_NoRef(double *main_sat_pos, double *mbwx_rec_pos, double *cdb_rec_pos,		double target_dto, int *reslen, double **res);	GDOP_EXPORT int SCX_XD_NoRef_new(double *main_sat_pos, double *mbwx_rec_pos, double *cdb_rec_pos,		double target_dto, int *linecount, int **reslen, double **res);	///	/// 释放	///	GDOP_EXPORT void FreeGDOPBuf(double *val);}
 |