|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "EmbellishBaseLib.h"
|
|
|
|
|
|
#include "GeoMap.h"
|
|
|
|
|
|
#include "ProjectionLib/Projection.h"
|
|
|
|
|
|
#include "EmbellishBaseLib.h"
|
|
|
|
|
|
#include "CoordinateConvertor.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace NFormatReader
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
namespace NGeoMapReader
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
class CGeoMapBase :
|
|
|
|
|
|
public CEmbellishBaseLib
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CGeoMapBase(void);
|
|
|
|
|
|
virtual ~CGeoMapBase(void);
|
|
|
|
|
|
|
|
|
|
|
|
bool m_bScreenXY; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>GDB<44>н<EFBFBD><D0BD>У<EFBFBD>GXF<58><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CScreenXY sxy; //ͼֽ<CDBC><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
|
|
|
|
|
|
|
|
|
|
|
|
CProjection xyz; //Ϊ<><CEAA>ͶӰת<D3B0><D7AA>
|
|
|
|
|
|
int InitProjection(GMProjection& pro);
|
|
|
|
|
|
CString m_strProjection; //ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD>
|
|
|
|
|
|
void AddZone(double& x); //<2F><><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD>
|
|
|
|
|
|
int m_zone; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
void SetMapInfo(GMFileHead* pv);
|
|
|
|
|
|
void SetMapInfo(GMLayerHead* pv);
|
|
|
|
|
|
int SetMapUnit(int gm_unit);
|
|
|
|
|
|
void SetScale(double xScale, double yScale);
|
|
|
|
|
|
|
|
|
|
|
|
CString m_strRootLayer; //<2F><>Ŀ¼
|
|
|
|
|
|
CString m_strSubLayer;
|
|
|
|
|
|
void FormatSetLayer(LPCTSTR lpszLayerName=NULL);
|
|
|
|
|
|
void FormatSetLayer(COLORREF color);
|
|
|
|
|
|
|
|
|
|
|
|
CRect8 GetUserRect(GMMapInfo& mapInfo);
|
|
|
|
|
|
CRect8 GetRealRect8(IRect rt); //<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CRect8 GetRealRect8(DRect rt); //<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
COLORREF GetColor(GColor& cl); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
|
double GetWidth(double w); //<2F><><EFBFBD>ÿ<EFBFBD><C3BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λΪ<CEBB><CEAA><EFBFBD><EFBFBD><EFBFBD>ס<EFBFBD>
|
|
|
|
|
|
double GetWidth(int w); //<2F><><EFBFBD>ÿ<EFBFBD><C3BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λΪ<CEBB><CEAA>
|
|
|
|
|
|
UINT GetCurveSmoothState(int nIndex); //<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CString ToDF_Text(CString cmd, int& bScript); //ת<><D7AA>Ϊ˫<CEAA><CBAB><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
virtual void ChangeCoordinate(double& x, double& y);
|
|
|
|
|
|
virtual void ScaleCoordinate(double& x, double& y);
|
|
|
|
|
|
|
|
|
|
|
|
void LayerToMapCoord(int &x, int &y); //<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊͼ<CEAA><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double GetPaperWidth(double width);
|
|
|
|
|
|
double GetUserHeight(double height);
|
|
|
|
|
|
double GetUserWidth(double width);
|
|
|
|
|
|
CCoordinateConvertor *m_pMapConvertor; // <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CCoordinateConvertor *m_pLayerConvertor; // <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CSize8 m_szScale; //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_dScale; //<2F><><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
//<2F><>GeoMap<61><70>Ӧ<EFBFBD>ķ<EFBFBD><C4B7>ſ⡢<C5BF><E2A1A2><EFBFBD>ο⣬Ϊ<E2A3AC>˶<EFBFBD>ȡ<EFBFBD>ļ<EFBFBD>ʱ<EFBFBD>Ӹÿ<D3B8><C3BF>а<EFBFBD><D0B0>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD>Layer:\CurveType\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void InitLib(void);
|
|
|
|
|
|
|
|
|
|
|
|
CString GetSymbolName(int nSymbolID);
|
|
|
|
|
|
void* FindToAddSymbol(int nSymbolID, COLORREF symbolColor);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
//for gdb format
|
|
|
|
|
|
POSITION AddPolyline(GMPolyline* pPolyline, IPoint* pt);
|
|
|
|
|
|
POSITION AddIsoLine(GMIsoline* pIsoLine, IPoint* pt);
|
|
|
|
|
|
POSITION AddFault(GMFault* pFault, IPoint* pt);
|
|
|
|
|
|
POSITION AddPolygon(GMPolygon* pPolygon, IPoint* pt);
|
|
|
|
|
|
POSITION AddRectangle(GMRectangle* pv);
|
|
|
|
|
|
POSITION AddText(GMText* pv);
|
|
|
|
|
|
POSITION AddPie(GMPie* pv);
|
|
|
|
|
|
POSITION AddWell(GMWell* pv);
|
|
|
|
|
|
POSITION AddOilWaterCol(GMOilWaterCol * waterCol);
|
|
|
|
|
|
POSITION AddDataCross(GMDataCross* pv);
|
|
|
|
|
|
POSITION AddSeisLine(GMSeisLine* pv);
|
|
|
|
|
|
POSITION AddSeisArea(GMSeisArea* pv, IPoint* pt);
|
|
|
|
|
|
POSITION AddSeisSection(GMSeisSection* pv, float *pData);
|
|
|
|
|
|
POSITION AddFrame(GMMapFrame* pv);
|
|
|
|
|
|
POSITION AddGrid(GMGrid* pv);
|
|
|
|
|
|
POSITION AddMetaFile(GMMetafile* pv, BYTE* pFileBuffer);
|
|
|
|
|
|
|
|
|
|
|
|
POSITION AddBmp(GMBmp* pv, BYTE* pFileBuffer);
|
|
|
|
|
|
POSITION AddScale(GMScale* pv);
|
|
|
|
|
|
POSITION AddSymbol(GMSymbol* pv);
|
|
|
|
|
|
POSITION AddWellText(GMWellText* pv);//, GMText* pt);
|
|
|
|
|
|
POSITION AddReside(GMReside* pv);
|
|
|
|
|
|
POSITION AddAxis(GMAxis* pv);
|
|
|
|
|
|
POSITION AddLegendFrame(GMLegend* pv);
|
|
|
|
|
|
POSITION AddCompass(GMCompass* pv);
|
|
|
|
|
|
POSITION AddCustom(GMCustom* pv);
|
|
|
|
|
|
POSITION AddRichText(GMRichText* pv, CString text);
|
|
|
|
|
|
POSITION AddWellMarker(GMWellMarker *pv);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
POSITION AddLog(GMLog *log); //<2F>⾮<EFBFBD><E2BEAE><EFBFBD><EFBFBD>
|
|
|
|
|
|
POSITION AddWellLog(GMWellLog * wellLog); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
POSITION AddGraphy(GMGraphy * graphy); //ͳ<><CDB3>ͼ
|
|
|
|
|
|
POSITION AddTriagonal(GMTriangle * triangle); //<2F><><EFBFBD><EFBFBD>ͼ
|
|
|
|
|
|
// for gxf format
|
|
|
|
|
|
POSITION AddText(GxfText* pv);
|
|
|
|
|
|
POSITION AddPolyline(GMPolyline* pPolyline, DPoint* pt);
|
|
|
|
|
|
POSITION AddIsoLine(GxfIsoline* pIsoLine, DPoint* pt);
|
|
|
|
|
|
POSITION AddFault(GMFault* pFault, DPoint* pt);
|
|
|
|
|
|
POSITION AddPolygon(GxfPolygon* pPolygon, DPoint* pt);
|
|
|
|
|
|
POSITION AddRectangle(GxfRect* pv);
|
|
|
|
|
|
POSITION AddWell(GxfWell* pv);
|
|
|
|
|
|
POSITION AddFrame(GxfFrame* pv);
|
|
|
|
|
|
POSITION AddSeisLine(GxfSeisLine* pv, DPoint3* dp);
|
|
|
|
|
|
POSITION AddLegendFrame(GxfLegend* pv);
|
|
|
|
|
|
POSITION AddReside(GxfReside* pv);
|
|
|
|
|
|
POSITION AddSymbol(GxfSymbol* pv);
|
|
|
|
|
|
POSITION AddScale(GxfScale* pv);
|
|
|
|
|
|
POSITION AddPie(GxfPie* pv);
|
|
|
|
|
|
POSITION AddBmp(GxfBmp* pv, BYTE* pBmpBuffer);
|
|
|
|
|
|
POSITION AddMetaFile(GxfMeta* pv, BYTE* pFileBuffer);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
};
|