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 std::string CPL_DLL OGRMakeWktCoordinate(
double,
double,
double,
int,
OGRWktOptions opts );
91 void CPL_DLL OGRMakeWktCoordinateM(
char *,
double,
double,
double,
double,
OGRBoolean,
OGRBoolean );
96 void CPL_DLL OGRFormatDouble(
char *pszBuffer,
int nBufferLen,
double dfVal,
97 char chDecimalSep,
int nPrecision = 15,
char chConversionSpecifier =
'f' );
98 std::string CPL_DLL OGRFormatDouble(
double val,
const OGRWktOptions& opts);
100 int OGRFormatFloat(
char *pszBuffer,
int nBufferLen,
float fVal,
101 int nPrecision,
char chConversionSpecifier);
109 int CPL_DLL OGRGetDayOfWeek(
int day,
int month,
int year);
110 int CPL_DLL OGRParseXMLDateTime(
const char* pszXMLDateTime,
112 int CPL_DLL OGRParseRFC822DateTime(
const char* pszRFC822DateTime,
114 char CPL_DLL * OGRGetRFC822DateTime(
const OGRField* psField);
115 char CPL_DLL * OGRGetXMLDateTime(
const OGRField* psField);
116 char CPL_DLL * OGRGetXMLDateTime(
const OGRField* psField,
bool bAlwaysMillisecond);
117 char CPL_DLL * OGRGetXML_UTF8_EscapedString(
const char* pszString);
119 int OGRCompareDate(
const OGRField *psFirstTuple,
123 int 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
135 extern const char*
const SpecialFieldNames[SPECIAL_FIELD_COUNT];
137 #ifdef SWQ_H_INCLUDED_
138 extern const swq_field_type SpecialFieldTypes[SPECIAL_FIELD_COUNT];
145 OGRErr CPL_DLL OSRGetEllipsoidInfo(
int,
char **,
double *,
double *);
148 double OGRFastAtof(
const char* pszStr);
150 OGRErr 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);
166 OGRGeometry CPL_DLL *OGRGeometryFromEWKB(
GByte *pabyWKB,
int nLength,
int* pnSRID,
167 int bIsPostGIS1_EWKB );
168 OGRGeometry CPL_DLL *OGRGeometryFromHexEWKB(
const char *pszBytea,
int* pnSRID,
169 int bIsPostGIS1_EWKB );
170 char CPL_DLL * OGRGeometryToHexEWKB(
OGRGeometry * poGeometry,
int nSRSId,
171 int nPostGISMajor,
int nPostGISMinor );
177 OGRErr 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:334
OGRFieldSubType
List of field subtypes.
Definition: ogr_core.h:674
OGRwkbVariant
Output variants of WKB we support.
Definition: ogr_core.h:462
OGRFieldType
List of feature field types.
Definition: ogr_core.h:646
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:346
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:318
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:738