|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "GeoMapBase.h"
|
|
|
|
|
|
#include "GeoMapGdbWriter.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NFormatReader
|
|
|
|
|
|
{
|
|
|
|
|
|
namespace NGeoMapReader
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
class CCoordinateConvertor;
|
|
|
|
|
|
|
|
|
|
|
|
/* @brief GeoMapͼ<70><CDBC>Reader */
|
|
|
|
|
|
class CGeoMapReader : public CGeoMapBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CGeoMapReader(void);
|
|
|
|
|
|
~CGeoMapReader(void);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡͼ<C8A1><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>
|
|
|
|
|
|
int Read(LPCTSTR fname);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡͼ<C8A1><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ݿ<EFBFBD>ʼλ<CABC>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڳ<D6BD><DAB3>ȣ<EFBFBD>
|
|
|
|
|
|
int ReadLayer (int start, int len);
|
|
|
|
|
|
int ReadElement (int start, int &elementLen, GMElementID eid); //<2F><>ȡԪ<C8A1><D4AA>
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡͼԪ<CDBC><D4AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_Symbol (int start, int &DataLen); // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_Text (int start, int &DataLen); // <20>ı<EFBFBD>
|
|
|
|
|
|
int ELE_Legend (int start, int &DataLen); // ͼ<><CDBC><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_Scale (int start, int &DataLen); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
GMAxis ELE_Axis (int start, int &DataLen); // <20>̶<EFBFBD><CCB6><EFBFBD>
|
|
|
|
|
|
int ELE_Compass (int start, int &DataLen); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>v
|
|
|
|
|
|
int ELE_Well (int start, int &DataLen); // <20><>λ
|
|
|
|
|
|
int ELE_Reside (int start, int &DataLen); // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_Frame (int start, int &DataLen); // ͼ<><CDBC>
|
|
|
|
|
|
GMGrid ELE_Grid (int start, int &DataLen); // ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_Rectangle(int start,int &DataLen); // <20><><EFBFBD><EFBFBD>/Բ<>Ǿ<EFBFBD><C7BE><EFBFBD>/<2F>߶<EFBFBD>
|
|
|
|
|
|
int ELE_Pie (int start, int &DataLen); // <20><>/<2F><>Բ
|
|
|
|
|
|
int ELE_Polyline(int start, int &DataLen); // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_Fault (int start, int &DataLen); //<2F>ϲ<EFBFBD><CFB2><EFBFBD>
|
|
|
|
|
|
int ELE_Isoline (int start, int &DataLen); // <20><>ֵ<EFBFBD><D6B5>
|
|
|
|
|
|
int ELE_Polygon (int start, int &DataLen); // <20><>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
|
|
int ELE_SeisLine (int start, int &DataLen); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_SeisSection (int start, int &DataLen); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_SeisArea (int start, int &DataLen); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_Lithology (int start, int &DataLen); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
GMLog ELE_Log (int start, int &DataLen); // <20>⾮<EFBFBD><E2BEAE><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_WellText (int start, int &DataLen); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_WellLog (int start, int &DataLen); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_WellMarker (int start, int &DataLen); // <20><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>de
|
|
|
|
|
|
int ELE_Compound (int start, int &DataLen); // <20><><EFBFBD><EFBFBD>ͼԪ
|
|
|
|
|
|
int ELE_Custom (int start, int &DataLen); // <20>Զ<EFBFBD><D4B6><EFBFBD>ͼԪ
|
|
|
|
|
|
|
|
|
|
|
|
int ELE_Graphy (int start, int &DataLen); // ͳ<><CDB3>ͼ
|
|
|
|
|
|
int ELE_Triagonal (int start, int &DataLen); // <20><><EFBFBD><EFBFBD>ͼ
|
|
|
|
|
|
|
|
|
|
|
|
int ELE_Bmp (int start, int &DataLen); // BMPλͼ
|
|
|
|
|
|
int ELE_Metafile (int start, int &DataLen); // WMF/EMFԪ<46>ļ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
int ELE_OilWaterCol (int start, int &DataLen); // <20><>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_DataCross (int start, int &DataLen); // <20><><EFBFBD><EFBFBD>ʮ<EFBFBD><CAAE>
|
|
|
|
|
|
int ELE_String (int start, int &DataLen); // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
int ELE_String(GMText& text, int start, int &DataLen); // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
CString GetElementTypeString(GMElementID nID);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CFile m_fr; // <20><>ǰ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CString m_FileName; // <20><>ǰ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
FILE * m_FILE = nullptr;
|
|
|
|
|
|
int m_CurPos = 0; // <20><>ǰ<EFBFBD>ļ<EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
char m_Buffer[256]{}; // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_iCurLayer = 0; // <20><><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ǰͼ<C7B0><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
char m_Magic[12]{}; // <20>ļ<EFBFBD><C4BC><EFBFBD>־
|
|
|
|
|
|
BYTE m_Major{ 0 }; // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>汾<EFBFBD><E6B1BE>
|
|
|
|
|
|
BYTE m_Minor{ 0 }; // <20>ļ<EFBFBD><C4BC>ΰ汾<CEB0><E6B1BE>
|
|
|
|
|
|
|
|
|
|
|
|
int m_WidthMM = 0;
|
|
|
|
|
|
int m_HeightMM = 0; // ͼֽ<CDBC><D6BD><EFBFBD>ȡ<EFBFBD><C8A1>߶<EFBFBD>(<28><>λΪ<CEBB><CEAA><EFBFBD><EFBFBD>)
|
|
|
|
|
|
COLORREF m_BkColor; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
|
|
|
|
|
|
|
int m_nLayer = 0; // ͼ<><CDBC><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_nElement = 0; // <20><>ǰͼ<C7B0><CDBC><EFBFBD><EFBFBD>ͼԪ<CDBC><D4AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
GMElementID m_GdbElement{}; // <20><>ǰͼԪ<CDBC><D4AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
CRect m_Mbr; // <20><>ǰͼԪ<CDBC><D4AA>MBR
|
|
|
|
|
|
|
|
|
|
|
|
GMFileHead m_fileHead; // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
GMLayerHead m_layerHead; // <20><>ǰͼ<C7B0><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
GMLayerIndex m_GdbLayerIndex[100]{};// ͼ<><CDBC>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ͼ<><CDBC><EFBFBD><EFBFBD>С<EFBFBD><D0A1>100)
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
};
|