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 );
90std::string CPL_DLL OGRMakeWktCoordinate(
double,
double,
double,
int,
OGRWktOptions opts );
91void CPL_DLL OGRMakeWktCoordinateM(
char *,
double,
double,
double,
double,
OGRBoolean,
OGRBoolean );
96void CPL_DLL OGRFormatDouble(
char *pszBuffer,
int nBufferLen,
double dfVal,
97 char chDecimalSep,
int nPrecision = 15,
char chConversionSpecifier =
'f' );
98std::string CPL_DLL OGRFormatDouble(
double val,
const OGRWktOptions& opts);
100int OGRFormatFloat(
char *pszBuffer,
int nBufferLen,
float fVal,
101 int nPrecision,
char chConversionSpecifier);
109int CPL_DLL OGRGetDayOfWeek(
int day,
int month,
int year);
110int CPL_DLL OGRParseXMLDateTime(
const char* pszXMLDateTime,
112int CPL_DLL OGRParseRFC822DateTime(
const char* pszRFC822DateTime,
114char CPL_DLL * OGRGetRFC822DateTime(
const OGRField* psField);
115char CPL_DLL * OGRGetXMLDateTime(
const OGRField* psField);
116char CPL_DLL * OGRGetXMLDateTime(
const OGRField* psField,
bool bAlwaysMillisecond);
117char CPL_DLL * OGRGetXML_UTF8_EscapedString(
const char* pszString);
119int OGRCompareDate(
const OGRField *psFirstTuple,
123int CPL_DLL OGRGeneralCmdLineProcessor(
int nArgc,
char ***ppapszArgv,
int nOptions );
129#define SPF_OGR_GEOMETRY 1
130#define SPF_OGR_STYLE 2
131#define SPF_OGR_GEOM_WKT 3
132#define SPF_OGR_GEOM_AREA 4
133#define SPECIAL_FIELD_COUNT 5
135extern const char*
const SpecialFieldNames[SPECIAL_FIELD_COUNT];
137#ifdef SWQ_H_INCLUDED_
138extern const swq_field_type SpecialFieldTypes[SPECIAL_FIELD_COUNT];
145OGRErr CPL_DLL OSRGetEllipsoidInfo(
int,
char **,
double *,
double *);
148double OGRFastAtof(
const char* pszStr);
150OGRErr CPL_DLL OGRCheckPermutation(
const int* panPermutation,
int nSize);
155 int nPseudoBoolGetSecondaryGeometryOption,
157 int nSRSDimension = 0,
158 bool bIgnoreGSG =
false,
159 bool bOrientation =
true,
160 bool bFaceHoleNegative =
false);
166OGRGeometry CPL_DLL *OGRGeometryFromEWKB(
GByte *pabyWKB,
int nLength,
int* pnSRID,
167 int bIsPostGIS1_EWKB );
168OGRGeometry CPL_DLL *OGRGeometryFromHexEWKB(
const char *pszBytea,
int* pnSRID,
169 int bIsPostGIS1_EWKB );
170char CPL_DLL * OGRGeometryToHexEWKB(
OGRGeometry * poGeometry,
int nSRSId,
171 int nPostGISMajor,
int nPostGISMinor );
177OGRErr OGRReadWKBGeometryType(
const unsigned char * pabyData,
Definition of an attribute of an OGRFeatureDefn.
Definition ogr_feature.h:99
Abstract base class for all geometry classes.
Definition ogr_geometry.h:327
Simple container for a position.
Definition ogr_geometry.h:104
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:357
OGRFieldSubType
List of field subtypes.
Definition ogr_core.h:697
OGRwkbVariant
Output variants of WKB we support.
Definition ogr_core.h:485
OGRFieldType
List of feature field types.
Definition ogr_core.h:669
OGRwkbGeometryType
List of well known binary geometry types.
Definition ogr_core.h:369
int OGRErr
Type for a OGR error.
Definition ogr_core.h:341
Simple feature geometry classes.
Document node structure.
Definition cpl_minixml.h:70
Options for formatting WKT output.
Definition ogr_geometry.h:70
OGRFeature field attribute value union.
Definition ogr_core.h:761