ogr_csv.h

来自「支持各种栅格图像和矢量图像读取的库」· C头文件 代码 · 共 136 行

H
136
字号
/****************************************************************************** * $Id: ogr_csv.h 10646 2007-01-18 02:38:10Z warmerdam $ * * Project:  CSV Translator * Purpose:  Definition of classes for OGR .csv driver. * Author:   Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 2004,  Frank Warmerdam * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. ****************************************************************************/#ifndef _OGR_CSV_H_INCLUDED#define _OGR_CSV_H_INLLUDED#include "ogrsf_frmts.h"class OGRCSVDataSource;/************************************************************************//*                             OGRCSVLayer                              *//************************************************************************/class OGRCSVLayer : public OGRLayer{    OGRFeatureDefn     *poFeatureDefn;    FILE               *fpCSV;    int                 nNextFID;    int                 bHasFieldNames;    OGRFeature *        GetNextUnfilteredFeature();    int                 bNew;    int                 bInWriteMode;    int                 bUseCRLF;    int                 bNeedRewind;  public:    OGRCSVLayer( const char *pszName, FILE *fp, const char *pszFilename,                                     int bNew, int bInWriteMode );  ~OGRCSVLayer();    void                ResetReading();    OGRFeature *        GetNextFeature();    OGRFeatureDefn *    GetLayerDefn() { return poFeatureDefn; }    void                SetSpatialFilter( OGRGeometry * ) {}    int                 TestCapability( const char * );    virtual OGRErr      CreateField( OGRFieldDefn *poField,                                     int bApproxOK = TRUE );    virtual OGRErr      CreateFeature( OGRFeature *poFeature );    void                SetCRLF(int);};/************************************************************************//*                           OGRCSVDataSource                           *//************************************************************************/class OGRCSVDataSource : public OGRDataSource{    char                *pszName;    OGRCSVLayer       **papoLayers;    int                 nLayers;    int                 bUpdate;      public:                        OGRCSVDataSource();                        ~OGRCSVDataSource();    int                 Open( const char * pszFilename,                              int bUpdate, int bForceAccept );    int                 OpenTable( const char * pszFilename );        const char          *GetName() { return pszName; }    int                 GetLayerCount() { return nLayers; }    OGRLayer            *GetLayer( int );    virtual OGRLayer   *CreateLayer( const char *pszName,                                      OGRSpatialReference *poSpatialRef = NULL,                                     OGRwkbGeometryType eGType = wkbUnknown,                                     char ** papszOptions = NULL );    virtual OGRErr      DeleteLayer(int);    int                 TestCapability( const char * );};/************************************************************************//*                             OGRCSVDriver                             *//************************************************************************/class OGRCSVDriver : public OGRSFDriver{  public:                ~OGRCSVDriver();                    const char *GetName();    OGRDataSource *Open( const char *, int );    OGRDataSource *CreateDataSource( const char *, char ** );    int         TestCapability( const char * );    virtual OGRErr      DeleteDataSource( const char *pszName );    };#endif /* ndef _OGR_CSV_H_INCLUDED */

⌨️ 快捷键说明

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