|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD>: Projection.cpp
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// ͶӰת<D3B0><D7AA>
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2008-11-09
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if !defined(AFX_PROJECTIONPARAMETER_H__AC3971D1_56C4_4165_95D0_3BAB0126DFD5__INCLUDED_)
|
|
|
|
|
|
#define AFX_PROJECTIONPARAMETER_H__AC3971D1_56C4_4165_95D0_3BAB0126DFD5__INCLUDED_
|
|
|
|
|
|
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
|
|
|
|
|
|
#define _XY_BL_DMS 0 //<2F>ȷ<EFBFBD><C8B7><EFBFBD>
|
|
|
|
|
|
#define _XY_XY_M 1 //<2F><>
|
|
|
|
|
|
#define _XY_BL_DEGREE 2 //<2F><>
|
|
|
|
|
|
#define _XY_XY_KM 3 //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
#define _XY_BL_BL 0 //<2F><><EFBFBD>ȣ<EFBFBD>γ<EFBFBD><CEB3>
|
|
|
|
|
|
#define _XY_XY_XY 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y
|
|
|
|
|
|
#define _XY_BL_LB 2 //γ<>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define _XY_XY_YX 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X
|
|
|
|
|
|
|
|
|
|
|
|
#define _XY_MODE_CUSTOM 0x0001 //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뾭<EFBFBD><EBBEAD>
|
|
|
|
|
|
#define _XY_MODE_WITH_ZONE 0x0002 //<2F>д<EFBFBD><D0B4><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
#define _PROJECTION_GAUSS 0
|
|
|
|
|
|
#define _PROJECTION_UTM 1
|
|
|
|
|
|
#define _PROJECTION_LAMBERT 2
|
|
|
|
|
|
#define _PROJECTION_MERCATOR 3
|
|
|
|
|
|
#define _PROJECTION_ALBERS 4
|
|
|
|
|
|
|
|
|
|
|
|
#define _PROJECTION_GAUSS_TITLE "Gauss"
|
|
|
|
|
|
#define _PROJECTION_UTM_TITLE "UTM"
|
|
|
|
|
|
#define _PROJECTION_LAMBERT_TITLE "Lambert"
|
|
|
|
|
|
#define _PROJECTION_MERCATOR_TITLE "Mercator"
|
|
|
|
|
|
#define _PROJECTION_ALBERS_TITLE "Albers"
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CProjectionParameter
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CProjectionParameter();
|
|
|
|
|
|
virtual ~CProjectionParameter();
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, short ver);
|
|
|
|
|
|
|
|
|
|
|
|
CString GetArgv();
|
|
|
|
|
|
int SetArgv(const CString Argv);
|
|
|
|
|
|
CProjectionParameter& operator =(CProjectionParameter &pp);
|
|
|
|
|
|
|
|
|
|
|
|
//for conformal conic projection
|
|
|
|
|
|
double conic_OriginLongitude; //ԭ<>㾭<EFBFBD><E3BEAD>
|
|
|
|
|
|
double conic_OriginLatitude; //ԭ<><D4AD>γ<EFBFBD><CEB3>
|
|
|
|
|
|
double conic_b1,conic_b2; //<2F><>γ<D7BC><CEB3>
|
|
|
|
|
|
|
|
|
|
|
|
//for gauss and utm
|
|
|
|
|
|
int w; //<2F><><EFBFBD><EFBFBD>(6<><36><EFBFBD><EFBFBD>3)
|
|
|
|
|
|
int zone;
|
|
|
|
|
|
double m_dCustomCenterLongitude; //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뾭<EFBFBD><EBBEAD>
|
|
|
|
|
|
double m_dScaleFactor; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|
|
|
|
|
|
|
|
|
|
|
int projection; //ͶӰϵͳ
|
|
|
|
|
|
int coordinate_unit,coordinate_type; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CString ellipsoid; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
BOOL IsCustomCenterLongitude(void);
|
|
|
|
|
|
BOOL IsWithZone(void);
|
|
|
|
|
|
void EnableCustomCenterLongitude(BOOL bEnable);
|
|
|
|
|
|
void EnableWithZone(BOOL bEnable);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD>, <20><>γ/<2F><>γ
|
|
|
|
|
|
void SetEarch(int longitudeSel, int latitudeSel);
|
|
|
|
|
|
void GetEarch(int &longitudeSel, int &latitudeSel);
|
|
|
|
|
|
|
|
|
|
|
|
CString GetPrjectionType(void);
|
|
|
|
|
|
int SetPrjectionType(CString strType);
|
|
|
|
|
|
|
|
|
|
|
|
int m_latitude; //<2F><>γ<EFBFBD><CEB3><EFBFBD><EFBFBD>γ
|
|
|
|
|
|
int m_longitude; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
UINT m_nFlags; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뾭<EFBFBD><EBBEAD>,<2C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ŵȲ<C5B5><C8B2><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // !defined(AFX_PROJECTIONPARAMETER_H__AC3971D1_56C4_4165_95D0_3BAB0126DFD5__INCLUDED_)
|