• 大小: 136KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: C#
  • 标签: 坐标转换  

资源简介

大地坐标系与空间直角坐标系互转,高斯投影,用C#语言已经测试过了,全部都可以通过!

资源截图

代码片段和文件信息

#include
#include
#include
#include
#define MAX  100
#define PI  3.1415926
///////////////////////////////////    结构体存放BLH
struct BLH
{char name1[20];
char name2[20];
double B;
char name3[20];
double L;
char name4[20];
double H;
};
///////////////////////////////        结构体存放XYZ
struct XYZ
{char name1[20];
char name2[20];
double X;
char name3[20];
double Y;
char name4[20];
double Z;
};
/////////////////////////////////              文件输入BLH
double FILEIN(BLH &bchar *fname)
{   
ifstream in(fnameios::nocreate);     // 建立文件流并与输入文件名建立关联
if(!in) 
{
cout< cout<<“--------------------------请手动输入数据 -------------------------\n“< return 0;
}
in>>b.name1;
in>>b.name2;
in>>b.B;
in>>b.name3;
in>>b.L;
in>>b.name4;
in>>b.H;
in.close();
return 1;
}
////////////////////////////////////////////////         文件输入XYZ
double FILEIN1(XYZ &bchar *fname)                     
{   
ifstream in(fnameios::nocreate);     // 建立文件流并与输入文件名建立关联
if(!in) 
{
cout< cout<<“-------------------------- 请手动输入数据-------------------------\n“< return 0;
}
    in>>b.name1;
in>>b.name2;
in>>b.X;
    in>>b.name3;
in>>b.Y;
    in>>b.name4;
in>>b.Z;
in.close();
return 1;
}
////////////////////////////////////////////////////////
double d_h(double angle)                      //角度化弧度
{
double ab;
   angle=modf(angle&a);
   angle=modf(angle*100.0&b);
   return (a+b/60.0+angle/36.0)*(PI+3.0E-16)/180.0;
}
///////////////////////////////////////////////////////////
double h_d(double angle)                      //弧度化角度
{
double abc;
   angle=modf(angle*180.0/(PI-3.0E-16)&a);
   angle=modf(angle*60.0&b);
   angle=modf(angle*60.0&c);
   return a+b*0.01+c*0.0001+angle*0.0001;
}
///////////////////////////////////////////             键盘输入BLH
jianpan(BLH &a)
{cout<<“请输入大地坐标B “<cin>>a.B;
cout<<“请输入大地坐标L “<cin>>a.L;
cout<<“请输入大地坐标H “<cin>>a.H;
}
/////////////////////////////////////////                   键盘输入XYZ
jianpan1(XYZ &a)
{
cout<<“请输入空间直角坐标X “<cin>>a.X;
cout<<“请输入空间直角坐标Y “<cin>>a.Y;
cout<<“请输入空间直角坐标Z “<cin>>a.Z;
}
//////////////////////////////////////////////////////          大地坐标系换算到空间直角坐标系
double B_X(BLH &a)
{double aa[MAX][MAX];
double a1b1NE1XYZ;
int knm;
char outfilename[20]fname[20];
cout<<“请选择:“<cout<<“1:文件输入“<cout<<“2:键盘输入“<cin>>m;
if(m==1)
{cout<<“请输入文件名“<cin>>fname;
if(FILEIN(afname));
else 
{if(jianpan(a));
else 
{cout<<“输入有误,程序中止,请重新运行“<return false;
}
}
}
else if(m==2)
jianpan(a);
else 
{cout<<“输入代码有误,程序中止,请重新运行“<return false;}
if(a.B<-90||a.B>90)
{cout<<“输入B有误,程序中止,请重新运行“<return false;}
if(a.L<0||a.L>360)
{cout<<“输入L有误,

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-08-14 13:58  高斯投影正反算-54与80与84互转\
     文件         372  2007-02-26 13:46  高斯投影正反算-54与80与84互转\Beijing54.cs
     文件         913  2007-02-26 13:46  高斯投影正反算-54与80与84互转\CoordinateFactory.cs
     文件        6089  2007-02-26 13:46  高斯投影正反算-54与80与84互转\GaussPrjbase.cs
     文件        2710  2007-02-26 13:46  高斯投影正反算-54与80与84互转\ICoordinate.cs
     文件         276  2007-02-26 13:43  高斯投影正反算-54与80与84互转\vssver2.scc
     文件         367  2007-02-26 13:46  高斯投影正反算-54与80与84互转\WGS84.cs
     文件         363  2007-02-26 13:46  高斯投影正反算-54与80与84互转\Xian80.cs
     文件           9  2007-01-11 12:33  高斯投影正反算-54与80与84互转\_desktop.ini
     目录           0  2017-08-14 14:10  高斯投影正反算-54与84互转\
     目录           0  2017-08-14 14:10  高斯投影正反算-54与84互转\Backup\
     目录           0  2017-08-14 14:10  高斯投影正反算-54与84互转\Backup\高斯正反算\
     文件         168  2010-10-22 11:10  高斯投影正反算-54与84互转\Backup\高斯正反算\aaaa.cs
     文件        7848  2013-09-11 14:18  高斯投影正反算-54与84互转\Backup\高斯正反算\ANGLERAD.cs
     文件        2238  2010-10-20 01:06  高斯投影正反算-54与84互转\Backup\高斯正反算\favicon.ico
     文件        2042  2013-09-11 14:19  高斯投影正反算-54与84互转\Backup\高斯正反算\Form1.cs
     文件       16554  2013-09-11 14:19  高斯投影正反算-54与84互转\Backup\高斯正反算\Form1.Designer.cs
     文件        9474  2013-09-11 14:19  高斯投影正反算-54与84互转\Backup\高斯正反算\Form1.resx
     文件         496  2010-10-20 00:37  高斯投影正反算-54与84互转\Backup\高斯正反算\Program.cs
     目录           0  2017-08-14 14:10  高斯投影正反算-54与84互转\Backup\高斯正反算\Properties\
     文件        1386  2010-10-20 00:37  高斯投影正反算-54与84互转\Backup\高斯正反算\Properties\AssemblyInfo.cs
     文件        2880  2010-10-20 00:37  高斯投影正反算-54与84互转\Backup\高斯正反算\Properties\Resources.Designer.cs
     文件        5612  2010-10-20 00:37  高斯投影正反算-54与84互转\Backup\高斯正反算\Properties\Resources.resx
     文件        1100  2010-10-20 00:37  高斯投影正反算-54与84互转\Backup\高斯正反算\Properties\Settings.Designer.cs
     文件         249  2010-10-20 00:37  高斯投影正反算-54与84互转\Backup\高斯正反算\Properties\Settings.settings
     文件        3970  2013-09-11 13:11  高斯投影正反算-54与84互转\Backup\高斯正反算\高斯正反算.csproj
     文件         934  2013-09-11 15:42  高斯投影正反算-54与84互转\Backup\高斯正反算.sln
     文件       27362  2017-08-14 14:07  高斯投影正反算-54与84互转\UpgradeLog.htm
     文件        7222  2017-08-14 14:07  高斯投影正反算-54与84互转\UpgradeLog.xml
     目录           0  2017-08-14 14:10  高斯投影正反算-54与84互转\_UpgradeReport_Files\
     文件        2229  2017-08-14 14:07  高斯投影正反算-54与84互转\_UpgradeReport_Files\UpgradeReport.css
............此处省略47个文件信息

评论

共有 条评论