GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
shapefil.h File Reference
#include <stdio.h>
Include dependency graph for shapefil.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SAHooks
 
struct  SHPInfo
 
struct  SHPObject
 
struct  shape_tree_node
 
struct  SHPTree
 

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 SHPInfoSHPHandle
 
typedef struct shape_tree_node SHPTreeNode
 

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 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)
 
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_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{SAHooks sHooks;SAFile fp;intnRecords;intnRecordLength;intnHeaderLength;intnFields;int *panFieldOffset;int *panFieldSize;int *panFieldDecimals;char *pachFieldType;char *pszHeader;intnCurrentRecord;intbCurrentRecordModified;char *pszCurrentRecord;intnWorkFieldLength;char *pszWorkField;intbNoHeader;intbUpdated;doubledfDoubleField;}DBFInfo;typedef DBFInfo *DBFHandle;typedef enum{FTString, FTInteger, FTDouble, FTLogical, FTInvalid}DBFFieldType;#define XBASE_FLDHDR_SZDBFHandle SHPAPI_CALLDBFOpen(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 DBFCreateLL (const char *pszDBFFile, 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)
 
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)
 

Macro Definition Documentation

#define DISABLE_MULTIPATCH_MEASURE

Definition at line 129 of file shapefil.h.

Referenced by SHPWriteObject().

#define MAX_DEFAULT_TREE_DEPTH   12

Definition at line 366 of file shapefil.h.

#define MAX_SUBNODE   4

Definition at line 363 of file shapefil.h.

#define SHP_CVSID (   string)
Value:
static char cpl_cvsid[] = string; \
static char *cvsid_aw() { return( cvsid_aw() ? ((char *) NULL) : cpl_cvsid ); }
return NULL
Definition: dbfopen.c:1394

Definition at line 183 of file shapefil.h.

#define SHPAPI_CALL

Definition at line 170 of file shapefil.h.

#define SHPAPI_CALL1 (   x)    x SHPAPI_CALL

Definition at line 175 of file shapefil.h.

#define SHPP_FIRSTRING   4

Definition at line 270 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPP_INNERRING   3

Definition at line 269 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPP_OUTERRING   2

Definition at line 268 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPP_RING   5

Definition at line 271 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPP_TRIFAN   1

Definition at line 267 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPP_TRISTRIP   0

Definition at line 266 of file shapefil.h.

Referenced by SHPPartTypeName().

#define SHPT_ARC   3

Definition at line 247 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_ARCM   23

Definition at line 255 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_ARCZ   13

Definition at line 251 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_MULTIPATCH   31

Definition at line 258 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_MULTIPOINT   8

Definition at line 249 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_MULTIPOINTM   28

Definition at line 257 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_MULTIPOINTZ   18

Definition at line 253 of file shapefil.h.

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

#define SHPT_NULL   0

Definition at line 245 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_POINT   1

Definition at line 246 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_POINTM   21

Definition at line 254 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_POINTZ   11

Definition at line 250 of file shapefil.h.

Referenced by SHPTypeName(), and SHPWriteObject().

#define SHPT_POLYGON   5

Definition at line 248 of file shapefil.h.

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

#define SHPT_POLYGONM   25

Definition at line 256 of file shapefil.h.

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

#define SHPT_POLYGONZ   15

Definition at line 252 of file shapefil.h.

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

#define TRIM_DBF_WHITESPACE

Definition at line 122 of file shapefil.h.

#define XBASE_FLDHDR_SZ   32

Typedef Documentation

typedef int* SAFile

Definition at line 192 of file shapefil.h.

typedef unsigned long SAOffset

Definition at line 195 of file shapefil.h.

typedef SHPInfo* SHPHandle

Definition at line 240 of file shapefil.h.

typedef struct shape_tree_node SHPTreeNode

Function Documentation

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

Definition at line 630 of file dbfopen.c.

References DBFAddNativeFieldType().

int SHPAPI_CALL DBFAddNativeFieldType ( DBFHandle  hDBF,
const char *  pszFieldName,
char  chType,
int  nWidth,
int  nDecimals 
)

Definition at line 655 of file dbfopen.c.

References FALSE.

Referenced by DBFAddField().

DBFHandle SHPAPI_CALL DBFCloneEmpty ( DBFHandle  psDBF,
const char *  pszFilename 
)
void SHPAPI_CALL DBFClose ( DBFHandle  hDBF)

Definition at line 489 of file dbfopen.c.

References DBFUpdateHeader(), free(), and NULL.

DBFHandle SHPAPI_CALL DBFCreate ( const char *  pszDBFFile)

Definition at line 535 of file dbfopen.c.

References DBFCreateLL(), and SASetupDefaultHooks().

DBFHandle SHPAPI_CALL DBFCreateLL ( const char *  pszDBFFile,
SAHooks psHooks 
)

Definition at line 552 of file dbfopen.c.

References FALSE, SAHooks::FClose, SAHooks::FOpen, free(), SAHooks::FWrite, malloc(), NULL, sprintf(), and TRUE.

Referenced by DBFCreate().

int SHPAPI_CALL DBFGetFieldCount ( DBFHandle  psDBF)

Definition at line 957 of file dbfopen.c.

Referenced by DBFGetFieldIndex().

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

Definition at line 1486 of file dbfopen.c.

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

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

Definition at line 983 of file dbfopen.c.

References NULL.

Referenced by DBFGetFieldIndex().

char SHPAPI_CALL DBFGetNativeFieldType ( DBFHandle  hDBF,
int  iField 
)

Definition at line 1452 of file dbfopen.c.

int SHPAPI_CALL DBFGetRecordCount ( DBFHandle  psDBF)

Definition at line 970 of file dbfopen.c.

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

Definition at line 906 of file dbfopen.c.

References DBFReadStringAttribute(), FALSE, NULL, and TRUE.

int SHPAPI_CALL DBFIsRecordDeleted ( DBFHandle  psDBF,
int  iShape 
)

Definition at line 1515 of file dbfopen.c.

References FALSE, and TRUE.

int SHPAPI_CALL DBFMarkRecordDeleted ( DBFHandle  psDBF,
int  iShape,
int  bIsDeleted 
)

Definition at line 1540 of file dbfopen.c.

References FALSE, and TRUE.

DBFHandle SHPAPI_CALL DBFOpenLL ( const char *  pszDBFFile,
const char *  pszAccess,
SAHooks psHooks 
)

Definition at line 341 of file dbfopen.c.

References FALSE, SAHooks::FOpen, free(), malloc(), NULL, and sprintf().

Referenced by DBFOpen().

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

Definition at line 858 of file dbfopen.c.

References NULL.

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

Definition at line 838 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 
)
void SHPAPI_CALL DBFUpdateHeader ( DBFHandle  hDBF)

Definition at line 293 of file dbfopen.c.

Referenced by DBFClose().

int SHPAPI_CALL DBFWriteAttributeDirectly ( DBFHandle  psDBF,
int  hEntity,
int  iField,
void *  pValue 
)

Definition at line 1193 of file dbfopen.c.

References FALSE.

int SHPAPI_CALL DBFWriteDoubleAttribute ( DBFHandle  hDBF,
int  iShape,
int  iField,
double  dFieldValue 
)

Definition at line 1261 of file dbfopen.c.

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

Definition at line 1275 of file dbfopen.c.

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

Definition at line 1318 of file dbfopen.c.

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

Definition at line 1305 of file dbfopen.c.

References NULL.

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

Definition at line 1291 of file dbfopen.c.

SHPHandle SHPAPI_CALL SHPCreate ( const char *  pszShapeFile,
int  nShapeType 
)

Definition at line 789 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 SHPDestroyObject ( SHPObject psObject)
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 426 of file shpopen.c.

References SASetupDefaultHooks(), and SHPOpenLL().

SHPObject SHPAPI_CALL1* SHPReadObject ( SHPHandle  hSHP,
int  iShape 
)
SHPTree SHPAPI_CALL SHPReadTree ( const char *  pszFilename)
int SHPAPI_CALL1* SHPSearchDiskTree ( FILE *  fp,
double *  padfBoundsMin,
double *  padfBoundsMax,
int pnShapeCount 
) const
int SHPAPI_CALL SHPTreeAddObject ( SHPTree hTree,
SHPObject psObject 
)
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 
)