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

📄 project.h

📁 基于小波的SAR斑点处理
💻 H
字号:
#ifndef _PROJECT_H_
#define _PROJECT_H_

#if _MSC_VER > 1000
#pragma once
#endif //_MSC_VER > 1000

const double PI=3.1415926535897932385;

typedef struct tagRadius   //大地椭球半径
{
	double R;
	double Rm;
	double Rv;
	double Rf;
//	double Rs;
}Radius;

typedef struct tagE_value
{
	double e;		//大地椭球体的曲率
	double e2;		//大地椭球体的曲率的平方
	double e4;		//大地椭球体的曲率的4次方
	double e6;		//大地椭球体的曲率的6次方
	double e8;		//大地椭球体的曲率的8次方
}E_value;

/*	
struct PRJPARAM
{
  	BOOL m_bRadius_a;			//椭球体长半轴
  	BOOL m_bRadius_b;			//椭球体短半轴
	BOOL m_bLatitude1;			//标准纬线1
	BOOL m_bLatitude2;			//标准纬线2
	BOOL m_bCentralLatitude;	//中央纬线
	BOOL m_bCentralLongitude;	//中央经线
	BOOL m_bCentralAngle;		//等高圈
	BOOL m_bSouthLatitude;		//最南纬线
	BOOL m_bZonewidth;			//投影带宽
	BOOL m_bMapScale;			//地图比例尺 
};
*/

typedef struct tagPRJXY
{
	double x;
	double y;
	double m;
	double n;
	double p;
	double w;
}PRJXY;

typedef struct tagPRJBL
{
	double	B;	// 纬度
	double	L;	// 经度
}PRJBL;

class CProject
{
protected:
  	double a;					//椭球体长半轴
  	double b;					//椭球体短半轴
	double latitude_1;			//标准纬线1
	double latitude_2;			//标准纬线2
	double central_latitude;	//中央纬线l
	double central_longitude;	//中央经线
	double central_angle;		//等高圈
	double south_latitude;		//最南纬线
	double zone_width;			//投影带宽
	double map_scale;			//地图比例尺 
public:
	CProject();
/*		
CProject(double long_radius,double short_radius,
			   double latitude_1,double latitude_2,double central_latitude,
		       double central_longitude,double central_angle,
		       double south_latitude,double zone_width,double map_scale);
*/

//	functions for basical project
   	E_value Get_e();
	double r_latitude(double latitude);
	double M_longitude(double latitude);
	double N_latitude(double latitude);
	double U_latitude(double latitude);
   	Radius Get_R(double latitude);

//	functions for project_xy
	double Isodistance_S(double latitude);
	double Isoangle_Q(double latitude);
	double Isosqare_F(double latitude);

//	functions for project_bl
	double Isodistance_B(double S);
	double Isoangle_B(double Q);
	double Isosqare_B(double F);

//pure virtual functions for project
	virtual PRJXY Project_xy(double latitude,double longitude)=0;
	virtual PRJBL Project_bl(double x,double y)=0;
};

// 将度转化为度分秒
	double Degree_to_dms(double angle);
// 将度分秒转化为度
	double Dms_to_degree(double angle);
// 将度分秒转化为弧度
	double Dms_to_arc(double angle);
// 将弧度转化为度分秒
	double Arc_to_dms(double angle);

#endif //_PROJECT_H_
		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -