布尔沙模型为常用的三维坐标转换模型,算法简单且容易实现。其主要是利用泰勒级数展开的方法将模型线性化,然后解算坐标转换的旋转和平移参数,最后可以 通过七个参数求解出在目的坐标系下坐标
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-11-03 10:32 GPSCoord
文件 3377 2015-08-29 11:51 GPSCoordCoordTra.cpp
文件 1476 2010-11-27 17:45 GPSCoordCoordTra.h
目录 0 2015-11-03 10:30 GPSCoordDebug
文件 6202 2015-11-03 10:30 GPSCoordDebugcl.command.1.tlog
文件 46314 2015-11-03 10:30 GPSCoordDebugCL.read.1.tlog
文件 3508 2015-11-03 10:30 GPSCoordDebugCL.write.1.tlog
文件 218690 2015-08-29 11:51 GPSCoordDebugCoordTra.obj
文件 182272 2015-11-03 10:30 GPSCoordDebugGPSCoord.exe
文件 667 2015-08-29 11:51 GPSCoordDebugGPSCoord.exe.embed.manifest
文件 732 2015-08-29 11:51 GPSCoordDebugGPSCoord.exe.embed.manifest.res
文件 381 2015-11-03 10:30 GPSCoordDebugGPSCoord.exe.intermediate.manifest
文件 2040220 2015-11-03 10:30 GPSCoordDebugGPSCoord.ilk
文件 59 2015-11-03 10:30 GPSCoordDebugGPSCoord.lastbuildstate
文件 3232 2015-11-03 10:30 GPSCoordDebugGPSCoord.log
文件 40339 2015-08-29 11:36 GPSCoordDebugGPSCoord.obj
文件 20381696 2015-08-29 11:36 GPSCoordDebugGPSCoord.pch
文件 4606976 2015-11-03 10:30 GPSCoordDebugGPSCoord.pdb
文件 10252 2015-08-29 11:51 GPSCoordDebugGPSCoord.res
文件 707 2015-08-29 11:36 GPSCoordDebugGPSCoord.vcxprojResolveAssemblyReference.cache
文件 0 2015-08-29 11:36 GPSCoordDebugGPSCoord.write.1.tlog
文件 51320 2015-08-29 11:36 GPSCoordDebugGPSCoordDoc.obj
文件 35789 2015-08-29 11:36 GPSCoordDebugGPSCoordView.obj
文件 212 2015-08-29 11:51 GPSCoordDebugGPSCoord_manifest.rc
文件 2 2015-11-03 10:30 GPSCoordDebuglink-cvtres.read.1.tlog
文件 2 2015-11-03 10:30 GPSCoordDebuglink-cvtres.write.1.tlog
文件 3980 2015-11-03 10:30 GPSCoordDebuglink.command.1.tlog
文件 10864 2015-11-03 10:30 GPSCoordDebuglink.read.1.tlog
文件 1552 2015-11-03 10:30 GPSCoordDebuglink.write.1.tlog
文件 32114 2015-08-29 11:36 GPSCoordDebugMainFrm.obj
文件 720 2015-11-03 10:30 GPSCoordDebugmt.command.1.tlog
............此处省略61个文件信息
// CoordTra.cpp : implementation file
//
#include “stdafx.h“
#include “GPSCoord.h“
#include “CoordTra.h“
#include
#include “Matrix.h“
#include “math.h“
#define PI 3.1415926535897932384626433
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCoordTra dialog
using namespace std;
CCoordTra::CCoordTra(CWnd* pParent /*=NULL*/)
: CDialog(CCoordTra::IDD pParent)
{
//{{AFX_DATA_INIT(CCoordTra)
m_Py = 0;
m_Px = 0;
m_Pz = 0;
m_Xx = 0;
m_Xy = 0;
m_Xz = 0;
m_ChiDu = 0;
m_num = 0;
Count2=4;
f_coord.x =0;
f_coord.y =0;
f_coord.z =0;
n_coord.x =0;
n_coord.y =0;
n_coord.z =0;
//}}AFX_DATA_INIT
}
void CCoordTra::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCoordTra)
DDX_Text(pDX IDC_FCOORD_X f_coord.x);
DDX_Text(pDX IDC_FCOORD_Y f_coord.y);
DDX_Text(pDX IDC_FCOORD_Z f_coord.z);
DDX_Text(pDX IDC_NCOORD_X n_coord.x);
DDX_Text(pDX IDC_NCOORD_Y n_coord.y);
DDX_Text(pDX IDC_NCOORD_Z n_coord.z);
DDX_Text(pDX IDC_NUM m_num);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCoordTra CDialog)
//{{AFX_MSG_MAP(CCoordTra)
ON_BN_CLICKED(IDC_TRANSFORM OnTransform)
ON_BN_CLICKED(IDC_READ OnRead)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCoordTra message handlers
void CCoordTra::OnTransform()
{
// TODO: Add your control notification handler code here
UpdateData();
n_coord=tracoord(f_coord);
UpdateData(FALSE);
}
coord CCoordTra::tracoord(coord p_coord)//坐标转换函数
{
coord q_coord;
q_coord.x=m_Px+p_coord.x*(1+m_ChiDu)+m_Xz*p_coord.y-m_Xy*p_coord.z;
q_coord.y=m_Py+p_coord.y*(1+m_ChiDu)-m_Xz*p_coord.x+m_Xx*p_coord.z;
q_coord.z=m_Pz+p_coord.z*(1+m_ChiDu)+m_Xy*p_coord.x-m_Xx*p_coord.y;
return q_coord;
}
void CCoordTra::OnRead()
{
// TODO: Add your control notification handler code here
UpdateData();
Count2=m_num;
coord *result;
result=new coord[Count2];
date=new coord[Count2];
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrtitle=“输入需要转换的点坐标“;
fileDlg.m_ofn.lpstrFilter=“Text Files(*.txt) *.txt All Files(*.*) *.* “;
int i;
if(IDOK==fileDlg.DoModal())
{
CString filefullname=fileDlg.GetPathName();
ifstream file(filefullname);
for(i=0;i {
file>>date[i].x;
file>>date[i].y;
file>>date[i].z;
result[i]=tracoord(date[i]);
}
}//读取文件并计算新坐标
MessageBox(“转换成功,请保存!“);
CFileDialog fileDlg1(FALSE);
fileDlg1.m_ofn.lpstrtitle=“保存对话框“;
fileDlg1.m_ofn.lpstrFilter=“Text Files(*.txt) *.txt All Files(*.*) *.* “;
fileDlg1.m_ofn.lpstrDefExt=“txt“;
if(IDOK==fileDlg1.DoModal())
{
CString filefullname=fileDlg1.GetPathName();
ofstream file(filefullname);
Mess
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-11-03 10:32 GPSCoord
文件 3377 2015-08-29 11:51 GPSCoordCoordTra.cpp
文件 1476 2010-11-27 17:45 GPSCoordCoordTra.h
目录 0 2015-11-03 10:30 GPSCoordDebug
文件 6202 2015-11-03 10:30 GPSCoordDebugcl.command.1.tlog
文件 46314 2015-11-03 10:30 GPSCoordDebugCL.read.1.tlog
文件 3508 2015-11-03 10:30 GPSCoordDebugCL.write.1.tlog
文件 218690 2015-08-29 11:51 GPSCoordDebugCoordTra.obj
文件 182272 2015-11-03 10:30 GPSCoordDebugGPSCoord.exe
文件 667 2015-08-29 11:51 GPSCoordDebugGPSCoord.exe.em
文件 732 2015-08-29 11:51 GPSCoordDebugGPSCoord.exe.em
文件 381 2015-11-03 10:30 GPSCoordDebugGPSCoord.exe.intermediate.manifest
文件 2040220 2015-11-03 10:30 GPSCoordDebugGPSCoord.ilk
文件 59 2015-11-03 10:30 GPSCoordDebugGPSCoord.lastbuildstate
文件 3232 2015-11-03 10:30 GPSCoordDebugGPSCoord.log
文件 40339 2015-08-29 11:36 GPSCoordDebugGPSCoord.obj
文件 20381696 2015-08-29 11:36 GPSCoordDebugGPSCoord.pch
文件 4606976 2015-11-03 10:30 GPSCoordDebugGPSCoord.pdb
文件 10252 2015-08-29 11:51 GPSCoordDebugGPSCoord.res
文件 707 2015-08-29 11:36 GPSCoordDebugGPSCoord.vcxprojResolveAssemblyReference.cache
文件 0 2015-08-29 11:36 GPSCoordDebugGPSCoord.write.1.tlog
文件 51320 2015-08-29 11:36 GPSCoordDebugGPSCoordDoc.obj
文件 35789 2015-08-29 11:36 GPSCoordDebugGPSCoordView.obj
文件 212 2015-08-29 11:51 GPSCoordDebugGPSCoord_manifest.rc
文件 2 2015-11-03 10:30 GPSCoordDebugli
文件 2 2015-11-03 10:30 GPSCoordDebugli
文件 3980 2015-11-03 10:30 GPSCoordDebugli
文件 10864 2015-11-03 10:30 GPSCoordDebugli
文件 1552 2015-11-03 10:30 GPSCoordDebugli
文件 32114 2015-08-29 11:36 GPSCoordDebugMainFrm.obj
文件 720 2015-11-03 10:30 GPSCoordDebugmt.command.1.tlog
............此处省略61个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)