📄 mapinfofile.h
字号:
// mapinfofile.h: interface for the MapInfoFile class.///*--------------------------------------------------------------------- * class MapInfoFile * * Virtual base class for the TABFile class. * * This is the definition of the public interface methods that should * be available for any type of MapInfo dataset. *--------------------------------------------------------------------*/#ifndef MapInfoFile_H#define MapInfoFile_H#include "ugklayer.h"#include "tabfeature.h"class MapInfoFile : public UGKLayer {protected: int m_nCurFeatureId; TABFeature *m_poCurFeature; UGKBool m_bBoundsSet;public: MapInfoFile(); virtual ~MapInfoFile(); virtual TABFileClass GetFileClass() {return TABFC_MapInfoFile;} virtual int Open(const char *pszFname, const char *pszAccess, UGKBool bTestOpenNoError = FALSE ) = 0; virtual int Close() = 0; virtual const char *GetTableName() = 0; /////////////// // Static method to detect file type, create an object to read that // file and open it. static MapInfoFile *SmartOpen(const char *pszFname, UGKBool bTestOpenNoError = FALSE); virtual void ResetReading() = 0; virtual int GetFeatureCount (int bForce) = 0; virtual UGKFeature *GetNextFeature(); virtual UGKFeature *GetFeature(long nFeatureId); virtual UGKErr CreateFeature(UGKFeature *poFeature); virtual int TestCapability( const char * pszCap ) =0; virtual int GetExtent(UGKEnvelope *psExtent, int bForce) =0; /////////////// // Read access specific stuff // virtual int GetNextFeatureId(int nPrevId) = 0; virtual TABFeature *GetFeatureRef(int nFeatureId) = 0; virtual UGKFeatureDefn *GetLayerDefn() = 0; virtual TABFieldType GetNativeFieldType(int nFieldId) = 0; virtual int GetBounds(double &dXMin, double &dYMin, double &dXMax, double &dYMax, UGKBool bForce = TRUE ) = 0; virtual int GetFeatureCountByType(int &numPoints, int &numLines, int &numRegions, int &numTexts, UGKBool bForce = TRUE ) = 0; virtual UGKBool IsFieldIndexed(int nFieldId) = 0; virtual UGKBool IsFieldUnique(int nFieldId) = 0; /////////////// // Write access specific stuff // UGKBool IsBoundsSet() {return m_bBoundsSet;} virtual int SetBounds(double dXMin, double dYMin, double dXMax, double dYMax) = 0; virtual int SetFeatureDefn(UGKFeatureDefn *poFeatureDefn, TABFieldType *paeMapInfoNativeFieldTypes = NULL)=0; virtual int AddFieldNative(const char *pszName, TABFieldType eMapInfoType, int nWidth=0, int nPrecision=0, UGKBool bIndexed=FALSE, UGKBool bUnique=FALSE) = 0; virtual UGKErr CreateField( UGKFieldDefn *poField, int bApproxOK = TRUE ); virtual int SetFeature(TABFeature *poFeature, int nFeatureId = -1) = 0; virtual int SetFieldIndexed(int nFieldId) = 0; virtual int GetProjInfo(TABProjInfo *poPI) = 0; virtual int SetProjInfo(TABProjInfo *poPI) = 0; virtual int SetMIFCoordSys(const char *pszMIFCoordSys) = 0;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -