You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kev/Drawer/SSBase/ProjectionLib/ProjectionParameter.h

92 lines
2.5 KiB
C

1 month ago
/////////////////////////////////////////////////////////////////////////////
//<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_)