GRASS GIS 7 Programmer's Manual  7.5.svn(2017)-r71746
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
shapefil.h File Reference
#include <stdio.h>
Include dependency graph for shapefil.h:

Go to the source code of this file.

Data Structures

struct  SAHooks
 
struct  SHPInfo
 
struct  tagSHPObject
 
struct  shape_tree_node
 
struct  SHPTree
 
struct  DBFInfo
 

Macros

#define TRIM_DBF_WHITESPACE
 
#define DISABLE_MULTIPATCH_MEASURE
 
#define SHPAPI_CALL
 
#define SHPAPI_CALL1(x)   x SHPAPI_CALL
 
#define SHP_CVSID(string)
 
#define SHPT_NULL   0
 
#define SHPT_POINT   1
 
#define SHPT_ARC   3
 
#define SHPT_POLYGON   5
 
#define SHPT_MULTIPOINT   8
 
#define SHPT_POINTZ   11
 
#define SHPT_ARCZ   13
 
#define SHPT_POLYGONZ   15
 
#define SHPT_MULTIPOINTZ   18
 
#define SHPT_POINTM   21
 
#define SHPT_ARCM   23
 
#define SHPT_POLYGONM   25
 
#define SHPT_MULTIPOINTM   28
 
#define SHPT_MULTIPATCH   31
 
#define SHPP_TRISTRIP   0
 
#define SHPP_TRIFAN   1
 
#define SHPP_OUTERRING   2
 
#define SHPP_INNERRING   3
 
#define SHPP_FIRSTRING   4
 
#define SHPP_RING   5
 
#define MAX_SUBNODE   4
 
#define MAX_DEFAULT_TREE_DEPTH   12
 
#define XBASE_FLDHDR_SZ   32
 

Typedefs

typedef intSAFile
 
typedef unsigned long SAOffset
 
typedef struct tagSHPObject SHPObject
 
typedef SHPInfoSHPHandle
 
typedef struct shape_tree_node SHPTreeNode
 
typedef struct SBNSearchInfo * SBNSearchHandle
 
typedef DBFInfoDBFHandle
 

Enumerations

enum  DBFFieldType {
  FTString, FTInteger, FTDouble, FTLogical,
  FTInvalid
}
 

Functions

void SHPAPI_CALL SASetupDefaultHooks (SAHooks *psHooks)
 
SHPHandle SHPAPI_CALL SHPOpen (const char *pszShapeFile, const char *pszAccess)
 
SHPHandle SHPAPI_CALL SHPOpenLL (const char *pszShapeFile, const char *pszAccess, SAHooks *psHooks)
 
SHPHandle SHPAPI_CALL SHPOpenLLEx (const char *pszShapeFile, const char *pszAccess, SAHooks *psHooks, int bRestoreSHX)
 
int SHPAPI_CALL SHPRestoreSHX (const char *pszShapeFile, const char *pszAccess, SAHooks *psHooks)
 
void SHPAPI_CALL SHPSetFastModeReadObject (SHPHandle hSHP, int bFastMode)
 
SHPHandle SHPAPI_CALL SHPCreate (const char *pszShapeFile, int nShapeType)
 
SHPHandle SHPAPI_CALL SHPCreateLL (const char *pszShapeFile, int nShapeType, SAHooks *psHooks)
 
void SHPAPI_CALL SHPGetInfo (SHPHandle hSHP, int *pnEntities, int *pnShapeType, double *padfMinBound, double *padfMaxBound)
 
SHPObject SHPAPI_CALL1SHPReadObject (SHPHandle hSHP, int iShape);int SHPAPI_CALLSHPWriteObject(SHPHandle hSHP, int iShape, SHPObject *psObject
 
void SHPAPI_CALL SHPDestroyObject (SHPObject *psObject)
 
void SHPAPI_CALL SHPComputeExtents (SHPObject *psObject)
 
SHPObject SHPAPI_CALL1SHPCreateObject (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_CALL1SHPTypeName (int nSHPType);const char SHPAPI_CALL1(*) SHPPartTypeName(int nPartType
 
SHPTree SHPAPI_CALL1SHPCreateTree (SHPHandle hSHP, int nDimension, int nMaxDepth, double *padfBoundsMin, double *padfBoundsMax);voidSHPAPI_CALLSHPDestroyTree(SHPTree *hTree
 
int SHPAPI_CALL SHPWriteTree (SHPTree *hTree, const char *pszFilename)
 
int SHPAPI_CALL SHPTreeAddShapeId (SHPTree *hTree, SHPObject *psObject)
 
int SHPAPI_CALL SHPTreeRemoveShapeId (SHPTree *hTree, int nShapeId)
 
void SHPAPI_CALL SHPTreeTrimExtraNodes (SHPTree *hTree)
 
int SHPAPI_CALL1SHPTreeFindLikelyShapes (SHPTree *hTree, double *padfBoundsMin, double *padfBoundsMax, int *);intSHPAPI_CALLSHPCheckBoundsOverlap(double *, double *, double *, double *, int
 
int SHPAPI_CALL1SHPSearchDiskTree (FILE *fp, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount);typedef struct SHPDiskTreeInfo *SHPTreeDiskHandle;SHPTreeDiskHandle SHPAPI_CALLSHPOpenDiskTree(const char *pszQIXFilename, SAHooks *psHooks
 
void SHPAPI_CALL SHPCloseDiskTree (SHPTreeDiskHandle hDiskTree)
 
int SHPAPI_CALL1SHPSearchDiskTreeEx (SHPTreeDiskHandle hDiskTree, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount);int SHPAPI_CALLSHPWriteTreeLL(SHPTree *hTree, const char *pszFilename, SAHooks *psHooks
 
SBNSearchHandle SHPAPI_CALL SBNOpenDiskTree (const char *pszSBNFilename, SAHooks *psHooks)
 
void SHPAPI_CALL SBNCloseDiskTree (SBNSearchHandle hSBN)
 
int SHPAPI_CALL1SBNSearchDiskTree (SBNSearchHandle hSBN, double *padfBoundsMin, double *padfBoundsMax, int *pnShapeCount);int SHPAPI_CALL1(*) SBNSearchDiskTreeInteger(SBNSearchHandle hSBN, int bMinX, int bMinY, int bMaxX, int bMaxY, int *pnShapeCount
 
void SHPAPI_CALL SBNSearchFreeIds (int *panShapeId)
 
DBFHandle SHPAPI_CALL DBFOpen (const char *pszDBFFile, const char *pszAccess)
 
DBFHandle SHPAPI_CALL DBFOpenLL (const char *pszDBFFile, const char *pszAccess, SAHooks *psHooks)
 
DBFHandle SHPAPI_CALL DBFCreate (const char *pszDBFFile)
 
DBFHandle SHPAPI_CALL DBFCreateEx (const char *pszDBFFile, const char *pszCodePage)
 
DBFHandle SHPAPI_CALL DBFCreateLL (const char *pszDBFFile, const char *pszCodePage, SAHooks *psHooks)
 
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)
 
int SHPAPI_CALL DBFDeleteField (DBFHandle hDBF, int iField)
 
int SHPAPI_CALL DBFReorderFields (DBFHandle psDBF, int *panMap)
 
int SHPAPI_CALL DBFAlterFieldDefn (DBFHandle psDBF, int iField, 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_CALL1DBFReadStringAttribute (DBFHandle hDBF, int iShape, int iField);const char SHPAPI_CALL1(*) DBFReadLogicalAttribute(DBFHandle hDBF, int iShape, 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 DBFWriteAttributeDirectly (DBFHandle psDBF, int hEntity, int iField, void *pValue)
 
const char SHPAPI_CALL1DBFReadTuple (DBFHandle psDBF, int hEntity);int SHPAPI_CALLDBFWriteTuple(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)
 
const char SHPAPI_CALL1DBFGetCodePage (DBFHandle psDBF);void SHPAPI_CALLDBFSetLastModifiedDate(DBFHandle psDBF, int nYYSince1900, int nMM, int nDD
 

Macro Definition Documentation

#define DISABLE_MULTIPATCH_MEASURE

Definition at line 173 of file shapefil.h.

Referenced by SHPWriteObject().

#define MAX_DEFAULT_TREE_DEPTH   12

Definition at line 450 of file shapefil.h.

#define MAX_SUBNODE   4

Definition at line 447 of file shapefil.h.

#define SHP_CVSID (   string)
Value:
static const char cpl_cvsid[] = string; \
static const char *cvsid_aw() { return( cvsid_aw() ? NULL : cpl_cvsid ); }
#define NULL
Definition: ccmath.h:32

Definition at line 230 of file shapefil.h.

#define SHPAPI_CALL

Definition at line 214 of file shapefil.h.

#define SHPAPI_CALL1 (   x)    x SHPAPI_CALL

Definition at line 219 of file shapefil.h.

#define SHPP_FIRSTRING   4

Definition at line 339 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPP_INNERRING   3

Definition at line 338 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPP_OUTERRING   2

Definition at line 337 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPP_RING   5

Definition at line 340 of file shapefil.h.

Referenced by if(), and SHPPartTypeName().

#define SHPP_TRIFAN   1

Definition at line 336 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPP_TRISTRIP   0

Definition at line 335 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPT_ARC   3

Definition at line 316 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_ARCM   23

Definition at line 324 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_ARCZ   13

Definition at line 320 of file shapefil.h.

Referenced by if(), SHPTypeName(), and SHPWriteObject().

#define SHPT_MULTIPATCH   31

Definition at line 327 of file shapefil.h.

Referenced by if(), SHPTypeName(), and SHPWriteObject().

#define SHPT_MULTIPOINT   8

Definition at line 318 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_MULTIPOINTM   28

Definition at line 326 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_MULTIPOINTZ   18

Definition at line 322 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_NULL   0

Definition at line 314 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_POINT   1

Definition at line 315 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_POINTM   21

Definition at line 323 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_POINTZ   11

Definition at line 319 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_POLYGON   5

Definition at line 317 of file shapefil.h.

Referenced by SHPRewindObject(), SHPTypeName(), and SHPWriteObject().

#define SHPT_POLYGONM   25

Definition at line 325 of file shapefil.h.

Referenced by SHPRewindObject(), SHPTypeName(), and SHPWriteObject().

#define SHPT_POLYGONZ   15

Definition at line 321 of file shapefil.h.

Referenced by if(), SHPRewindObject(), SHPTypeName(), and SHPWriteObject().

#define TRIM_DBF_WHITESPACE

Definition at line 166 of file shapefil.h.

#define XBASE_FLDHDR_SZ   32

Definition at line 609 of file shapefil.h.

Typedef Documentation

typedef DBFInfo* DBFHandle

Definition at line 599 of file shapefil.h.

typedef int* SAFile

Definition at line 249 of file shapefil.h.

typedef unsigned long SAOffset

Definition at line 252 of file shapefil.h.

typedef struct SBNSearchInfo* SBNSearchHandle

Definition at line 533 of file shapefil.h.

typedef SHPInfo* SHPHandle

Definition at line 309 of file shapefil.h.

typedef struct tagSHPObject SHPObject

Definition at line 277 of file shapefil.h.

typedef struct shape_tree_node SHPTreeNode

Enumeration Type Documentation

Enumerator
FTString 
FTInteger 
FTDouble 
FTLogical 
FTInvalid 

Definition at line 601 of file shapefil.h.

Function Documentation

int SHPAPI_CALL DBFAddField ( DBFHandle  hDBF,
const char *  pszFieldName,
DBFFieldType  eType,
int  nWidth,
int  nDecimals 
)

Definition at line 809 of file dbfopen.c.

References DBFAddNativeFieldType(), FTLogical, and FTString.

DBFHandle SHPAPI_CALL DBFCloneEmpty ( DBFHandle  psDBF,
const char *  pszFilename 
)
DBFHandle SHPAPI_CALL DBFCreate ( const char *  pszDBFFile)

Definition at line 662 of file dbfopen.c.

References DBFCreateEx().

DBFHandle SHPAPI_CALL DBFCreateEx ( const char *  pszDBFFile,
const char *  pszCodePage 
)

Definition at line 675 of file dbfopen.c.

References DBFCreateLL(), and SASetupDefaultHooks().

Referenced by DBFCreate().

int SHPAPI_CALL DBFDeleteField ( DBFHandle  hDBF,
int  iField 
)
const char SHPAPI_CALL1* DBFGetCodePage ( DBFHandle  psDBF)

Definition at line 1810 of file dbfopen.c.

References NULL.

int SHPAPI_CALL DBFGetFieldCount ( DBFHandle  psDBF)

Definition at line 1225 of file dbfopen.c.

References DBFInfo::nFields.

Referenced by DBFGetFieldIndex().

int SHPAPI_CALL DBFGetFieldIndex ( DBFHandle  psDBF,
const char *  pszFieldName 
)

Definition at line 1714 of file dbfopen.c.

References DBFGetFieldCount(), DBFGetFieldInfo(), name, and NULL.

DBFFieldType SHPAPI_CALL DBFGetFieldInfo ( DBFHandle  psDBF,
int  iField,
char *  pszFieldName,
int pnWidth,
int pnDecimals 
)
char SHPAPI_CALL DBFGetNativeFieldType ( DBFHandle  hDBF,
int  iField 
)

Definition at line 1680 of file dbfopen.c.

References DBFInfo::pachFieldType.

int SHPAPI_CALL DBFGetRecordCount ( DBFHandle  psDBF)

Definition at line 1238 of file dbfopen.c.

References DBFInfo::nRecords.

int SHPAPI_CALL DBFIsAttributeNULL ( DBFHandle  hDBF,
int  iShape,
int  iField 
)

Definition at line 1205 of file dbfopen.c.

References DBFReadStringAttribute(), NULL, DBFInfo::pachFieldType, and TRUE.

int SHPAPI_CALL DBFIsRecordDeleted ( DBFHandle  psDBF,
int  iShape 
)

Definition at line 1743 of file dbfopen.c.

References FALSE, DBFInfo::nRecords, DBFInfo::pszCurrentRecord, and TRUE.

int SHPAPI_CALL DBFMarkRecordDeleted ( DBFHandle  psDBF,
int  iShape,
int  bIsDeleted 
)
DBFHandle SHPAPI_CALL DBFOpen ( const char *  pszDBFFile,
const char *  pszAccess 
)

Definition at line 395 of file dbfopen.c.

References DBFOpenLL(), and SASetupDefaultHooks().

double SHPAPI_CALL DBFReadDoubleAttribute ( DBFHandle  hDBF,
int  iShape,
int  iField 
)

Definition at line 1110 of file dbfopen.c.

References NULL.

int SHPAPI_CALL DBFReadIntegerAttribute ( DBFHandle  hDBF,
int  iShape,
int  iField 
)

Definition at line 1090 of file dbfopen.c.

References NULL.

const char SHPAPI_CALL1* DBFReadStringAttribute ( DBFHandle  hDBF,
int  iShape,
int  iField 
) const
const char SHPAPI_CALL1* DBFReadTuple ( DBFHandle  psDBF,
int  hEntity 
)
int SHPAPI_CALL DBFWriteAttributeDirectly ( DBFHandle  psDBF,
int  hEntity,
int  iField,
void *  pValue 
)
int SHPAPI_CALL DBFWriteDoubleAttribute ( DBFHandle  hDBF,
int  iShape,
int  iField,
double  dFieldValue 
)

Definition at line 1486 of file dbfopen.c.

int SHPAPI_CALL DBFWriteIntegerAttribute ( DBFHandle  hDBF,
int  iShape,
int  iField,
int  nFieldValue 
)

Definition at line 1500 of file dbfopen.c.

int SHPAPI_CALL DBFWriteLogicalAttribute ( DBFHandle  hDBF,
int  iShape,
int  iField,
const char  lFieldValue 
)

Definition at line 1543 of file dbfopen.c.

int SHPAPI_CALL DBFWriteNULLAttribute ( DBFHandle  hDBF,
int  iShape,
int  iField 
)

Definition at line 1530 of file dbfopen.c.

References NULL.

int SHPAPI_CALL DBFWriteStringAttribute ( DBFHandle  hDBF,
int  iShape,
int  iField,
const char *  pszFieldValue 
)

Definition at line 1516 of file dbfopen.c.

void SHPAPI_CALL SBNCloseDiskTree ( SBNSearchHandle  hSBN)
SBNSearchHandle SHPAPI_CALL SBNOpenDiskTree ( const char *  pszSBNFilename,
SAHooks psHooks 
)
int SHPAPI_CALL1* SBNSearchDiskTree ( SBNSearchHandle  hSBN,
double *  padfBoundsMin,
double *  padfBoundsMax,
int pnShapeCount 
)
void SHPAPI_CALL SBNSearchFreeIds ( int panShapeId)
void SHPAPI_CALL SHPCloseDiskTree ( SHPTreeDiskHandle  hDiskTree)
SHPHandle SHPAPI_CALL SHPCreate ( const char *  pszShapeFile,
int  nShapeType 
)

Definition at line 1173 of file shpopen.c.

References SASetupDefaultHooks(), and SHPCreateLL().

SHPHandle SHPAPI_CALL SHPCreateLL ( const char *  pszShapeFile,
int  nShapeType,
SAHooks psHooks 
)
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 
) const
SHPTree SHPAPI_CALL1* SHPCreateTree ( SHPHandle  hSHP,
int  nDimension,
int  nMaxDepth,
double *  padfBoundsMin,
double *  padfBoundsMax 
)
void SHPAPI_CALL SHPGetInfo ( SHPHandle  hSHP,
int pnEntities,
int pnShapeType,
double *  padfMinBound,
double *  padfMaxBound 
)
SHPHandle SHPAPI_CALL SHPOpen ( const char *  pszShapeFile,
const char *  pszAccess 
)

Definition at line 489 of file shpopen.c.

References SASetupDefaultHooks(), and SHPOpenLL().

SHPHandle SHPAPI_CALL SHPOpenLLEx ( const char *  pszShapeFile,
const char *  pszAccess,
SAHooks psHooks,
int  bRestoreSHX 
)

Definition at line 850 of file shpopen.c.

References NULL, SHPOpenLL(), and SHPRestoreSHX().

SHPObject SHPAPI_CALL1* SHPReadObject ( SHPHandle  hSHP,
int  iShape 
)
int SHPAPI_CALL SHPRestoreSHX ( const char *  pszShapeFile,
const char *  pszAccess,
SAHooks psHooks 
)
int SHPAPI_CALL SHPRewindObject ( SHPHandle  hSHP,
SHPObject psObject 
)
int SHPAPI_CALL1* SHPSearchDiskTree ( FILE *  fp,
double *  padfBoundsMin,
double *  padfBoundsMax,
int pnShapeCount 
) const
int SHPAPI_CALL1* SHPSearchDiskTreeEx ( SHPTreeDiskHandle  hDiskTree,
double *  padfBoundsMin,
double *  padfBoundsMax,
int pnShapeCount 
) const
void SHPAPI_CALL SHPSetFastModeReadObject ( SHPHandle  hSHP,
int  bFastMode 
)

Definition at line 1120 of file shpopen.c.

References SHPInfo::bFastModeReadObject, NULL, and SHPInfo::psCachedObject.

int SHPAPI_CALL SHPTreeAddShapeId ( SHPTree hTree,
SHPObject psObject 
)
int SHPAPI_CALL1* SHPTreeFindLikelyShapes ( SHPTree hTree,
double *  padfBoundsMin,
double *  padfBoundsMax,
int  
)
int SHPAPI_CALL SHPTreeRemoveShapeId ( SHPTree hTree,
int  nShapeId 
)
void SHPAPI_CALL SHPTreeTrimExtraNodes ( SHPTree hTree)
int SHPAPI_CALL SHPWriteTree ( SHPTree hTree,
const char *  pszFilename 
)