• 大小: 3.94MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-28
  • 语言: C/C++
  • 标签: c++GPSRINEX  

资源简介

c++ 伪距单点定位,Rinex文件读取数据解析,计算卫星在轨位置,计算测站坐标

资源截图

代码片段和文件信息

#include 
#include “CoorSystem.h“
#include 
#define M_PI 3.1415926535898


//度转换为弧度函数
void DMS_RAD(double DMSdouble *Rad)
{
int DegMin;
double Sec;
Deg=(int)DMS;
Min=(int)((DMS-Deg)*100);
Sec=((DMS-Deg)*100-Min)*100;
*Rad=(Deg+Min/60.0+Sec/3600.0)/180.0*M_PI;
return;
}

//弧度转换为度的函数
void RAD_DMS(double Raddouble *DMS)
{
int DegMin;
double Sec;
double ARAM;
AR=Rad;
if (Rad<0)
AR=-Rad;
AR=AR+1.0e-10;
AR=AR*180.0/M_PI;
Deg=(int)AR;
AM=(AR-Deg)*60.0;
Min=(int)AM;
Sec=(AM-Min)*60;
*DMS=Deg+Min/100.0+Sec/10000.0;
if(Rad<0)
*DMS=-*DMS;

return;
}


/************************************************************************/
/* Function CartesianToGeodetic()
功能:由笛卡尔坐标转换为大地坐标
   输入参数:所转换的大地坐标引用cg;
             待转换出的笛卡尔坐标引用cc;          
 参考椭球的长半轴dSemiMajorAxis;
 参考椭球的扁率dFlattening
*/
/************************************************************************/
void CartesianToGeodetic(CRDGEODETIC& cgconst CRDCARTESIAN& cc 
  double dSemiMajorAxis double dFlattening)
{
double R=sqrt(cc.x*cc.x+cc.y*cc.y+cc.z*cc.z);
double BB0sinBdeltaB=0.0;
double e2=dFlattening*(2-dFlattening)N;

cg.longitude=atan2(cc.ycc.x);
int i=1;
B0=B=atan2(cc.zsqrt(cc.x*cc.x+cc.y*cc.y));//计算纬度B迭代的初始值
do 
{
B0=B;
N=dSemiMajorAxis/sqrt(1-e2*pow(sin(B0)2));
sinB=sin(B0);
B=atan2((cc.z+N*e2*sinB)sqrt(cc.x*cc.x+cc.y*cc.y));
deltaB=B-B0;
i++;
} while (i<10E+6||deltaB>1.0E-6);
cg.latitude=B;
cg.height=R*cos(atan2(cc.zsqrt(cc.x*cc.x+cc.y*cc.y)))/cos(B)-N;
}
/************************************************************************/
/* Function GeodeticToCartesian()
   功能:由大地坐标转换为笛卡尔坐标
   输入参数:所转换出的笛卡尔坐标引用cc;
             待转换的大地坐标引用cg;
 参考椭球的长半轴dSemiMajorAxis;
 参考椭球的扁率dFlattening
*/
/************************************************************************/
void GeodeticToCartesian(CRDCARTESIAN& ccconst CRDGEODETIC& cg 
  double dSemiMajorAxis double dFlattening)
{
double e2=dFlattening*(2-dFlattening);
double N=dSemiMajorAxis/sqrt(1-e2*pow(sin(cg.latitude)2));
cc.x=(N+cg.height)*cos(cg.latitude)*cos(cg.longitude);
cc.y=(N+cg.height)*cos(cg.latitude)*sin(cg.longitude);
cc.z=(N*(1-e2)+cg.height)*sin(cg.latitude);
}

/************************************************************************/
/* Function CartesianToTopocentric()
   功能:由笛卡尔坐标转换为站心地平坐标
   输入参数:所转换出的站心地平坐标引用ct;
             待转换的笛卡尔坐标引用cc;
 站心的笛卡尔坐标ccCenter
 参考椭球的长半轴dSemiMajorAxis;
 参考椭球的扁率dFlattening
*/
/************************************************************************/
void CartesianToTopocentric(CRDTOPOCENTRIC& ctconst CRDCARTESIAN& cc
const CRDCARTESIAN& ccCenterdouble dSemiMajorAxisdouble dFlattening)
{
double deltaX=cc.x-ccCenter.x;
double deltaY=cc.y-ccCenter.y;
double deltaZ=cc.z-ccCenter.z;
CRDGEODETIC cg;
CartesianToGeodetic(cgccCenterdSemiMajorAxisdFlattening);
ct.northing=-si

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      98246  2009-12-08 12:11  GPS_SPP\bjfs2690.08n

     文件       3651  2009-11-26 22:05  GPS_SPP\bjfs2690.08o

     文件       4147  2009-11-27 15:46  GPS_SPP\CoorSystem.cpp

     文件       3292  2009-11-28 13:27  GPS_SPP\CoorSystem.h

     文件      11058  2009-11-30 22:05  GPS_SPP\Debug\CoorSystem.obj

     文件          0  2009-11-30 22:05  GPS_SPP\Debug\CoorSystem.sbr

     文件    5800960  2011-11-14 14:41  GPS_SPP\Debug\GPS_SPP.bsc

     文件     176199  2011-11-14 14:41  GPS_SPP\Debug\GPS_SPP.exe

     文件     311708  2011-11-14 14:41  GPS_SPP\Debug\GPS_SPP.ilk

     文件      61531  2009-11-30 22:05  GPS_SPP\Debug\GPS_SPP.obj

     文件    6883300  2009-11-30 22:05  GPS_SPP\Debug\GPS_SPP.pch

     文件     549888  2011-11-14 14:41  GPS_SPP\Debug\GPS_SPP.pdb

     文件       3032  2009-12-08 22:01  GPS_SPP\Debug\GPS_SPP.res

     文件          0  2009-11-30 22:05  GPS_SPP\Debug\GPS_SPP.sbr

     文件     113634  2009-12-09 12:45  GPS_SPP\Debug\GPS_SPPDlg.obj

     文件          0  2009-12-09 12:45  GPS_SPP\Debug\GPS_SPPDlg.sbr

     文件          0  2011-11-14 10:29  GPS_SPP\Debug\GPS导航电文文件

     文件       4787  2009-11-30 22:05  GPS_SPP\Debug\Matrix.obj

     文件          0  2009-11-30 22:05  GPS_SPP\Debug\Matrix.sbr

     文件      71353  2011-11-14 14:41  GPS_SPP\Debug\PointPos.obj

     文件          0  2011-11-14 14:41  GPS_SPP\Debug\PointPos.sbr

     文件      71168  2009-12-13 15:15  GPS_SPP\Debug\PointPos1.obj

     文件          0  2009-12-13 15:15  GPS_SPP\Debug\PointPos1.sbr

     文件     119874  2009-12-08 14:19  GPS_SPP\Debug\RinexFiles.obj

     文件          0  2009-12-08 14:19  GPS_SPP\Debug\RinexFiles.sbr

     文件       9951  2009-12-08 18:21  GPS_SPP\Debug\SatPosCal.obj

     文件          0  2009-12-08 18:21  GPS_SPP\Debug\SatPosCal.sbr

     文件     105458  2009-11-30 22:05  GPS_SPP\Debug\StdAfx.obj

     文件    1374920  2009-11-30 22:05  GPS_SPP\Debug\StdAfx.sbr

     文件       8333  2009-11-30 22:05  GPS_SPP\Debug\TimeSystem.obj

............此处省略47个文件信息

评论

共有 条评论

相关资源