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

📄 mapshow.h

📁 目标跟踪显示的源代码,包含极坐标与之角坐标的转换,轨迹点的显示等
💻 H
字号:
// MapShow.h: interface for the CMapShow class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAPSHOW_H__66E7A6F4_A22F_4BD7_A288_52CD4F61D330__INCLUDED_)
#define AFX_MAPSHOW_H__66E7A6F4_A22F_4BD7_A288_52CD4F61D330__INCLUDED_

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

//显示地图数据类
class AFX_EXT_CLASS CMapShow  
{
public:
	//标记雷达站
	void MarkSites(CDC *pDC,double SiteLon,double SiteLat,
						 short shape);
	//得到地图尺寸
	void GetMapSize(int &MapSizeX,int &MapSizeY);
	//从文件读取地图数据
	bool LoadMapData(CString MapFileName);
	//经纬度转换成像素点
	bool LonLatToPoint(double Lon,double Lat,int &x,int &y);
	//像素点转换为经纬度
	bool PointToLonLat(int x,int y,double &Lon,double &Lat);
	//从内存中读取地图数据
	void GetData(double EastView,
    	double      WestView,
    	double		NorthView,  
    	double		SouthView,  
    	CArray<CArray<double,double>,CArray<double,double> &> &RgnViewLon,
    	CArray<CArray<double,double>,CArray<double,double> &> &RgnViewLat,
    	int			NumRgnView,	
    	CArray<int,int> &NumPntView,    
    	CArray<bool,bool> &RgnIsSeaView,  
    	CArray<double,double> &RgnEastView,		
    	CArray<double,double> &RgnSouthView,		
        CArray<double,double> &RgnWestView,		
    	CArray<double,double> &RgnNorthView );
	//设置颜色
	void SetColor(COLORREF ColorIsland,COLORREF ColorSea,
		COLORREF ColorLonLatLine);
	//设置绘图参数
	void SetParameter(CPoint p0,double PixelPerKm,double grid);
	//设置绘图环境
	void SetViewEnvironment();
	//画地图
	void DrawMap(CDC *pDC);
	//画经纬线
	void DrawLngLatLine(CDC *pDC);
	CMapShow();
	virtual ~CMapShow();
	
private:
	//图形原点
	CPoint m_p0;
	//网格大小
	double m_grid;
	//开始和结束的经纬度
	double m_LonBegin,m_LonEnd,m_LatBegin,m_LatEnd;
	//地图x轴和y轴的尺寸
	int m_MapSizeX,m_MapSizeY;

	//每公里的像素点数
	double m_PixelPerKm;
	//每纬度的公里数
	double m_KmPerLat;
	//每经度的公里数
	double m_KmPerLon;
	//每经度的像素点数
	double m_PixelPerLon;
	//每纬度的像素点数
	double m_PixelPerLat;

	//岛屿颜色,海洋颜色,经纬线颜色
	COLORREF m_ColorIsland,m_ColorSea,m_ColorLonLatLine;

	double		m_EastView;   //地图的最东经度
	double		m_WestView;   //地图的最西经度
	double		m_NorthView;  //地图的最北纬度
	double		m_SouthView;  //地图的最南纬度

	//每一个区域内点的经度、纬度
	CArray<CArray<double,double>,CArray<double,double> &> m_RgnViewLon;
	CArray<CArray<double,double>,CArray<double,double> &> m_RgnViewLat;
	int			m_NumRgnView;	//number of regions to view
	CArray<int,int> m_NumPntView;    //number of points on each region
	CArray<bool,bool> m_RgnIsSeaView;  //the region is sea or island
	

	CArray<double,double> m_RgnEastView,		//段最东经度
	                      m_RgnSouthView,		//段最南纬度	数组
	                      m_RgnWestView,		//段最西经度
		                  m_RgnNorthView;		//段最北纬度

};

#endif // !defined(AFX_MAPSHOW_H__66E7A6F4_A22F_4BD7_A288_52CD4F61D330__INCLUDED_)

⌨️ 快捷键说明

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