?? survey.h
字號:
// Survey.h: interface for the CSurvey class.
/*/////////////////////////////////////////////////////////////////////////////
本類用以處理工程測量中測量計算,如測量坐標換代、計算高斯坐標計算經緯度、經緯度
計算高斯平面坐標等工程測量中的應用。
*/
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SURVEY_H__7B545141_C81D_11D5_AA63_0000E86D0FFA__INCLUDED_)
#define AFX_SURVEY_H__7B545141_C81D_11D5_AA63_0000E86D0FFA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
struct typePoint
{
double x;
double y;
};
class CSurvey
{
public:
CSurvey();
virtual ~CSurvey();
public:
typePoint point54[4];
//struct point point54[4];
double pi;
double cs_a, cs_b, cs_f, cs_E, cs_e1, cs_e2; //系統參數
double dsetx,dsety; //設置坐標 dsetx小數7位,dsety大數8位 注意:在做計算時要將坐標的代號去掉
double dgetx,dgety; //轉換坐標
double dgetbl_b,dgetbl_l; //該坐標的經緯度 dgetbl_b緯度,dgetbl_l經度
double dgetsd;
double dthwith,dthlengh; //分幅的長和寬 df,db
int dmerl,fdh; //中央子午線,代號
int dmeil_last,fdh_last; //轉換后的中央子午線,代號
int dudai; //3度帶或6度帶
CString eltf1,eltf2,eltf3,eltf4,eltf5,eltf6,eltf7,eltf8; //圖號的八鄰圖號
CString SetBLC; //計算圖幅比例尺
public:
void GetSysDat(int sel/*1代表54系;2代表80系;3代表GPS 72系*/); //設置系統參數
BOOL GetFdh(); //根據Y坐標計算中央子午線和代號
double Blength(double xx);
double Calb(double b, double a0, double a1, double a2, double a3);
CString DMS(double datab); //將度轉換成度分秒
double Deg(double datab); //將度分秒數據轉換成度
double Rmax(double datab);
double Slength(double jwd);
BOOL XyToBl(); //大地坐標計算地理坐標 dsetx為大數,dsety為小數
BOOL BlToXy(); //地理坐標計算大地坐標 dgetbl_b為經度,dgetbl_l為緯度
void GetReduceNewth(CString strnewtf,char* top,int* jw,char* sc,int* row,int* col);//分解新圖號
CString GetOldThFormNewTh(CString strnewtf); //利用新圖號計算舊圖號
CString GetBLCFormOldMap(CString stroldmap); //利用舊圖號獲得比例尺
CString GetNewtfFormOldtf(CString stroldtf); //利用舊圖號計算新圖號
void SetStandardBLC(int BLC,double* db,double* df); //利用比例尺確定分幅的經差和緯差
void CalLngLat(CString strnewtf,double* f1,double* b1); //根據新圖號計算經緯度。
void SetNewTfCalLL(CString strnewtf,double* Sb,double* Wl,double* Nb,double* El);//根據新圖號計算經緯度。
void BCalMeri(double jdB,double jdmin,int daihao,double* reMeri,double* redh); //計算中央子午線
CString GetThCalLat(double jd,double wd,int sel/*1為50萬;2為25萬*/); //利用經緯度計算50萬和25萬圖號
CString GetThCalLatEF(double jd,double wd,int sel/*4為5萬;5為2.5萬*/); //5萬和2.5萬
CString GetThCalLatADGH(double jd,double wd,int sel/*0 100w,3 10w,6 1w,7 5千*/); //100萬、10萬、1萬、5千
BOOL GeteightThao(CString strtf); //根據圖號計算八鄰圖號'舊圖號'
BOOL TransTwoContrlXy(typePoint old1,typePoint old2,typePoint new1,typePoint new2,
double* s1,double* s2,double* s3,double* s4); //自由坐標系轉換坐標參數
void TransXy(typePoint oldpoint,typePoint* newpoint,
double s1,double s2,double s3,double s4); //坐標轉換
BOOL CalLineCut(struct typePoint point1,struct typePoint point2,double GridData,double* GetData,bool bfxy); //計算直線的交點
void ExportKilometreGrid(CString filename,CString tkcode,CString lcode); //輸出公里格網E00文件
int ExData(double data,double* data1); //確定數據大小
BOOL GetMaxMinData(double* minx,double* miny,double* maxx,double* maxy); //四坐標中的最大與最小
void ExportKilometreGridMapInof(CString filename,CString tkcode,CString lcode); //輸出公里格網Mapinfo文件MIF格式
void ExportKilometreGridAml(CString filename); //輸出公里格網生成Aml文件
void ExportTicaml(CString filename);
};
#endif // !defined(AFX_SURVEY_H__7B545141_C81D_11D5_AA63_0000E86D0FFA__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -