////////////////////////////////////////////////////////////////////////////// //类: CEllipsoidItem //主要功能: // 对投影参数文件进行读写操作 // //程序编写: 2008-6-18 // // ///////////////////////////////////////////////////////////////////////////// #pragma once #include "ConversionParameter.h" #include "afxtempl.h" namespace NProjectionParameterFile { class AFX_EXT_CLASS CEllipsoidItem { public: CEllipsoidItem(void); ~CEllipsoidItem(void); public: int ReadIni(CString strName, CString strIniFile); void WriteIni(CString strIniFile); void operator=(CEllipsoidItem& item); bool operator==(CEllipsoidItem& item); void Init(); double a; //长半轴 double f; //扁平率倒数 CString append; CString date; CString name; //CString token; double b(void); //获得短半轴 static double GetF(double aa, double bb); //根据长短半轴获得f }; class AFX_EXT_CLASS CConversionItem : public CConversionParameter { public: CConversionItem(); void operator=(CConversionItem& item); CString m_strName; CString m_strComment; CString m_strInEllipsoidName; CString m_strOutEllipsoidName; void Init(void); }; class AFX_EXT_CLASS CEllipsoidFile { public: CEllipsoidFile(void); ~CEllipsoidFile(void); int Read(LPCTSTR lpszFileName); void Write(LPCTSTR lpszFileName); CString Find(double a, double b, CString strIncludeContent); //根据长短半轴查找与其相对应的椭球体 POSITION FindFlat(double a, double f, CString strIncludeContent); //根据长短半轴查找与其相对应的椭球体 POSITION FindEquation(LPCTSTR lpszName); //查找相同 CEllipsoidItem& GetEllipsoidAt(POSITION pos); CEllipsoidItem FindSimilarAt(LPCTSTR lpszName); //查找相似或相同 //POSITION FindToken(LPCTSTR lpszName); //查找相同 //int ReadSurferEllipsoidFile(LPCTSTR lpszFileName); //int ReadSurferDatumFile(LPCTSTR lpszFileName); public: CList m_listEllipsoid; CList m_listConversion; protected: BOOL WriteEllipsoid(LPCTSTR lpszFileName); void WriteConversionItem(LPCTSTR lpszFileName); }; }; using namespace NProjectionParameterFile;