⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 miffile.h

📁 linux下一款GIS程序源码
💻 H
字号:
// miffile.h: interface for the MIFFile class.////////////////////////////////////////////////////////////////////////#ifndef  MIFFile_H#define  MIFFile_H#include "mapinfofile.h"#include "middatafile.h"class MIFFile : public MapInfoFile  { private:    char        *m_pszFname;    TABAccess    m_eAccessMode;    char        *m_pszVersion;    char        *m_pszCharset;    char        *m_pszDelimiter;    char        *m_pszUnique;    char        *m_pszIndex;    char        *m_pszCoordSys;    TABFieldType *m_paeFieldType;    UGKBool       *m_pabFieldIndexed;    UGKBool       *m_pabFieldUnique;    double       m_dfXMultiplier;    double       m_dfYMultiplier;    double       m_dfXDisplacement;    double       m_dfYDisplacement;    /* these are the projection bounds, possibly much broader than extents */    double      m_dXMin;    double      m_dYMin;    double      m_dXMax;    double      m_dYMax;    /* extents, as cached by MIFFile::PreParseFile() */    int         m_bExtentsSet;    UGKEnvelope m_sExtents;    int         m_nPoints;    int         m_nLines;    int         m_nRegions;    int         m_nTexts;    int         m_nPreloadedId;  // preloaded mif line is for this feature id    MIDDATAFile  *m_poMIDFile;   // Mid file    MIDDATAFile  *m_poMIFFile;   // Mif File    UGKFeatureDefn *m_poDefn;    //UGKSpatialReference *m_poSpatialRef;    int         m_nFeatureCount;    int         m_nWriteFeatureId;    int         m_nAttribut;    ///////////////    // Private Read access specific stuff    //    int         ReadFeatureDefn();    int         ParseMIFHeader();    void        PreParseFile();    int         AddFields(const char *pszLine);    int         GotoFeature(int nFeatureId);    int         NextFeature();    ///////////////    // Private Write access specific stuff    //    UGKBool       m_bPreParsed;    UGKBool       m_bHeaderWrote;    int         WriteMIFHeader();    void UpdateExtents(double dfX,double dfY);public:	MIFFile();	virtual ~MIFFile();	virtual TABFileClass GetFileClass() {return TABFC_MIFFile;}    virtual int Open(const char *pszFname, const char *pszAccess,                     UGKBool bTestOpenNoError = FALSE );	virtual int Close();    virtual const char *GetTableName()                           {return m_poDefn?m_poDefn->GetName():"";};    virtual int         TestCapability( const char * pszCap ) ;    virtual int         GetFeatureCount (int bForce);    virtual void        ResetReading();    virtual int         GetExtent(UGKEnvelope *psExtent, int bForce);    ///////////////    // Read access specific stuff    //        virtual int GetNextFeatureId(int nPrevId);    virtual TABFeature *GetFeatureRef(int nFeatureId);    virtual UGKFeatureDefn *GetLayerDefn();	virtual TABFieldType GetNativeFieldType(int nFieldId);    virtual int GetBounds(double &dXMin, double &dYMin,                           double &dXMax, double &dYMax,                          UGKBool bForce = TRUE );	//virtual USKSpatialReference *GetSpatialRef();    virtual int GetFeatureCountByType(int &numPoints, int &numLines,                                      int &numRegions, int &numTexts,                                      UGKBool bForce = TRUE);    virtual UGKBool IsFieldIndexed(int nFieldId);    virtual UGKBool IsFieldUnique(int nFieldId);    ///////////////    // Write access specific stuff    //    virtual int SetBounds(double dXMin, double dYMin,                           double dXMax, double dYMax);    virtual int SetFeatureDefn(UGKFeatureDefn *poFeatureDefn,                            TABFieldType *paeMapInfoNativeFieldTypes = NULL);    virtual int AddFieldNative(const char *pszName, TABFieldType eMapInfoType,                               int nWidth=0, int nPrecision=0,                               UGKBool bIndexed=FALSE, UGKBool bUnique=FALSE);    /* TODO */    //virtual int SetSpatialRef(UGKSpatialReference *poSpatialRef);    virtual int SetFeature(TABFeature *poFeature, int nFeatureId = -1);    virtual int SetFieldIndexed(int nFieldId);    ///////////////    // semi-private.    virtual int  GetProjInfo(TABProjInfo * /*poPI*/){return -1;}    /*  { return m_poMAPFile->GetHeaderBlock()->GetProjInfo( poPI ); }*/    virtual int  SetProjInfo(TABProjInfo * /*poPI*/){return -1;}    /*  { return m_poMAPFile->GetHeaderBlock()->SetProjInfo( poPI ); }*/    virtual int  SetMIFCoordSys(const char * pszMIFCoordSys);	virtual void Dump(FILE * /*fpOut*/ = NULL) {};};#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -