Skip to content
Snippets Groups Projects
Commit 383f72fa authored by Julien Michel's avatar Julien Michel
Browse files

MRG

parents 462dcaf2 97573bfb
No related branches found
No related tags found
No related merge requests found
#ifndef SHAPEFILE_H_INCLUDED
#define SHAPEFILE_H_INCLUDED
#ifndef _SHAPEFILE_H_INCLUDED
#define _SHAPEFILE_H_INCLUDED
/******************************************************************************
* $Id: shapefil.h 15715 2008-11-12 15:15:21Z warmerdam $
* $Id: shapefil.h 11039 2007-05-24 15:42:43Z gpotts $
*
* Project: Shapelib
* Purpose: Primary include file for Shapelib.
......@@ -16,7 +16,7 @@
* option is discussed in more detail in shapelib.html.
*
* --
*
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
......@@ -36,63 +36,12 @@
* DEALINGS IN THE SOFTWARE.
******************************************************************************
*
* $Log: shapefil.h,v $
* Revision 1.46 2008/11/12 14:28:15 fwarmerdam
* DBFCreateField() now works on files with records
*
* Revision 1.45 2008/11/11 17:47:10 fwarmerdam
* added DBFDeleteField() function
*
* Revision 1.44 2008/01/16 20:05:19 bram
* Add file hooks that accept UTF-8 encoded filenames on some platforms. Use SASetupUtf8Hooks
* tosetup the hooks and check SHPAPI_UTF8_HOOKS for its availability. Currently, this
* is only available on the Windows platform that decodes the UTF-8 filenames to wide
* character strings and feeds them to _wfopen and _wremove.
*
* Revision 1.43 2008/01/10 16:35:30 fwarmerdam
* avoid _ prefix on #defined symbols (bug 1840)
*
* Revision 1.42 2007/12/18 18:28:14 bram
* - create hook for client specific atof (bugzilla ticket 1615)
* - check for NULL handle before closing cpCPG file, and close after reading.
*
* Revision 1.41 2007/12/15 20:25:32 bram
* dbfopen.c now reads the Code Page information from the DBF file, and exports
* this information as a string through the DBFGetCodePage function. This is
* either the number from the LDID header field ("LDID/<number>") or as the
* content of an accompanying .CPG file. When creating a DBF file, the code can
* be set using DBFCreateEx.
*
* Revision 1.40 2007/12/06 07:00:25 fwarmerdam
* dbfopen now using SAHooks for fileio
*
* Revision 1.39 2007/12/04 20:37:56 fwarmerdam
* preliminary implementation of hooks api for io and errors
*
* Revision 1.38 2007/11/21 22:39:56 fwarmerdam
* close shx file in readonly mode (GDAL #1956)
* $Log$
* Revision 1.5 2005/10/08 12:57:26 gpotts
* Added adiitional patches
*
* Revision 1.37 2007/10/27 03:31:14 fwarmerdam
* limit default depth of tree to 12 levels (gdal ticket #1594)
*
* Revision 1.36 2007/09/10 23:33:15 fwarmerdam
* Upstreamed support for visibility flag in SHPAPI_CALL for the needs
* of GDAL (gdal ticket #1810).
*
* Revision 1.35 2007/09/03 19:48:10 fwarmerdam
* move DBFReadAttribute() static dDoubleField into dbfinfo
*
* Revision 1.34 2006/06/17 15:33:32 fwarmerdam
* added pszWorkField - bug 1202 (rso)
*
* Revision 1.33 2006/02/15 01:14:30 fwarmerdam
* added DBFAddNativeFieldType
*
* Revision 1.32 2006/01/26 15:07:32 fwarmerdam
* add bMeasureIsUsed flag from Craig Bruce: Bug 1249
*
* Revision 1.31 2006/01/05 01:27:27 fwarmerdam
* added dbf deletion mark/fetch
* Revision 1.14 2005/03/14 15:21:29 fwarmerdam
* updated
*
* Revision 1.30 2005/01/03 22:30:13 fwarmerdam
* added support for saved quadtrees
......@@ -120,6 +69,67 @@
*
* Revision 1.22 2002/01/15 14:32:00 warmerda
* try to improve SHPAPI_CALL docs
*
* Revision 1.21 2001/11/01 16:29:55 warmerda
* move pabyRec into SHPInfo for thread safety
*
* Revision 1.20 2001/07/20 13:06:02 warmerda
* fixed SHPAPI attribute for SHPTreeFindLikelyShapes
*
* Revision 1.19 2001/05/31 19:20:13 warmerda
* added DBFGetFieldIndex()
*
* Revision 1.18 2001/05/31 18:15:40 warmerda
* Added support for NULL fields in DBF files
*
* Revision 1.17 2001/05/23 13:36:52 warmerda
* added use of SHPAPI_CALL
*
* Revision 1.16 2000/09/25 14:15:59 warmerda
* added DBFGetNativeFieldType()
*
* Revision 1.15 2000/02/16 16:03:51 warmerda
* added null shape support
*
* Revision 1.14 1999/11/05 14:12:05 warmerda
* updated license terms
*
* Revision 1.13 1999/06/02 18:24:21 warmerda
* added trimming code
*
* Revision 1.12 1999/06/02 17:56:12 warmerda
* added quad'' subnode support for trees
*
* Revision 1.11 1999/05/18 19:11:11 warmerda
* Added example searching capability
*
* Revision 1.10 1999/05/18 17:49:38 warmerda
* added initial quadtree support
*
* Revision 1.9 1999/05/11 03:19:28 warmerda
* added new Tuple api, and improved extension handling - add from candrsn
*
* Revision 1.8 1999/03/23 17:22:27 warmerda
* Added extern "C" protection for C++ users of shapefil.h.
*
* Revision 1.7 1998/12/31 15:31:07 warmerda
* Added the TRIM_DBF_WHITESPACE and DISABLE_MULTIPATCH_MEASURE options.
*
* Revision 1.6 1998/12/03 15:48:15 warmerda
* Added SHPCalculateExtents().
*
* Revision 1.5 1998/11/09 20:57:16 warmerda
* Altered SHPGetInfo() call.
*
* Revision 1.4 1998/11/09 20:19:33 warmerda
* Added 3D support, and use of SHPObject.
*
* Revision 1.3 1995/08/23 02:24:05 warmerda
* Added support for reading bounds.
*
* Revision 1.2 1995/08/04 03:17:39 warmerda
* Added header.
*
*/
#include <stdio.h>
......@@ -130,7 +140,6 @@
#ifdef USE_CPL
#include "cpl_error.h"
#include "cpl_vsi.h"
#endif
#ifdef __cplusplus
......@@ -153,7 +162,7 @@ extern "C" {
/* is disabled. */
/* -------------------------------------------------------------------- */
#define DISABLE_MULTIPATCH_MEASURE
/* -------------------------------------------------------------------- */
/* SHPAPI_CALL */
/* */
......@@ -182,85 +191,53 @@ extern "C" {
/* after any "*"'s in the return value of a function while the */
/* __declspec(dllexport) must appear before them. */
/* -------------------------------------------------------------------- */
#include <ossim/base/ossimConstants.h>
#ifdef SHAPELIB_DLLEXPORT
# define SHPAPI_CALL __declspec(dllexport)
# define SHPAPI_CALL1(x) __declspec(dllexport) x
#ifdef OSSIMMAKINGDLL
# define ossim_SHPAPI_CALL OSSIM_DLL
# define ossim_SHPAPI_CALL1(x) OSSIM_DLL_DATA(x)
#endif
#ifndef SHPAPI_CALL
# if defined(USE_GCC_VISIBILITY_FLAG)
# define SHPAPI_CALL __attribute__ ((visibility("default")))
# define SHPAPI_CALL1(x) __attribute__ ((visibility("default"))) x
# else
# define SHPAPI_CALL
# endif
#ifndef ossim_SHPAPI_CALL
# define ossim_SHPAPI_CALL
#endif
#ifndef ossim_SHPAPI_CALL1
# define ossim_SHPAPI_CALL1(x) x ossim_SHPAPI_CALL
#endif
#ifndef SHPAPI_CALL1
# define SHPAPI_CALL1(x) x SHPAPI_CALL
#if 0
#ifdef SHAPELIB_DLLEXPORT
# define ossim_SHPAPI_CALL __declspec(dllexport)
# define ossim_SHPAPI_CALL1(x) __declspec(dllexport) x
#endif
#ifndef ossim_SHPAPI_CALL
# define ossim_SHPAPI_CALL
#endif
#ifndef ossim_SHPAPI_CALL1
# define ossim_SHPAPI_CALL1(x) x ossim_SHPAPI_CALL
#endif
#endif
/* -------------------------------------------------------------------- */
/* Macros for controlling CVSID and ensuring they don't appear */
/* as unreferenced variables resulting in lots of warnings. */
/* -------------------------------------------------------------------- */
#ifndef DISABLE_CVSID
# define SHP_CVSID(string) static char cpl_cvsid[] = string; \
# define ossim_SHP_CVSID(string) static char cpl_cvsid[] = string; \
static char *cvsid_aw() { return( cvsid_aw() ? ((char *) NULL) : cpl_cvsid ); }
#else
# define SHP_CVSID(string)
#endif
/* -------------------------------------------------------------------- */
/* On some platforms, additional file IO hooks are defined that */
/* UTF-8 encoded filenames Unicode filenames */
/* -------------------------------------------------------------------- */
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define SHPAPI_WINDOWS
# define SHPAPI_UTF8_HOOKS
#endif
/* -------------------------------------------------------------------- */
/* IO/Error hook functions. */
/* -------------------------------------------------------------------- */
typedef int *SAFile;
#ifndef SAOffset
typedef unsigned long SAOffset;
#endif
typedef struct {
SAFile (*FOpen) ( const char *filename, const char *access);
SAOffset (*FRead) ( void *p, SAOffset size, SAOffset nmemb, SAFile file);
SAOffset (*FWrite)( void *p, SAOffset size, SAOffset nmemb, SAFile file);
SAOffset (*FSeek) ( SAFile file, SAOffset offset, int whence );
SAOffset (*FTell) ( SAFile file );
int (*FFlush)( SAFile file );
int (*FClose)( SAFile file );
int (*Remove) ( const char *filename );
void (*Error) ( const char *message );
double (*Atof) ( const char *str );
} SAHooks;
void SHPAPI_CALL SASetupDefaultHooks( SAHooks *psHooks );
#ifdef SHPAPI_UTF8_HOOKS
void SHPAPI_CALL SASetupUtf8Hooks( SAHooks *psHooks );
# define ossim_SHP_CVSID(string)
#endif
/************************************************************************/
/* SHP Support. */
/* ossim_SHP Support. */
/************************************************************************/
typedef struct
{
SAHooks sHooks;
SAFile fpSHP;
SAFile fpSHX;
FILE *fpSHP;
FILE *fpSHX;
int nShapeType; /* SHPT_* */
int nFileSize; /* SHP file */
int nRecords;
......@@ -275,43 +252,43 @@ typedef struct
unsigned char *pabyRec;
int nBufSize;
} SHPInfo;
} ossim_SHPInfo;
typedef SHPInfo * SHPHandle;
typedef ossim_SHPInfo * ossim_SHPHandle;
/* -------------------------------------------------------------------- */
/* Shape types (nSHPType) */
/* -------------------------------------------------------------------- */
#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 ossim_SHPT_NULL 0
#define ossim_SHPT_POINT 1
#define ossim_SHPT_ARC 3
#define ossim_SHPT_POLYGON 5
#define ossim_SHPT_MULTIPOINT 8
#define ossim_SHPT_POINTZ 11
#define ossim_SHPT_ARCZ 13
#define ossim_SHPT_POLYGONZ 15
#define ossim_SHPT_MULTIPOINTZ 18
#define ossim_SHPT_POINTM 21
#define ossim_SHPT_ARCM 23
#define ossim_SHPT_POLYGONM 25
#define ossim_SHPT_MULTIPOINTM 28
#define ossim_SHPT_MULTIPATCH 31
/* -------------------------------------------------------------------- */
/* Part types - everything but SHPT_MULTIPATCH just uses */
/* SHPP_RING. */
/* Part types - everything but ossim_SHPT_MULTIPATCH just uses */
/* ossim_SHPP_RING. */
/* -------------------------------------------------------------------- */
#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 ossim_SHPP_TRISTRIP 0
#define ossim_SHPP_TRIFAN 1
#define ossim_SHPP_OUTERRING 2
#define ossim_SHPP_INNERRING 3
#define ossim_SHPP_FIRSTRING 4
#define ossim_SHPP_RING 5
/* -------------------------------------------------------------------- */
/* SHPObject - represents on shape (without attributes) read */
/* ossim_SHPObject - represents on shape (without attributes) read */
/* from the .shp file. */
/* -------------------------------------------------------------------- */
typedef struct
......@@ -323,7 +300,7 @@ typedef struct
int nParts;
int *panPartStart;
int *panPartType;
int nVertices;
double *padfX;
double *padfY;
......@@ -339,61 +316,50 @@ typedef struct
double dfYMax;
double dfZMax;
double dfMMax;
int bMeasureIsUsed;
} SHPObject;
} ossim_SHPObject;
/* -------------------------------------------------------------------- */
/* SHP API Prototypes */
/* ossim_SHP API Prototypes */
/* -------------------------------------------------------------------- */
/* If pszAccess is read-only, the fpSHX field of the returned structure */
/* will be NULL as it is not necessary to keep the SHX file open */
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,
ossim_SHPHandle ossim_SHPAPI_CALL
ossim_SHPOpen( const char * pszShapeFile, const char * pszAccess );
ossim_SHPHandle ossim_SHPAPI_CALL
ossim_SHPCreate( const char * pszShapeFile, int nShapeType );
void ossim_SHPAPI_CALL
ossim_SHPGetInfo( ossim_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,
ossim_SHPObject ossim_SHPAPI_CALL1(*)
ossim_SHPReadObject( ossim_SHPHandle hSHP, int iShape );
int ossim_SHPAPI_CALL
ossim_SHPWriteObject( ossim_SHPHandle hSHP, int iShape, ossim_SHPObject * psObject );
void ossim_SHPAPI_CALL
ossim_SHPDestroyObject( ossim_SHPObject * psObject );
void ossim_SHPAPI_CALL
ossim_SHPComputeExtents( ossim_SHPObject * psObject );
ossim_SHPObject ossim_SHPAPI_CALL1(*)
ossim_SHPCreateObject( int nSHPType, int nShapeId, int nParts,
const int * panPartStart, const int * panPartType,
int nVertices,
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,
ossim_SHPObject ossim_SHPAPI_CALL1(*)
ossim_SHPCreateSimpleObject( int nSHPType, int nVertices,
const double * padfX,
const double * padfY,
const double * padfZ );
int SHPAPI_CALL
SHPRewindObject( SHPHandle hSHP, SHPObject * psObject );
int ossim_SHPAPI_CALL
ossim_SHPRewindObject( ossim_SHPHandle hSHP, ossim_SHPObject * psObject );
void SHPAPI_CALL SHPClose( SHPHandle hSHP );
void SHPAPI_CALL SHPWriteHeader( SHPHandle hSHP );
void ossim_SHPAPI_CALL ossim_SHPClose( ossim_SHPHandle hSHP );
void ossim_SHPAPI_CALL ossim_SHPWriteHeader( ossim_SHPHandle hSHP );
const char SHPAPI_CALL1(*)
SHPTypeName( int nSHPType );
const char SHPAPI_CALL1(*)
SHPPartTypeName( int nPartType );
const char ossim_SHPAPI_CALL1(*)
ossim_SHPTypeName( int nSHPType );
const char ossim_SHPAPI_CALL1(*)
ossim_SHPPartTypeName( int nPartType );
/* -------------------------------------------------------------------- */
/* Shape quadtree indexing API. */
......@@ -402,9 +368,6 @@ const char SHPAPI_CALL1(*)
/* this can be two or four for binary or quad tree */
#define MAX_SUBNODE 4
/* upper limit of tree levels for automatic estimation */
#define MAX_DEFAULT_TREE_DEPTH 12
typedef struct shape_tree_node
{
/* region covered by this node */
......@@ -415,55 +378,55 @@ typedef struct shape_tree_node
or the whole list can be NULL */
int nShapeCount;
int *panShapeIds;
SHPObject **papsShapeObj;
ossim_SHPObject **papsShapeObj;
int nSubNodes;
struct shape_tree_node *apsSubNode[MAX_SUBNODE];
} SHPTreeNode;
} ossim_SHPTreeNode;
typedef struct
{
SHPHandle hSHP;
ossim_SHPHandle hSHP;
int nMaxDepth;
int nDimension;
int nTotalCount;
SHPTreeNode *psRoot;
} SHPTree;
SHPTree SHPAPI_CALL1(*)
SHPCreateTree( SHPHandle hSHP, int nDimension, int nMaxDepth,
ossim_SHPTreeNode *psRoot;
} ossim_SHPTree;
ossim_SHPTree ossim_SHPAPI_CALL1(*)
ossim_SHPCreateTree( ossim_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,
void ossim_SHPAPI_CALL
ossim_SHPDestroyTree( ossim_SHPTree * hTree );
int ossim_SHPAPI_CALL
ossim_SHPWriteTree( ossim_SHPTree *hTree, const char * pszFilename );
ossim_SHPTree ossim_SHPAPI_CALL
ossim_SHPReadTree( const char * pszFilename );
int ossim_SHPAPI_CALL
ossim_SHPTreeAddObject( ossim_SHPTree * hTree, ossim_SHPObject * psObject );
int ossim_SHPAPI_CALL
ossim_SHPTreeAddShapeId( ossim_SHPTree * hTree, ossim_SHPObject * psObject );
int ossim_SHPAPI_CALL
ossim_SHPTreeRemoveShapeId( ossim_SHPTree * hTree, int nShapeId );
void ossim_SHPAPI_CALL
ossim_SHPTreeTrimExtraNodes( ossim_SHPTree * hTree );
int ossim_SHPAPI_CALL1(*)
ossim_SHPTreeFindLikelyShapes( ossim_SHPTree * hTree,
double * padfBoundsMin,
double * padfBoundsMax,
int * );
int SHPAPI_CALL
SHPCheckBoundsOverlap( double *, double *, double *, double *, int );
int ossim_SHPAPI_CALL
ossim_SHPCheckBoundsOverlap( double *, double *, double *, double *, int );
int SHPAPI_CALL1(*)
SHPSearchDiskTree( FILE *fp,
int ossim_SHPAPI_CALL1(*)
ossim_SHPSearchDiskTree( FILE *fp,
double *padfBoundsMin, double *padfBoundsMax,
int *pnShapeCount );
......@@ -472,9 +435,7 @@ SHPSearchDiskTree( FILE *fp,
/************************************************************************/
typedef struct
{
SAHooks sHooks;
SAFile fp;
FILE *fp;
int nRecords;
......@@ -492,19 +453,11 @@ typedef struct
int bCurrentRecordModified;
char *pszCurrentRecord;
int nWorkFieldLength;
char *pszWorkField;
int bNoHeader;
int bUpdated;
} ossim_DBFInfo;
double dfDoubleField;
int iLanguageDriver;
char *pszCodePage;
} DBFInfo;
typedef DBFInfo * DBFHandle;
typedef ossim_DBFInfo * ossim_DBFHandle;
typedef enum {
FTString,
......@@ -512,98 +465,76 @@ typedef enum {
FTDouble,
FTLogical,
FTInvalid
} DBFFieldType;
} ossim_DBFFieldType;
#define XBASE_FLDHDR_SZ 32
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 );
DBFFieldType SHPAPI_CALL
DBFGetFieldInfo( DBFHandle psDBF, int iField,
ossim_DBFHandle ossim_SHPAPI_CALL
ossim_DBFOpen( const char * pszDBFFile, const char * pszAccess );
ossim_DBFHandle ossim_SHPAPI_CALL
ossim_DBFCreate( const char * pszDBFFile );
int ossim_SHPAPI_CALL
ossim_DBFGetFieldCount( ossim_DBFHandle psDBF );
int ossim_SHPAPI_CALL
ossim_DBFGetRecordCount( ossim_DBFHandle psDBF );
int ossim_SHPAPI_CALL
ossim_DBFAddField( ossim_DBFHandle hDBF, const char * pszFieldName,
ossim_DBFFieldType eType, int nWidth, int nDecimals );
ossim_DBFFieldType ossim_SHPAPI_CALL
ossim_DBFGetFieldInfo( ossim_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 );
int SHPAPI_CALL
DBFIsAttributeNULL( DBFHandle hDBF, int iShape, int iField );
int SHPAPI_CALL
DBFWriteIntegerAttribute( DBFHandle hDBF, int iShape, int iField,
int ossim_SHPAPI_CALL
ossim_DBFGetFieldIndex(ossim_DBFHandle psDBF, const char *pszFieldName);
int ossim_SHPAPI_CALL
ossim_DBFReadIntegerAttribute( ossim_DBFHandle hDBF, int iShape, int iField );
double ossim_SHPAPI_CALL
ossim_DBFReadDoubleAttribute( ossim_DBFHandle hDBF, int iShape, int iField );
const char ossim_SHPAPI_CALL1(*)
ossim_DBFReadStringAttribute( ossim_DBFHandle hDBF, int iShape, int iField );
const char ossim_SHPAPI_CALL1(*)
ossim_DBFReadLogicalAttribute( ossim_DBFHandle hDBF, int iShape, int iField );
int ossim_SHPAPI_CALL
ossim_DBFIsAttributeNULL( ossim_DBFHandle hDBF, int iShape, int iField );
int ossim_SHPAPI_CALL
ossim_DBFWriteIntegerAttribute( ossim_DBFHandle hDBF, int iShape, int iField,
int nFieldValue );
int SHPAPI_CALL
DBFWriteDoubleAttribute( DBFHandle hDBF, int iShape, int iField,
int ossim_SHPAPI_CALL
ossim_DBFWriteDoubleAttribute( ossim_DBFHandle hDBF, int iShape, int iField,
double dFieldValue );
int SHPAPI_CALL
DBFWriteStringAttribute( DBFHandle hDBF, int iShape, int iField,
int ossim_SHPAPI_CALL
ossim_DBFWriteStringAttribute( ossim_DBFHandle hDBF, int iShape, int iField,
const char * pszFieldValue );
int SHPAPI_CALL
DBFWriteNULLAttribute( DBFHandle hDBF, int iShape, int iField );
int ossim_SHPAPI_CALL
ossim_DBFWriteNULLAttribute( ossim_DBFHandle hDBF, int iShape, int iField );
int SHPAPI_CALL
DBFWriteLogicalAttribute( DBFHandle hDBF, int iShape, int iField,
int ossim_SHPAPI_CALL
ossim_DBFWriteLogicalAttribute( ossim_DBFHandle hDBF, int iShape, int iField,
const char lFieldValue);
int SHPAPI_CALL
DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, int iField,
int ossim_SHPAPI_CALL
ossim_DBFWriteAttributeDirectly(ossim_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 );
const char SHPAPI_CALL1(*)
DBFGetCodePage(DBFHandle psDBF );
const char ossim_SHPAPI_CALL1(*)
ossim_DBFReadTuple(ossim_DBFHandle psDBF, int hEntity );
int ossim_SHPAPI_CALL
ossim_DBFWriteTuple(ossim_DBFHandle psDBF, int hEntity, void * pRawTuple );
ossim_DBFHandle ossim_SHPAPI_CALL
ossim_DBFCloneEmpty(ossim_DBFHandle psDBF, const char * pszFilename );
void ossim_SHPAPI_CALL
ossim_DBFClose( ossim_DBFHandle hDBF );
void ossim_SHPAPI_CALL
ossim_DBFUpdateHeader( ossim_DBFHandle hDBF );
char ossim_SHPAPI_CALL
ossim_DBFGetNativeFieldType( ossim_DBFHandle hDBF, int iField );
#ifdef __cplusplus
}
#endif
#endif /* ndef SHAPEFILE_H_INCLUDED */
#endif /* ndef _SHAPEFILE_H_INCLUDED */
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment