资源简介
C++实现的控制网平差实例 基于VS2008版本的 高版本的VS可以用
代码片段和文件信息
#include “StdAfx.h“
#include “Adjust.h“
#include “CommonSurveyFunctions.h“
#include “math.h“
#include
CAdjust::CAdjust(void)
{
m_pUnknownPoint=NULL;//未知点数组
m_iUnknownPointCount=0; //未知点个数
m_pAngleObs=NULL; //角度观测值数组
m_iAngleObsCount=0; //角度观测值个数
m_pDistObs=NULL; //距离观测值数组
m_iDistObsCount=0; //距离观测值个数
m_pBearingObs=NULL;
m_iBearingObsCount=0;
}
CAdjust::~CAdjust(void)
{
//释放动态数组内存
if(m_pUnknownPoint!=NULL)
{
delete[] m_pUnknownPoint;
m_pUnknownPoint=NULL;
}
if(m_pKnownPoint!=NULL)
{
delete[] m_pKnownPoint;
m_pKnownPoint=NULL;
}
if(m_pAngleObs!=NULL)
{
delete[] m_pAngleObs;
m_pAngleObs=NULL;
}
if(m_pBearingObs!=NULL)
{
delete[] m_pBearingObs;
m_pBearingObs=NULL;
}
if(m_pDistObs!=NULL)
{
delete[] m_pDistObs;
m_pDistObs=NULL;
}
}
void CAdjust::SetKnownPointSize(int size)
{
m_pKnownPoint=new CControlPoint[size];//已知点数组
m_iKnownPointCount=size;//已知点个数
}
void CAdjust::SetUnknownPointSize(int size)
{
if(m_pUnknownPoint!=NULL)
{
delete[] m_pUnknownPoint;
m_pUnknownPoint=NULL;
}
if(m_pAngleObs!=NULL)
{
delete[] m_pAngleObs;
m_pAngleObs=NULL;
}
if(m_pDistObs!=NULL)
{
delete[] m_pDistObs;
m_pDistObs=NULL;
}
if(m_pBearingObs!=NULL)
{
delete[] m_pBearingObs;
m_pBearingObs=NULL;
}
m_iUnknownPointCount=size;
m_pUnknownPoint=new CControlPoint[size];
}
CString* CAdjust::SplitString(CString str char split int iSubStrs)
{
int iPos = 0; //分割符位置
int iNums = 0; //分割符的总数
CString strTemp = str;
CString strRight;
//先计算子字符串的数量
while (iPos != -1)
{
iPos = strTemp.Find(split);
if (iPos == -1)
{
break;
}
strRight = strTemp.Mid(iPos + 1 str.GetLength());
strTemp = strRight;
iNums++;
}
if (iNums == 0) //没有找到分割符
{
//子字符串数就是字符串本身
iSubStrs = 1;
return NULL;
}
//子字符串数组
iSubStrs = iNums + 1; //子串的数量 = 分割符数量 + 1
CString* pStrSplit;
pStrSplit = new CString[iSubStrs];
strTemp = str;
CString strLeft;
for (int i = 0; i < iNums; i++)
{
iPos = strTemp.Find(split);
//左子串
strLeft = strTemp.Left(iPos);
//右子串
strRight = strTemp.Mid(iPos + 1 strTemp.GetLength());
strTemp = strRight;
pStrSplit[i] = strLeft;
}
pStrSplit[iNums] = strTemp;
return pStrSplit;
}
bool CAdjust::LoadObsData(const CString &strFileName)
{
CStdioFile sf; //创建文件对象
//以读的形式打开文件,如果打开失败则返回
if(!sf.Open(strFileName CFile::modeRead)) return false;
CString strLine;
CString str;
CString *strTmp=NULL;
int n=0;
while(strLine!=_T(“END Header“))//读取文件头
{
sf.ReadString (strLine);
str+=strLine;
str+=_T(“\r\n“);
if(strLine!=_T(“END Header“))
{
strTmp=SplitString(strLine‘‘n);
}
else
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 20823 2013-07-29 00:08 Kongzhiwangpingcha\Adjust.cpp
文件 2149 2013-07-27 20:10 Kongzhiwangpingcha\Adjust.h
文件 2828 2013-07-23 16:24 Kongzhiwangpingcha\Angle.cpp
文件 836 2013-07-23 16:24 Kongzhiwangpingcha\Angle.h
文件 795 2011-03-24 13:43 Kongzhiwangpingcha\CommonSurveyFunctions.cpp
文件 455 2013-07-29 00:09 Kongzhiwangpingcha\CommonSurveyFunctions.h
文件 360 2011-03-25 10:21 Kongzhiwangpingcha\ControlPoint.cpp
文件 1909 2013-07-27 19:31 Kongzhiwangpingcha\ControlPoint.h
文件 121577 2013-07-29 00:09 Kongzhiwangpingcha\Debug\Adjust.obj
文件 16745 2013-07-27 20:12 Kongzhiwangpingcha\Debug\Angle.obj
文件 7624 2013-07-29 00:09 Kongzhiwangpingcha\Debug\BuildLog.htm
文件 8847 2013-07-29 00:09 Kongzhiwangpingcha\Debug\CommonSurveyFunctions.obj
文件 144384 2013-07-29 00:09 Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.exe
文件 1196 2013-07-27 20:12 Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.exe.em
文件 1260 2013-07-27 20:12 Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.exe.em
文件 1120 2013-07-29 00:09 Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.exe.intermediate.manifest
文件 1057296 2013-07-29 00:09 Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.ilk
文件 20890 2013-07-27 20:12 Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.obj
文件 3599360 2013-07-29 00:09 Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.pdb
文件 23432 2013-07-27 20:12 Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.res
文件 44769 2013-07-28 11:42 Kongzhiwangpingcha\Debug\KongzhiwangpingchaDlg.obj
文件 36569 2013-07-27 20:12 Kongzhiwangpingcha\Debug\Matrix.obj
文件 65 2013-07-29 00:09 Kongzhiwangpingcha\Debug\mt.dep
文件 466026 2013-07-27 20:12 Kongzhiwangpingcha\Debug\stdafx.obj
文件 936960 2013-07-29 00:09 Kongzhiwangpingcha\Debug\vc90.idb
文件 2011136 2013-07-29 00:09 Kongzhiwangpingcha\Debug\vc90.pdb
文件 43084 2013-07-27 20:48 Kongzhiwangpingcha\Kongzhiwangpingcha.aps
文件 1803 2013-07-23 16:10 Kongzhiwangpingcha\Kongzhiwangpingcha.cpp
文件 513 2013-07-23 16:10 Kongzhiwangpingcha\Kongzhiwangpingcha.h
文件 12774400 2015-12-28 16:58 Kongzhiwangpingcha\Kongzhiwangpingcha.ncb
............此处省略27个文件信息
评论
共有 条评论