📄 tabfile.h
字号:
// tabfile.h: interface for the TABFile class.////////////////////////////////////////////////////////////////////////#ifndef TABFile_H#define TABFile_H#include "mapinfofile.h"class TABFile : public MapInfoFile {private: char *m_pszFname; TABAccess m_eAccessMode; char **m_papszTABFile; int m_nVersion; char *m_pszCharset; int *m_panIndexNo; TABTableType m_eTableType; // NATIVE (.DAT) or DBF TABDATFile *m_poDATFile; // Attributes file --DAT file $zgq TABMAPFile *m_poMAPFile; // Object Geometry file --MAP file $zgq TABINDFile *m_poINDFile; // Attributes index file --IND file $zgq UGKFeatureDefn *m_poDefn; //UGKSpatialReference *m_poSpatialRef; int bUseSpatialTraversal; int m_nLastFeatureId; int ParseTABFileFirstPass(UGKBool bTestOpenNoError); int ParseTABFileFields(); int WriteTABFile();public: TABFile(); virtual ~TABFile(); virtual TABFileClass GetFileClass() {return TABFC_TABFile;} 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 void ResetReading(); virtual int TestCapability( const char * pszCap ); virtual int GetFeatureCount (int bForce); virtual int GetExtent(UGKEnvelope *psExtent, int bForce); int GetNextFeatureId_Spatial( int nPrevId ); 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 int GetFeatureCountByType(int &numPoints, int &numLines, int &numRegions, int &numTexts, UGKBool bForce = TRUE); virtual UGKBool IsFieldIndexed(int nFieldId); virtual UGKBool IsFieldUnique(int ) {return FALSE;}; 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); virtual int SetFeature(TABFeature *poFeature, int nFeatureId = -1); virtual int SetFieldIndexed(int nFieldId); virtual int GetProjInfo(TABProjInfo *poPI) { return m_poMAPFile->GetHeaderBlock()->GetProjInfo( poPI ); } virtual int SetProjInfo(TABProjInfo *poPI); virtual int SetMIFCoordSys(const char *pszMIFCoordSys); int GetFieldIndexNumber(int nFieldId); TABINDFile *GetINDFileRef(); TABMAPFile *GetMAPFileRef() { return m_poMAPFile; }; int SetUseSpatialIndex(UGKBool bUse){return bUseSpatialTraversal = bUse;};};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -