资源简介
已经过测试的高斯正算的C++源代码。因是以前写的,坐标转换的模式不全,代码仅提供了WGS84系统的大地坐标到WGS84的高斯平面坐标的转换。其他坐标系统的大地坐标->高斯平面的转换仅需修改部分参数即可。
代码片段和文件信息
#include “function.h“
#include
#include
using namespace std;
const double PI = 3.14159265353846;
double Dm2Dms(const double& Dm)
{
double DegreeMinute;
double Second;
int Sign;
double Dms;
double TDm = Dm;
if(TDm >= 0)
Sign = 1;
else
Sign = -1;
TDm = fabs(TDm);
Degree = floor(TDm/100.0);
Minute = floor(fmod(TDm100.0) );
Second = fmod(TDm1.0) * 60.0;
Dms = Sign * (Degree * 10000.0 + Minute * 100.0 + Second);
return Dms;
}
double Dms2Rad(const double& Dms)
{
double TDms;
double Degree Miniute;
double Second;
int Sign;
double Rad;
TDms = Dms;
if(TDms >= 0)
Sign = 1;
else
Sign = -1;
TDms = fabs(TDms);
Degree = floor(TDms /10000.0);
Miniute = floor(fmod(TDms / 100.0 100.0));
Second = fmod(TDms 100.0);
Rad = Sign * (Degree + Miniute / 60.0 + Second / 3600.0) * PI / 180.0;
return Rad;
}
double Rad2Dms(const double& Rad) //OK
{
double Degree Miniute;
double Second;
int Sign;
double Dms;
double TRad = Rad;
if(TRad >= 0)
Sign = 1;
else
Sign = -1;
TRad = fabs(TRad * 180.0 / PI);
Degree = floor(TRad);
Miniute = floor(fmod(TRad * 60.0 60.0));
//double fmod(double xdouble y); 求两浮点数相除后的余数
Second = fmod(TRad * 3600.0 60.0);
Dms = Sign * (Degree*10000.0 + Miniute * 100.0 + Second );//example : 314 45 56.456
return Dms;
}
double DmsAddDms(const double x1const double x2)//第一个必须为正数
{
double res;
int dec;
int min;
double sec;
double temp;
if(x2 >= 0)
{
res = x1 + x2;
}
else
{
temp = fabs(x2);
dec = (int)(temp /10000);
min = (int)((temp - dec * 10000.00) / 100);
sec = temp - dec * 10000 - min * 100;
res = x1 - dec*10000.0;
if(fmod(x110000.0) <= (min * 100 + sec) )
{
res = res - 10000.0;
if(fmod(x1100.0) <= sec)
{
res = res - 100.0;
}
res += fmod(x1100.0) + 60 - sec;
}
res += ((int)(fmod(x110000.0)/100.0) )*100.0 + 60*100 - min * 100;
}
return res;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2049 2008-07-07 15:05 GaoSiPrj\function.cpp
文件 295 2008-07-07 14:51 GaoSiPrj\function.h
文件 4615 2008-07-04 10:32 GaoSiPrj\GaoSiPrj.dsp
文件 524 2008-07-03 14:36 GaoSiPrj\GaoSiPrj.dsw
文件 66560 2009-02-15 22:05 GaoSiPrj\GaoSiPrj.ncb
文件 54784 2009-02-15 22:05 GaoSiPrj\GaoSiPrj.opt
文件 935 2009-02-15 21:56 GaoSiPrj\GaoSiPrj.plg
文件 1008 2009-02-15 21:56 GaoSiPrj\main.cpp
文件 9298 2009-02-15 22:05 GaoSiPrj\PrjPoint.cpp
文件 1083 2009-02-15 22:05 GaoSiPrj\PrjPoint.h
文件 16186 2008-07-07 15:05 GaoSiPrj\Debug\function.obj
文件 606274 2009-02-15 21:56 GaoSiPrj\Debug\GaoSiPrj.exe
文件 851636 2009-02-15 21:56 GaoSiPrj\Debug\GaoSiPrj.ilk
文件 2116272 2009-02-15 21:56 GaoSiPrj\Debug\GaoSiPrj.pch
文件 1451008 2009-02-15 21:56 GaoSiPrj\Debug\GaoSiPrj.pdb
文件 152498 2009-02-15 21:56 GaoSiPrj\Debug\main.obj
文件 32478 2009-02-15 21:56 GaoSiPrj\Debug\PrjPoint.obj
文件 115712 2009-02-15 21:56 GaoSiPrj\Debug\vc60.idb
文件 126976 2009-02-15 21:56 GaoSiPrj\Debug\vc60.pdb
目录 0 2009-01-17 08:45 GaoSiPrj\Debug
目录 0 2009-01-17 08:45 GaoSiPrj
----------- --------- ---------- ----- ----
5610191 21
相关资源
- 摄影测量相对定向VC++程序
- C语言版经纬度与高斯投影相互转换函
- WGS84 北京54 西安80 CGCS2000 布尔沙七参
- 经纬度坐标转换为平面坐标的matlab实
- 高斯平均引数法正反算
- 基于51单片机的c语言程序 电机转速测
- 摄影测量内定向程序
- 大地坐标与三维坐标转换
- 摄影测量 单向空间后方交会程序
- 摄影测量单张相片空间后方交会
- 相对定向 摄影测量 C++完整能运行代码
- 单片空间后方交会C++程序代码数据来
- 《测量平差程序设计》宋力杰编著光
- 摄影测量后方交会、前方交会程序
- 26190C语言在测量与控制中的应用王彤
- MPU6050六轴陀螺仪资料
- 摄影测量学 单向空间后方交会 c++
- 空间后方交会代码
- 高斯投影坐标正反算MFC
- 单像空间后方交会程序
- 基于C++的高斯坐标系下经纬度与大地
- 工程测量学自由设站程序设计
- 测绘程序设计基础 实验1 CSU方位角计
- 数据探测法检验粗差C++实现
- C++实现白贝塞尔法大地主题正反算
- 测量平差程序设计
- MFC编写的圆拟合工具
- c++读取JPG图片,完成计算机视觉中的
- 摄影测量相对定向与绝对定向
- 空间后方、前方交会算法的C++实现
评论
共有 条评论