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.
29 lines
968 B
C++
29 lines
968 B
C++
#pragma once
|
|
#include <afxwin.h>
|
|
#include "SigmaProjectionParameter.h"
|
|
#include <map>
|
|
|
|
class ProjectionParameterAssistant
|
|
{
|
|
public:
|
|
static ProjectionParameterAssistant * GetInstance();
|
|
void SetParameter(SigmaProjectionParameter * para);
|
|
int ParseParameterFromString(CString & projStr);
|
|
bool GenerateOtherString(std::string & otherStrOut);
|
|
int GetProjectStr(std::string & projStrOut);
|
|
void InitParameter();
|
|
bool FillOtherParameter(std::string & otherStr);
|
|
private:
|
|
ProjectionParameterAssistant();
|
|
void InitEllipsoidMap();
|
|
int GetPrjectionType(std::string & type);
|
|
int GetIndexOfEllipsoid(std::string & ellipsoidStr);
|
|
void GetPrjectionName(std::string & projNameOut);
|
|
bool ProcessForGuass(std::string & otherStr);
|
|
bool ProcessForLambert(std::string & otherStr);
|
|
private:
|
|
static ProjectionParameterAssistant * m_pInstance;
|
|
SigmaProjectionParameter * m_para;
|
|
std::map<std::string, int> m_ellipsoidMap;
|
|
std::map<int, std::string> m_ellipsoidIntMap;
|
|
}; |