31 #ifndef OGR_P_H_INCLUDED
32 #define OGR_P_H_INCLUDED
48 #define OGR_GEOMETRY_DEFAULT_NON_EMPTY_NAME "_ogr_geometry_"
51 # define OGR_SWAP(x) (x == wkbNDR)
53 # define OGR_SWAP(x) (x == wkbXDR)
57 #define POSTGIS15_CURVEPOLYGON 13
58 #define POSTGIS15_MULTICURVE 14
59 #define POSTGIS15_MULTISURFACE 15
62 #ifdef GDAL_COMPILATION
63 #define wkb25DBitInternalUse 0x80000000
70 #ifdef OGR_GEOMETRY_H_INCLUDED
71 #define OGR_WKT_TOKEN_MAX 64
73 const char CPL_DLL * OGRWktReadToken(
const char * pszInput,
char * pszToken );
75 const char CPL_DLL * OGRWktReadPoints(
const char * pszInput,
81 const char CPL_DLL * OGRWktReadPointsM(
const char * pszInput,
89 void CPL_DLL OGRMakeWktCoordinate(
char *,
double,
double,
double,
int );
90 void CPL_DLL OGRMakeWktCoordinateM(
char *,
double,
double,
double,
double,
OGRBoolean,
OGRBoolean );
94 void OGRFormatDouble(
char *pszBuffer,
int nBufferLen,
double dfVal,
95 char chDecimalSep,
int nPrecision = 15,
char chConversionSpecifier =
'f' );
103 int CPL_DLL OGRGetDayOfWeek(
int day,
int month,
int year);
104 int CPL_DLL OGRParseXMLDateTime(
const char* pszXMLDateTime,
106 int CPL_DLL OGRParseRFC822DateTime(
const char* pszRFC822DateTime,
108 char CPL_DLL * OGRGetRFC822DateTime(
const OGRField* psField);
109 char CPL_DLL * OGRGetXMLDateTime(
const OGRField* psField);
110 char CPL_DLL * OGRGetXML_UTF8_EscapedString(
const char* pszString);
112 int OGRCompareDate(
const OGRField *psFirstTuple,
116 int CPL_DLL OGRGeneralCmdLineProcessor(
int nArgc,
char ***ppapszArgv,
int nOptions );
122 #define SPF_OGR_GEOMETRY 1
123 #define SPF_OGR_STYLE 2
124 #define SPF_OGR_GEOM_WKT 3
125 #define SPF_OGR_GEOM_AREA 4
126 #define SPECIAL_FIELD_COUNT 5
128 extern const char*
const SpecialFieldNames[SPECIAL_FIELD_COUNT];
130 #ifdef SWQ_H_INCLUDED_
131 extern const swq_field_type SpecialFieldTypes[SPECIAL_FIELD_COUNT];
138 OGRErr CPL_DLL OSRGetEllipsoidInfo(
int,
char **,
double *,
double *);
141 double OGRFastAtof(
const char* pszStr);
143 OGRErr CPL_DLL OGRCheckPermutation(
int* panPermutation,
int nSize);
148 int nPseudoBoolGetSecondaryGeometryOption,
150 int nSRSDimension = 0,
151 bool bIgnoreGSG =
false,
152 bool bOrientation =
true,
153 bool bFaceHoleNegative =
false);
159 OGRGeometry CPL_DLL *OGRGeometryFromEWKB(
GByte *pabyWKB,
int nLength,
int* pnSRID,
160 int bIsPostGIS1_EWKB );
161 OGRGeometry CPL_DLL *OGRGeometryFromHexEWKB(
const char *pszBytea,
int* pnSRID,
162 int bIsPostGIS1_EWKB );
163 char CPL_DLL * OGRGeometryToHexEWKB(
OGRGeometry * poGeometry,
int nSRSId,
164 int nPostGISMajor,
int nPostGISMinor );
170 OGRErr OGRReadWKBGeometryType(
const unsigned char * pabyData,
@ CXT_Element
Definition: cpl_minixml.h:46
unsigned char GByte
Definition: cpl_port.h:215
size_t VSIFReadL(void *, size_t, size_t, VSILFILE *) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT
Read bytes from file.
Definition: cpl_vsil.cpp:1690
int GetWidth() const
Get the formatting width for this field.
Definition: ogr_feature.h:127
Definition: ogr_geometry.h:286
const char * CPLResetExtension(const char *, const char *)
Definition: cpl_path.cpp:431
Definition: ogrsf_frmts.h:70
Definition: ogr_miattrind.cpp:46
CPLXMLNode * CPLParseXMLString(const char *)
Parse an XML string into tree form.
Definition: cpl_minixml.cpp:614
Definition: ogr_miattrind.cpp:81
void * CPLRealloc(void *, size_t)
Definition: cpl_conv.cpp:225
Definition: cpl_minixml.h:66
#define EQUAL(a, b)
Definition: cpl_port.h:569
int VSIFCloseL(VSILFILE *) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT
Close file.
Definition: cpl_vsil.cpp:1472
const char * GetNameRef() const
Fetch name of this field.
Definition: ogr_feature.h:113
int OGRBoolean
Definition: ogr_core.h:306
#define CPLAssert(expr)
Definition: cpl_error.h:186
Definition: ogr_geometry.h:63
char * CPLSerializeXMLTree(const CPLXMLNode *psNode)
Convert tree into string document.
Definition: cpl_minixml.cpp:1252
Definition: ogr_core.h:683
#define OGRERR_UNSUPPORTED_OPERATION
Definition: ogr_core.h:296
vsi_l_offset VSIFTellL(VSILFILE *)
Tell current file offset.
Definition: cpl_vsil.cpp:1575
#define CPLE_OpenFailed
Definition: cpl_error.h:105
#define OGRERR_FAILURE
Definition: ogr_core.h:298
@ OFTString
Definition: ogr_core.h:600
void CPLDestroyXMLNode(CPLXMLNode *)
Destroy a tree.
Definition: cpl_minixml.cpp:1405
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:602
Definition: ogr_feature.h:92
@ OFTInteger
Definition: ogr_core.h:596
int VSIUnlink(const char *pszFilename)
Delete a file.
Definition: cpl_vsil.cpp:498
void * CPLMalloc(size_t)
Definition: cpl_conv.cpp:168
int VSIFSeekL(VSILFILE *, vsi_l_offset, int) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT
Seek to requested offset.
Definition: cpl_vsil.cpp:1532
const char * CPLSPrintf(const char *fmt,...)
Definition: cpl_string.cpp:977
const char * CPLGetXMLValue(const CPLXMLNode *poRoot, const char *pszPath, const char *pszDefault)
Fetch element/attribute value.
Definition: cpl_minixml.cpp:1638
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:308
GUIntBig vsi_l_offset
Definition: cpl_vsi.h:140
#define CPLE_NotSupported
Definition: cpl_error.h:109
OGRFieldType GetType() const
Fetch type of this field.
Definition: ogr_feature.h:115
CPLXMLNode * CPLCreateXMLNode(CPLXMLNode *poParent, CPLXMLNodeType eType, const char *pszText)
Create an document tree item.
Definition: cpl_minixml.cpp:1297
bool IsFieldSetAndNotNull(int iField) const
Test if a field is set and not null.
Definition: ogrfeature.cpp:1583
int OGRErr
Definition: ogr_core.h:290
long long GIntBig
Definition: cpl_port.h:248
OGRwkbGeometryType
Definition: ogr_core.h:317
struct CPLXMLNode * psNext
Next sibling.
Definition: cpl_minixml.h:106
OGRField * GetRawFieldRef(int i)
Fetch a pointer to the internal field value given the index.
Definition: ogr_feature.h:619
Definition: ogr_feature.h:354
OGRFieldSubType
Definition: ogr_core.h:622
VSILFILE * VSIFOpenL(const char *, const char *)
Open file.
Definition: cpl_vsil.cpp:997
OGRFieldType
Definition: ogr_core.h:594
@ OFTInteger64
Definition: ogr_core.h:608
CPLXMLNode * CPLCreateXMLElementAndValue(CPLXMLNode *psParent, const char *pszName, const char *pszValue)
Create an element and text value.
Definition: cpl_minixml.cpp:1844
#define OGRERR_NONE
Definition: ogr_core.h:292
char * CPLStrdup(const char *)
Definition: cpl_conv.cpp:293
struct CPLXMLNode * psChild
Child node.
Definition: cpl_minixml.h:118
@ OFTReal
Definition: ogr_core.h:598
#define OGRNullFID
Definition: ogr_core.h:650
#define CPLFree
Definition: cpl_conv.h:81
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Definition: cpl_port.h:997
const char * CPLGetFilename(const char *)
Definition: cpl_path.cpp:260
OGRwkbVariant
Definition: ogr_core.h:423
GIntBig GetFID() const
Get feature identifier.
Definition: ogr_feature.h:712
FILE VSILFILE
Definition: cpl_vsi.h:156
#define STARTS_WITH_CI(a, b)
Definition: cpl_port.h:580
#define CPLE_AppDefined
Definition: cpl_error.h:99
Generated for GDAL by
1.8.17.