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
73const char CPL_DLL * OGRWktReadToken(
const char * pszInput,
char * pszToken );
75const char CPL_DLL * OGRWktReadPoints(
const char * pszInput,
81const char CPL_DLL * OGRWktReadPointsM(
const char * pszInput,
89void CPL_DLL OGRMakeWktCoordinate(
char *,
double,
double,
double,
int );
90void CPL_DLL OGRMakeWktCoordinateM(
char *,
double,
double,
double,
double,
OGRBoolean,
OGRBoolean );
94void OGRFormatDouble(
char *pszBuffer,
int nBufferLen,
double dfVal,
95 char chDecimalSep,
int nPrecision = 15,
char chConversionSpecifier =
'f' );
103int CPL_DLL OGRGetDayOfWeek(
int day,
int month,
int year);
104int CPL_DLL OGRParseXMLDateTime(
const char* pszXMLDateTime,
106int CPL_DLL OGRParseRFC822DateTime(
const char* pszRFC822DateTime,
108char CPL_DLL * OGRGetRFC822DateTime(
const OGRField* psField);
109char CPL_DLL * OGRGetXMLDateTime(
const OGRField* psField);
110char CPL_DLL * OGRGetXML_UTF8_EscapedString(
const char* pszString);
112int OGRCompareDate(
const OGRField *psFirstTuple,
116int 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
128extern const char*
const SpecialFieldNames[SPECIAL_FIELD_COUNT];
130#ifdef SWQ_H_INCLUDED_
131extern const swq_field_type SpecialFieldTypes[SPECIAL_FIELD_COUNT];
138OGRErr CPL_DLL OSRGetEllipsoidInfo(
int,
char **,
double *,
double *);
141double OGRFastAtof(
const char* pszStr);
143OGRErr 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);
159OGRGeometry CPL_DLL *OGRGeometryFromEWKB(
GByte *pabyWKB,
int nLength,
int* pnSRID,
160 int bIsPostGIS1_EWKB );
161OGRGeometry CPL_DLL *OGRGeometryFromHexEWKB(
const char *pszBytea,
int* pnSRID,
162 int bIsPostGIS1_EWKB );
163char CPL_DLL * OGRGeometryToHexEWKB(
OGRGeometry * poGeometry,
int nSRSId,
164 int nPostGISMajor,
int nPostGISMinor );
170OGRErr OGRReadWKBGeometryType(
const unsigned char * pabyData,
Definition of an attribute of an OGRFeatureDefn.
Definition: ogr_feature.h:93
Abstract base class for all geometry classes.
Definition: ogr_geometry.h:287
Simple container for a position.
Definition: ogr_geometry.h:64
Various convenience functions for CPL.
Definitions for CPL mini XML Parser/Serializer.
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:215
Various convenience functions for working with strings and string lists.
Core portability services for cross-platform OGR code.
int OGRBoolean
Type for a OGR boolean.
Definition: ogr_core.h:306
OGRFieldSubType
List of field subtypes.
Definition: ogr_core.h:623
OGRwkbVariant
Output variants of WKB we support.
Definition: ogr_core.h:424
OGRFieldType
List of feature field types.
Definition: ogr_core.h:595
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:318
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:290
Simple feature geometry classes.
Document node structure.
Definition: cpl_minixml.h:67
OGRFeature field attribute value union.
Definition: ogr_core.h:683