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

📄 shapefil.h

📁 用于读取TAB、MIF、SHP文件的类
💻 H
📖 第 1 页 / 共 2 页
字号:
    double	dfXMax;    double	dfYMax;    double	dfZMax;    double	dfMMax;    int		bMeasureIsUsed;} SHPObject;/* -------------------------------------------------------------------- *//*      SHP API Prototypes                                              *//* -------------------------------------------------------------------- */SHPHandle SHPAPI_CALL      SHPOpen( const char * pszShapeFile, const char * pszAccess );SHPHandle SHPAPI_CALL      SHPCreate( const char * pszShapeFile, int nShapeType );void SHPAPI_CALL      SHPGetInfo( SHPHandle hSHP, int * pnEntities, int * pnShapeType,                  double * padfMinBound, double * padfMaxBound );SHPObject SHPAPI_CALL1(*)      SHPReadObject( SHPHandle hSHP, int iShape );int SHPAPI_CALL      SHPWriteObject( SHPHandle hSHP, int iShape, SHPObject * psObject );void SHPAPI_CALL      SHPDestroyObject( SHPObject * psObject );void SHPAPI_CALL      SHPComputeExtents( SHPObject * psObject );SHPObject SHPAPI_CALL1(*)      SHPCreateObject( int nSHPType, int nShapeId, int nParts,                        const int * panPartStart, const int * panPartType,                       int nVertices,                        const double * padfX, const double * padfY,                       const double * padfZ, const double * padfM );SHPObject SHPAPI_CALL1(*)      SHPCreateSimpleObject( int nSHPType, int nVertices,                             const double * padfX,                              const double * padfY,                              const double * padfZ );int SHPAPI_CALL      SHPRewindObject( SHPHandle hSHP, SHPObject * psObject );void SHPAPI_CALL SHPClose( SHPHandle hSHP );void SHPAPI_CALL SHPWriteHeader( SHPHandle hSHP );const char SHPAPI_CALL1(*)      SHPTypeName( int nSHPType );const char SHPAPI_CALL1(*)      SHPPartTypeName( int nPartType );/* -------------------------------------------------------------------- *//*      Shape quadtree indexing API.                                    *//* -------------------------------------------------------------------- *//* this can be two or four for binary or quad tree */#define MAX_SUBNODE	4typedef struct shape_tree_node{    /* region covered by this node */    double	adfBoundsMin[4];    double	adfBoundsMax[4];    /* list of shapes stored at this node.  The papsShapeObj pointers       or the whole list can be NULL */    int		nShapeCount;    int		*panShapeIds;    SHPObject   **papsShapeObj;    int		nSubNodes;    struct shape_tree_node *apsSubNode[MAX_SUBNODE];    } SHPTreeNode;typedef struct{    SHPHandle   hSHP;        int		nMaxDepth;    int		nDimension;    int         nTotalCount;        SHPTreeNode	*psRoot;} SHPTree;SHPTree SHPAPI_CALL1(*)      SHPCreateTree( SHPHandle hSHP, int nDimension, int nMaxDepth,                     double *padfBoundsMin, double *padfBoundsMax );void    SHPAPI_CALL      SHPDestroyTree( SHPTree * hTree );int	SHPAPI_CALL      SHPWriteTree( SHPTree *hTree, const char * pszFilename );SHPTree SHPAPI_CALL      SHPReadTree( const char * pszFilename );int	SHPAPI_CALL      SHPTreeAddObject( SHPTree * hTree, SHPObject * psObject );int	SHPAPI_CALL      SHPTreeAddShapeId( SHPTree * hTree, SHPObject * psObject );int	SHPAPI_CALL      SHPTreeRemoveShapeId( SHPTree * hTree, int nShapeId );void 	SHPAPI_CALL      SHPTreeTrimExtraNodes( SHPTree * hTree );int    SHPAPI_CALL1(*)      SHPTreeFindLikelyShapes( SHPTree * hTree,                               double * padfBoundsMin,                               double * padfBoundsMax,                               int * );int     SHPAPI_CALL      SHPCheckBoundsOverlap( double *, double *, double *, double *, int );int SHPAPI_CALL1(*) SHPSearchDiskTree( FILE *fp,                    double *padfBoundsMin, double *padfBoundsMax,                   int *pnShapeCount );/************************************************************************//*                             DBF Support.                             *//************************************************************************/typedef	struct{    FILE	*fp;    int         nRecords;    int		nRecordLength;    int		nHeaderLength;    int		nFields;    int		*panFieldOffset;    int		*panFieldSize;    int		*panFieldDecimals;    char	*pachFieldType;    char	*pszHeader;    int		nCurrentRecord;    int		bCurrentRecordModified;    char	*pszCurrentRecord;    int         nWorkFieldLength;    char        *pszWorkField;        int		bNoHeader;    int		bUpdated;} DBFInfo;typedef DBFInfo * DBFHandle;typedef enum {  FTString,  FTInteger,  FTDouble,  FTLogical,
  FTDate,  FTInvalid} DBFFieldType;#define XBASE_FLDHDR_SZ       32DBFHandle SHPAPI_CALL      DBFOpen( const char * pszDBFFile, const char * pszAccess );DBFHandle SHPAPI_CALL      DBFCreate( const char * pszDBFFile );int	SHPAPI_CALL      DBFGetFieldCount( DBFHandle psDBF );int	SHPAPI_CALL      DBFGetRecordCount( DBFHandle psDBF );int	SHPAPI_CALL      DBFAddField( DBFHandle hDBF, const char * pszFieldName,                   DBFFieldType eType, int nWidth, int nDecimals );int	SHPAPI_CALL      DBFAddNativeFieldType( DBFHandle hDBF, const char * pszFieldName,                             char chType, int nWidth, int nDecimals );DBFFieldType SHPAPI_CALL      DBFGetFieldInfo( DBFHandle psDBF, int iField,                        char * pszFieldName, int * pnWidth, int * pnDecimals );int SHPAPI_CALL      DBFGetFieldIndex(DBFHandle psDBF, const char *pszFieldName);int 	SHPAPI_CALL      DBFReadIntegerAttribute( DBFHandle hDBF, int iShape, int iField );double 	SHPAPI_CALL      DBFReadDoubleAttribute( DBFHandle hDBF, int iShape, int iField );const char SHPAPI_CALL1(*)      DBFReadStringAttribute( DBFHandle hDBF, int iShape, int iField );const char SHPAPI_CALL1(*)      DBFReadLogicalAttribute( DBFHandle hDBF, int iShape, int iField );
//const char SHPAPI_CALL1(*)
//	  DBFReadStringAttribute( DBFHandle psDBF, int iRecord, int iField );int     SHPAPI_CALL      DBFIsAttributeNULL( DBFHandle hDBF, int iShape, int iField );int SHPAPI_CALL      DBFWriteIntegerAttribute( DBFHandle hDBF, int iShape, int iField,                                 int nFieldValue );int SHPAPI_CALL      DBFWriteDoubleAttribute( DBFHandle hDBF, int iShape, int iField,                               double dFieldValue );int SHPAPI_CALL      DBFWriteStringAttribute( DBFHandle hDBF, int iShape, int iField,                               const char * pszFieldValue );int SHPAPI_CALL     DBFWriteNULLAttribute( DBFHandle hDBF, int iShape, int iField );int SHPAPI_CALL     DBFWriteLogicalAttribute( DBFHandle hDBF, int iShape, int iField,			       const char lFieldValue);
//int SHPAPI_CALL
//	 DBFWriteDateAttribute( DBFHandle psDBF, int iRecord, int iField,
//                         const char * pszValue );
int SHPAPI_CALL     DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, int iField,                               void * pValue );const char SHPAPI_CALL1(*)      DBFReadTuple(DBFHandle psDBF, int hEntity );int SHPAPI_CALL      DBFWriteTuple(DBFHandle psDBF, int hEntity, void * pRawTuple );int SHPAPI_CALL DBFIsRecordDeleted( DBFHandle psDBF, int iShape );int SHPAPI_CALL DBFMarkRecordDeleted( DBFHandle psDBF, int iShape,                                       int bIsDeleted );DBFHandle SHPAPI_CALL      DBFCloneEmpty(DBFHandle psDBF, const char * pszFilename ); void	SHPAPI_CALL      DBFClose( DBFHandle hDBF );void    SHPAPI_CALL      DBFUpdateHeader( DBFHandle hDBF );char    SHPAPI_CALL      DBFGetNativeFieldType( DBFHandle hDBF, int iField );#ifdef __cplusplus}#endif#endif /* ndef _SHAPEFILE_H_INCLUDED */

⌨️ 快捷键说明

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