#pragma once #include #include "SigmaProjectionParameter.h" #include 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 m_ellipsoidMap; std::map m_ellipsoidIntMap; };