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.

108 lines
2.5 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<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;