📄 converting.h
字号:
// Converting.h: interface for the CConverting class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CONVERTING_H__E2E4BEA8_E9C5_414D_9042_91A3B4C8FD59__INCLUDED_)
#define AFX_CONVERTING_H__E2E4BEA8_E9C5_414D_9042_91A3B4C8FD59__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "xyzxyz.h"
class CXyzxyz ;
class CConverting
{
public:
void XYtoXY(double x,double y,double *x1,double *y1);
struct _XYtoXY
{
double Scale;
double X0,Y0; //旧坐标系原点在新坐标系中的纵坐标
//旧坐标系原点在新坐标系中的横坐标
double Ro ; //旋转角 (弧度)
} _XYtoXYB;
BOOL Cal4(); //两平面坐标系转换
BOOL Cal7(); //计算7参数转换
BOOL FreeMxyz();
CTypedPtrArray<CObArray,CXyzxyz*>m_Xyz;
void XYBL(double x,double y,double *b,double *l); //高斯投影
void BLXY(double b,double l,double *x,double *y); //高斯投影
void ADDXYZ(double x,double y,double z,double x1 ,double y1 ,double z1); //七参数转换
void XYZXYZ(double x,double y,double z,double *x1,double *y1,double *z1); //七参数转换
void XYZBLH(double x,double y,double z,double *b ,double *l ,double *h ); //球面坐标
void BLHXYZ(double b,double l,double h,double *x ,double *y ,double *z ); //球面坐标
// 长半径 扁率 中央纬度 经度 Y 正家 X 增加 比例 投影高
vSetSystem(double Ra,double Bl,double b,double l,double Yp,double Xp, double M,double Tyg );
struct _BLH;
struct _XYH;
struct _CTS
{
double x,y,z;
double operator - (_CTS b);
void operator = (_BLH blhI);
};
struct _BLH
{
private:
double dLatitudeF(double X);
public:
double b;
double l;
double h;
void operator = (_CTS ctsI);
void operator = (_XYH xyhIn);
};
struct _XYH
{
friend _BLH;
private:
double dMerDis(double b);
public:
double x,y,h;
void operator = (_BLH blh);
};
CConverting();
virtual ~CConverting();
};
extern CConverting Converting;
#endif // !defined(AFX_CONVERTING_H__E2E4BEA8_E9C5_414D_9042_91A3B4C8FD59__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -