• 大小: 867KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-05-27
  • 语言: 其他
  • 标签: 坐标转换  XYZ  ENU  

资源简介

用于坐标转换的批处理操作,支持xyz到enu的坐标转换

资源截图

代码片段和文件信息

#include“Matrix.h“
#include 
#include 
#include 
#include 
using namespace std;
#define FE_WGS84    (1.0/298.257223563) /* earth flattening (WGS84) */
#define RE_WGS84    6378137.0           /* earth semi-major axis (WGS84) (m) */
#define PI    3.141592653589793   
void Rx(double* posdouble* E);                            //函数定义头


void main()
{
int ij;
double a[16000][6]={0}b[16000][3]={0}pos[3]={0}E[9]={0}e[3]={0}enu[3]={0};
FILE *fp1*fp2;

                                 
fp1=fopen(“GGBB.txt““r“);
for(i=0;i<16000;i++)                                  
   {
for(j=0;j<6;j++)
{
 fscanf(fp1“%lf“&a[i][j]);
}
}
fclose(fp1);

    for(i=0;i<16000;i++)
{
    double e2=FE_WGS84*(2.0-FE_WGS84)r2=a[i][0]*a[i][0]+a[i][1]*a[i][1]zzkv=RE_WGS84sinp;
    
for (z=a[i][2]zk=0.0;fabs(z-zk)>=1E-4;) 
{
zk=z;
sinp=z/sqrt(r2+z*z);
v=RE_WGS84/sqrt(1.0-e2*sinp*sinp);
z=a[i][2]+v*e2*sinp;
}
pos[0]=r2>1E-12?atan(z/sqrt(r2)):(a[i][2]>0.0?PI/2.0:-PI/2.0);
pos[1]=r2>1E-12?atan2(a[i][1]a[i][0]):0.0;
pos[2]=sqrt(r2+z*z)-v;
       
Rx(posE);
e[0]=a[i][3]-a[i][0];e[1]=a[i][4]-a[i][1];e[2]=a[i][5]-a[i][2];
Matrix R1(33E); Matrix R2(31e); Matrix R3(31enu); 
            R3=R1*R2;
    b[i][0]=R3.GetData()[0];b[i][1]=R3.GetData()[1];b[i][2]=R3.GetData()[2];
}

fp2=fopen(“GGBB-enu.txt““w“);
fprintf(fp2“   e         n         u\n“);
for(i=0;i<16000;i++)                                  
   {

  fprintf(fp2“%-10.3f%-10.3f%-10.3f\n“b[i][0]b[i][1]b[i][2]);

}
    fclose(fp2);


}



void Rx(double* posdouble* E)
{
    double sinp=sin(pos[0])cosp=cos(pos[0])sinl=sin(pos[1])cosl=cos(pos[1]);
    
    E[0]=-sinl;      E[1]=cosl;       E[2]=0.0;
    E[3]=-sinp*cosl; E[4]=-sinp*sinl; E[5]=cosp;
    E[6]=cosp*cosl;  E[7]=cosp*sinl;  E[8]=sinp;

}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-12-03 14:13  xyz-enu批量\
     文件     1356978  2015-03-19 19:25  xyz-enu批量\BB.txt
     目录           0  2015-12-03 14:13  xyz-enu批量\Debug\
     文件       16923  2015-03-19 19:24  xyz-enu批量\Debug\main.obj
     文件       15310  2015-03-19 19:24  xyz-enu批量\Debug\Matrix.obj
     文件      270418  2015-03-19 19:24  xyz-enu批量\Debug\Precession.exe
     文件      399424  2015-03-19 19:24  xyz-enu批量\Debug\Precession.ilk
     文件     1393664  2015-03-19 19:29  xyz-enu批量\Debug\Precession.pdb
     文件      107520  2015-03-19 19:24  xyz-enu批量\Debug\vc60.idb
     文件      118784  2015-03-19 19:24  xyz-enu批量\Debug\vc60.pdb
     文件     1433165  2015-03-19 19:26  xyz-enu批量\GG.txt
     文件     1463659  2015-03-19 19:29  xyz-enu批量\GGBB.txt
     文件        1959  2015-03-19 19:24  xyz-enu批量\main.cpp
     文件        2797  2015-03-19 19:24  xyz-enu批量\Matrix.cpp
     文件         595  2015-03-19 19:24  xyz-enu批量\Matrix.h
     文件        4488  2015-03-19 19:24  xyz-enu批量\Precession.dsp
     文件         528  2015-03-19 19:24  xyz-enu批量\Precession.dsw
     文件       58368  2015-03-19 19:24  xyz-enu批量\Precession.ncb
     文件       54784  2015-03-19 19:24  xyz-enu批量\Precession.opt
     文件        1331  2015-03-19 19:24  xyz-enu批量\Precession.plg

评论

共有 条评论