|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD>: <20><>ʽת<CABD><D7AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// ת<><D7AA>GeoMap<61><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2008-3-04
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include ".\geomapbase.h"
|
|
|
|
|
|
#include "GeoMapGxfWriter.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NFormatReader
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
namespace NGeoMapReader
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
class CGeoMapFile :
|
|
|
|
|
|
public COtherFormat
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CGeoMapFile(void);
|
|
|
|
|
|
virtual ~CGeoMapFile(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual BOOL Read(LPCTSTR lpszPathName);
|
|
|
|
|
|
BOOL IsGeoMapFile(LPCTSTR lpszFileName);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
BOOL ReadBlock(CFile& fr);
|
|
|
|
|
|
BOOL ReadPoint(CFile& fr);
|
|
|
|
|
|
BOOL ReadText(CFile& fr);
|
|
|
|
|
|
BOOL ReadLine(CFile& fr);
|
|
|
|
|
|
BOOL ReadArea(CFile& fr);
|
|
|
|
|
|
BOOL ReadAll(CFile& fr);
|
|
|
|
|
|
BOOL ReadWell(CFile& fr);
|
|
|
|
|
|
BOOL ReadCity(CFile& fr);
|
|
|
|
|
|
BOOL ReadSeisLine(CFile& fr);
|
|
|
|
|
|
BOOL ReadSeisArea(CFile& fr);
|
|
|
|
|
|
BOOL ReadPetroArea(CFile& fr);
|
|
|
|
|
|
int ver; //1=v3.0, 2=v3.2
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CGeoMapGxf : public CGeoMapBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CGeoMapGxf(void);
|
|
|
|
|
|
virtual ~CGeoMapGxf(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual BOOL Read(LPCTSTR lpszPathName);
|
|
|
|
|
|
BOOL ReadGxf(CFile& fr);
|
|
|
|
|
|
BOOL WriteGxf(const char * const outFilePath);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
int ver;
|
|
|
|
|
|
CGeoMapGxfWriter m_write;
|
|
|
|
|
|
|
|
|
|
|
|
GxfMap m_map; //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
|
|
CStringArray sa; //<2F><>ȡһ<C8A1>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD>ݿո<DDBF><D5B8>ָ<EFBFBD><D6B8><EFBFBD>
|
|
|
|
|
|
BYTE nLayerView; //<2F><>λ״̬
|
|
|
|
|
|
|
|
|
|
|
|
int GXF_Paper(CFile& fr); //<2F><>ֽ<EFBFBD><D6BD>
|
|
|
|
|
|
int GXF_Map(CFile& fr); //<2F><>ӳ<EFBFBD><D3B3>
|
|
|
|
|
|
int GXF_Layer(CFile& fr); //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GXF_Projection(CFile& fr);//<2F><>ͶӰ
|
|
|
|
|
|
int GXF_Transform(CFile& fr);//<2F><>װ<EFBFBD><D7B0>
|
|
|
|
|
|
|
|
|
|
|
|
int GXF_Text(CFile& fr); //<2F><><EFBFBD>ı<EFBFBD>
|
|
|
|
|
|
int GXF_Polygon(CFile& fr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GXF_Polyline(CFile& fr);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GXF_Contour(CFile& fr); //<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|
|
|
|
|
int GXF_Frame(CFile& fr); //<2F><>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
int GXF_Legend(CFile& fr); //<2F><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GXF_Scale(CFile& fr); //<2F><><EFBFBD>̶ȳ<CCB6>
|
|
|
|
|
|
int GXF_Town(CFile& fr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GXF_Pie(CFile& fr); //<2F><><EFBFBD><EFBFBD>ͼ
|
|
|
|
|
|
int GXF_Well(CFile& fr); //<2F><><EFBFBD><EFBFBD>λ
|
|
|
|
|
|
int GXF_SeisLine(CFile& fr);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GXF_Fault(CFile& fr); //<2F><><EFBFBD>ϲ<EFBFBD>
|
|
|
|
|
|
int GXF_Rect(CFile& fr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GXF_RoundRect(CFile& fr);//<2F><>Բ<EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD>
|
|
|
|
|
|
int GXF_Ellipse(CFile& fr); //<2F><><EFBFBD><EFBFBD>Բ
|
|
|
|
|
|
int GXF_Mark(CFile& fr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GXF_Bitmap(CFile& fr); //<2F><>λͼ
|
|
|
|
|
|
int GXF_MetaFile(CFile & fr);//<2F><>Ԫ<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
int GXF_Log(CFile &fr); //<2F><><EFBFBD>⾮<EFBFBD><E2BEAE><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GXF_SeisSection(CFile & fr);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//old
|
|
|
|
|
|
int ReadFault(CFile& fr);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CString RemoveComma(CString str);
|
|
|
|
|
|
CString GetMarkName(CString strName, bool bWithSY = true);
|
|
|
|
|
|
long GetMarkID(CString strName);
|
|
|
|
|
|
bool toGColor(LPCTSTR lpColorStr, GColor& col);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
using namespace NGeoMapReader;
|