⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 converting.h

📁 gps经纬度坐标转换为地心坐标的源代码!
💻 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 + -