⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ogr_oci.h

📁 GIS系统支持库Geospatial Data Abstraction Library代码.GDAL is a translator library for raster geospatial dat
💻 H
📖 第 1 页 / 共 2 页
字号:
                                                  int nOrdCount);    int                 GetOrdinalPoint( int iOrdinal, int nDimension,                                         double *pdfX, double *pdfY,                                         double *pdfZ );  public:                        OGROCILayer();    virtual             ~OGROCILayer();    virtual void        ResetReading();    virtual OGRFeature *GetNextRawFeature();    virtual OGRFeature *GetNextFeature();    OGRFeatureDefn *    GetLayerDefn() { return poFeatureDefn; }    virtual int         TestCapability( const char * );    const char         *GetGeomName() { return pszGeomName; }    const char         *GetFIDName() { return pszFIDName; }    int                 LookupTableSRID();};/************************************************************************//*                         OGROCIWritableLayer                          *//************************************************************************/class OGROCIWritableLayer : public OGROCILayer{protected:    int                 nDimension;    int                 nSRID;    int                 nOrdinalCount;    int                 nOrdinalMax;    double             *padfOrdinals;    int                 nElemInfoCount;    int                 nElemInfoMax;    int                *panElemInfo;    void                PushOrdinal( double );    void                PushElemInfo( int, int, int );    OGRErr              TranslateToSDOGeometry( OGRGeometry *,                                                int *pnGType );    OGRErr              TranslateElementGroup( OGRGeometry *poGeometry );    int                 bLaunderColumnNames;    int                 bPreservePrecision;    OGRSpatialReference *poSRS;    char              **papszOptions;    int                 bTruncationReported;    void                ReportTruncation( OGRFieldDefn * );    void                ParseDIMINFO( const char *, double *, double *,                                      double * );                        OGROCIWritableLayer();    virtual            ~OGROCIWritableLayer();public:    virtual OGRSpatialReference *GetSpatialRef() { return poSRS; }    virtual OGRErr      CreateField( OGRFieldDefn *poField,                                     int bApproxOK = TRUE );    // following methods are not base class overrides    void                SetOptions( char ** );    void                SetDimension( int );    void                SetLaunderFlag( int bFlag )                                 { bLaunderColumnNames = bFlag; }    void                SetPrecisionFlag( int bFlag )                                 { bPreservePrecision = bFlag; }};/************************************************************************//*                          OGROCILoaderLayer                           *//************************************************************************/#define LDRM_UNKNOWN  0#define LDRM_STREAM   1#define LDRM_VARIABLE 2#define LDRM_BINARY   3class OGROCILoaderLayer : public OGROCIWritableLayer{    OGREnvelope         sExtent;    int                 iNextFIDToWrite;    char                *pszLoaderFilename;        FILE                *fpLoader;    int                 bHeaderWritten;    FILE                *fpData;    int                 nLDRMode;    void                WriteLoaderHeader();    void                FinalizeNewLayer();    OGRErr              WriteFeatureStreamMode( OGRFeature * );    OGRErr              WriteFeatureVariableMode( OGRFeature * );    OGRErr              WriteFeatureBinaryMode( OGRFeature * );  public:                        OGROCILoaderLayer( OGROCIDataSource *,                                           const char * pszName,                                           const char *pszGeomCol,                                            int nSRID,                                            const char *pszLoaderFile );                        ~OGROCILoaderLayer();    virtual void        ResetReading();    virtual int         GetFeatureCount( int );    virtual void        SetSpatialFilter( OGRGeometry * ) {}    virtual OGRErr      SetAttributeFilter( const char * )                                 { return OGRERR_UNSUPPORTED_OPERATION; }    virtual OGRFeature *GetNextFeature();    virtual OGRErr      CreateFeature( OGRFeature *poFeature );        virtual OGRSpatialReference *GetSpatialRef() { return poSRS; }    virtual int         TestCapability( const char * );};/************************************************************************//*                           OGROCITableLayer                            *//************************************************************************/class OGROCITableLayer : public OGROCIWritableLayer{    int                 bUpdateAccess;    int                 bNewLayer;    OGREnvelope         sExtent;    int                 iNextFIDToWrite;    int                 bHaveSpatialIndex;    OGRFeatureDefn     *ReadTableDefinition(const char *);    void                BuildWhere(void);    char               *BuildFields(void);    void                BuildFullQueryStatement(void);    char               *pszQuery;    char               *pszWHERE;    int                 bValidTable;    OCIArray           *hOrdVARRAY;    OCIArray           *hElemInfoVARRAY;    void                FinalizeNewLayer();    void                TestForSpatialIndex( const char * );    OGROCIStatement   *poBoundStatement;     int                 nWriteCacheMax;    int                 nWriteCacheUsed;    SDO_GEOMETRY_TYPE  *pasWriteGeoms;    SDO_GEOMETRY_TYPE **papsWriteGeomMap;    SDO_GEOMETRY_ind   *pasWriteGeomInd;    SDO_GEOMETRY_ind  **papsWriteGeomIndMap;        void              **papWriteFields;    OCIInd            **papaeWriteFieldInd;    int                *panWriteFIDs;    int                 AllocAndBindForWrite();    OGRErr              FlushPendingFeatures();    OGRErr              UnboundCreateFeature( OGRFeature *poFeature );    OGRErr              BoundCreateFeature( OGRFeature *poFeature );  public:                        OGROCITableLayer( OGROCIDataSource *,                                          const char * pszName,                                          int nSRID, int bUpdate, int bNew );                        ~OGROCITableLayer();    virtual void        ResetReading();    virtual int         GetFeatureCount( int );    virtual void        SetSpatialFilter( OGRGeometry * );    virtual OGRErr      SetAttributeFilter( const char * );    virtual OGRFeature *GetNextFeature();    virtual OGRFeature *GetFeature( long nFeatureId );    virtual OGRErr      SetFeature( OGRFeature *poFeature );    virtual OGRErr      CreateFeature( OGRFeature *poFeature );        virtual int         TestCapability( const char * );    virtual OGRErr      SyncToDisk();    // following methods are not base class overrides    int                 IsValid() { return bValidTable; }};/************************************************************************//*                          OGROCISelectLayer                           *//************************************************************************/class OGROCISelectLayer : public OGROCILayer{    OGRFeatureDefn     *ReadTableDefinition( OGROCIStatement * poStatement );  public:                        OGROCISelectLayer( OGROCIDataSource *,                                           const char * pszName,                                           OGROCIStatement *poStatement );                        ~OGROCISelectLayer();};/************************************************************************//*                           OGROCIDataSource                           *//************************************************************************/class OGROCIDataSource : public OGRDataSource{    OGROCILayer       **papoLayers;    int                 nLayers;        char               *pszName;    char               *pszDBName;    int                 bDSUpdate;    OGROCISession      *poSession;    // We maintain a list of known SRID to reduce the number of trips to    // the database to get SRSes.     int                 nKnownSRID;    int                *panSRID;    OGRSpatialReference **papoSRS;      public:                        OGROCIDataSource();                        ~OGROCIDataSource();    OGROCISession      *GetSession() { return poSession; }    int                 Open( const char *, int bUpdate, int bTestOpen );    int                 OpenTable( const char *pszTableName,                                    int nSRID, int bUpdate, int bTestOpen );    const char          *GetName() { return pszName; }    int                 GetLayerCount() { return nLayers; }    OGRLayer            *GetLayer( int );    virtual OGRLayer    *CreateLayer( const char *,                                       OGRSpatialReference * = NULL,                                      OGRwkbGeometryType = wkbUnknown,                                      char ** = NULL );    int                 TestCapability( const char * );    void                DeleteLayer( const char * );    void                ValidateLayer( const char * );        virtual OGRLayer *  ExecuteSQL( const char *pszSQLCommand,                                    OGRGeometry *poSpatialFilter,                                    const char *pszDialect );    virtual void        ReleaseResultSet( OGRLayer * poLayer );    int                 FetchSRSId( OGRSpatialReference * poSRS );    OGRSpatialReference *FetchSRS( int nSRID );};/************************************************************************//*                             OGROCIDriver                             *//************************************************************************/class OGROCIDriver : public OGRSFDriver{  public:                ~OGROCIDriver();                    const char *GetName();    OGRDataSource *Open( const char *, int );    virtual OGRDataSource *CreateDataSource( const char *pszName,                                             char ** = NULL );        int                 TestCapability( const char * );};#endif /* ndef _OGR_OCI_H_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -