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

📄 ntf.h

📁 GIS系统支持库Geospatial Data Abstraction Library代码.GDAL is a translator library for raster geospatial dat
💻 H
📖 第 1 页 / 共 2 页
字号:
    void              ClearCGroup();    void              ClearDefs();    OGRNTFLayer       *apoTypeTranslation[100];    NTFRecordGrouper  pfnRecordGrouper;    int               anIndexSize[100];    NTFRecord         **apapoRecordIndex[100];    int               bIndexBuilt;    int               bIndexNeeded;    void              EstablishRasterAccess();    int               nRasterXSize;    int               nRasterYSize;    int               nRasterDataType;    double            adfGeoTransform[6];    OGRNTFRasterLayer *poRasterLayer;    long             *panColumnOffset;    int               bCacheLines;    int               nLineCacheSize;    OGRGeometry     **papoLineCache;  public:                      NTFFileReader( OGRNTFDataSource * );                      ~NTFFileReader();    int               Open( const char * pszFilename = NULL );    void              Close();    FILE              *GetFP() { return fp; }    void              GetFPPos( long *pnPos, long * pnFeatureId);    int               SetFPPos( long nPos, long nFeatureId );    void              Reset();    void              SetBaseFID( long nFeatureId );          OGRGeometry      *ProcessGeometry( NTFRecord *, int * = NULL );    OGRGeometry      *ProcessGeometry3D( NTFRecord *, int * = NULL );    int               ProcessAttDesc( NTFRecord *, NTFAttDesc * );    int               ProcessAttRec( NTFRecord *, int *, char ***, char ***);    int               ProcessAttRecGroup( NTFRecord **, char ***, char ***);    NTFAttDesc       *GetAttDesc( const char * );    void              ApplyAttributeValues( OGRFeature *, NTFRecord **, ... );         int               ApplyAttributeValue( OGRFeature *, int, const char *,                                           char **, char ** );        int               ProcessAttValue( const char *pszValType,                                        const char *pszRawValue,                                       char **ppszAttName,                                        char **ppszAttValue,                                       char **ppszCodeDesc );    int               TestForLayer( OGRNTFLayer * );    OGRFeature       *ReadOGRFeature( OGRNTFLayer * = NULL );    NTFRecord       **ReadRecordGroup();    NTFRecord        *ReadRecord();    void              SaveRecord( NTFRecord * );    void              DumpReadable( FILE * );    int               GetXYLen() { return nCoordWidth; }    double            GetXYMult() { return dfXYMult; }    double            GetXOrigin() { return dfXOrigin; }    double            GetYOrigin() { return dfYOrigin; }    double            GetZMult() { return dfZMult; }    const char       *GetTileName() { return pszTileName; }    const char       *GetFilename() { return pszFilename; }    int               GetNTFLevel() { return nNTFLevel; }    const char       *GetProduct() { return pszProduct; }    const char       *GetPVName() { return pszPVName; }    int               GetProductId() { return nProduct; }    double            GetScale() { return dfScale; }    double            GetPaperToGround() { return dfPaperToGround; }    int               GetFCCount() { return nFCCount; }    int               GetFeatureClass( int, char **, char ** );    void              OverrideTileName( const char * );    // Generic file index    void              IndexFile();    void              FreshenIndex();    void              DestroyIndex();    NTFRecord        *GetIndexedRecord( int, int );    NTFRecord       **GetNextIndexedRecordGroup( NTFRecord ** );    // Line geometry cache    OGRGeometry      *CacheGetByGeomId( int );    void              CacheAddByGeomId( int, OGRGeometry * );    void              CacheClean();    void              CacheLineGeometryInGroup( NTFRecord ** );    int               FormPolygonFromCache( OGRFeature * );    // just for use of OGRNTFDatasource    void              EstablishLayer( const char *, OGRwkbGeometryType,                                      NTFFeatureTranslator, int,                                      NTFGenericClass *, ... );    // Raster related    int               IsRasterProduct();    int               GetRasterXSize() { return nRasterXSize; }    int               GetRasterYSize() { return nRasterYSize; }    int               GetRasterDataType() { return nRasterDataType; }    double           *GetGeoTransform() { return adfGeoTransform; }    CPLErr            ReadRasterColumn( int, float * );    };/************************************************************************//*                             OGRNTFLayer                              *//************************************************************************/class OGRNTFLayer : public OGRLayer{    OGRFeatureDefn     *poFeatureDefn;    NTFFeatureTranslator pfnTranslator;    OGRNTFDataSource   *poDS;    int                 iCurrentReader;    long                nCurrentPos;    long                nCurrentFID;    public:                        OGRNTFLayer( OGRNTFDataSource * poDS,                                     OGRFeatureDefn * poFeatureDefine,                                     NTFFeatureTranslator pfnTranslator );                        ~OGRNTFLayer();    void                ResetReading();    OGRFeature *        GetNextFeature();#ifdef notdef        OGRFeature         *GetFeature( long nFeatureId );    OGRErr              SetFeature( OGRFeature *poFeature );    OGRErr              CreateFeature( OGRFeature *poFeature );#endif        OGRFeatureDefn *    GetLayerDefn() { return poFeatureDefn; }#ifdef notdef        int                 GetFeatureCount( int );#endif        int                 TestCapability( const char * );    virtual OGRSpatialReference *GetSpatialRef();    // special to NTF    OGRFeature         *FeatureTranslate( NTFFileReader *, NTFRecord ** );};/************************************************************************//*                       OGRNTFFeatureClassLayer                        *//************************************************************************/class OGRNTFFeatureClassLayer : public OGRLayer{    OGRFeatureDefn     *poFeatureDefn;    OGRGeometry        *poFilterGeom;    OGRNTFDataSource   *poDS;    int                 iCurrentFC;    public:                        OGRNTFFeatureClassLayer( OGRNTFDataSource * poDS );                        ~OGRNTFFeatureClassLayer();    OGRGeometry *       GetSpatialFilter() { return poFilterGeom; }    void                SetSpatialFilter( OGRGeometry * );    void                ResetReading();    OGRFeature *        GetNextFeature();    OGRFeature         *GetFeature( long nFeatureId );        OGRFeatureDefn *    GetLayerDefn() { return poFeatureDefn; }    int                 GetFeatureCount( int = TRUE );        int                 TestCapability( const char * );};/************************************************************************//*                          OGRNTFRasterLayer                           *//************************************************************************/class OGRNTFRasterLayer : public OGRLayer{    OGRFeatureDefn     *poFeatureDefn;    OGRGeometry        *poFilterGeom;    OGRNTFDataSource   *poDS;    NTFFileReader      *poReader;    float              *pafColumn;    int                 iColumnOffset;    int                 iCurrentFC;      int                 nDEMSample;    int                 nFeatureCount;      public:                        OGRNTFRasterLayer( OGRNTFDataSource * poDS,                                           NTFFileReader * poReaderIn );                        ~OGRNTFRasterLayer();    OGRGeometry *       GetSpatialFilter() { return poFilterGeom; }    void                SetSpatialFilter( OGRGeometry * );    void                ResetReading();    OGRFeature *        GetNextFeature();    OGRFeature         *GetFeature( long nFeatureId );        OGRFeatureDefn *    GetLayerDefn() { return poFeatureDefn; }    int                 GetFeatureCount( int = TRUE );        virtual OGRSpatialReference *GetSpatialRef();        int                 TestCapability( const char * );};/************************************************************************//*                           OGRNTFDataSource                           *//************************************************************************/class OGRNTFDataSource : public OGRDataSource{    char                *pszName;    int                 nLayers;    OGRLayer            **papoLayers;    OGRNTFFeatureClassLayer *poFCLayer;    int                 iCurrentFC;    int                 iCurrentReader;    long                nCurrentPos;    long                nCurrentFID;      int                 nNTFFileCount;    NTFFileReader       **papoNTFFileReader;    int                 nFCCount;    char              **papszFCNum;    char              **papszFCName;    OGRSpatialReference *poSpatialRef;    NTFGenericClass     aoGenericClass[100];    char                **papszOptions;    void                EnsureTileNameUnique( NTFFileReader * );      public:                        OGRNTFDataSource();                        ~OGRNTFDataSource();    void                SetOptionList( char ** );    const char         *GetOption( const char * );        int                 Open( const char * pszName, int bTestOpen = FALSE,                              char ** papszFileList = NULL );        const char          *GetName() { return pszName; }    int                 GetLayerCount();    OGRLayer            *GetLayer( int );    int                 TestCapability( const char * );    // Note: these are specific to NTF for now, but eventually might    // might be available as part of a more object oriented approach to    // features like that in FME or SFCORBA.    void                ResetReading();    OGRFeature *        GetNextFeature();    // these are only for the use of the NTFFileReader class.    OGRNTFLayer         *GetNamedLayer( const char * );    void                 AddLayer( OGRLayer * );    // Mainly for OGRNTFLayer class    int                  GetFileCount() { return nNTFFileCount; }    NTFFileReader       *GetFileReader(int i) { return papoNTFFileReader[i]; }    int                  GetFCCount() { return nFCCount; }    int                  GetFeatureClass( int, char **, char ** );    OGRSpatialReference *GetSpatialRef() { return poSpatialRef; }    NTFGenericClass     *GetGClass( int i ) { return aoGenericClass + i; }    void                WorkupGeneric( NTFFileReader * );    void                EstablishGenericLayers();};/************************************************************************//*                             OGRNTFDriver                             *//************************************************************************/class OGRNTFDriver : public OGRSFDriver{  public:                ~OGRNTFDriver();                    const char *GetName();    OGRDataSource *Open( const char *, int );    int                 TestCapability( const char * );};/************************************************************************//*                          Support functions.                          *//************************************************************************/int NTFArcCenterFromEdgePoints( double x_c0, double y_c0,                                double x_c1, double y_c1,                                 double x_c2, double y_c2,                                 double *x_center, double *y_center );OGRGeometry *NTFStrokeArcToOGRGeometry_Points( double dfStartX, double dfStartY,                                  double dfAlongX, double dfAlongY,                                  double dfEndX, double dfEndY,                                  int nVertexCount );OGRGeometry *NTFStrokeArcToOGRGeometry_Angles( double dfCenterX, double dfCenterY,                                   double dfRadius,                                   double dfStartAngle, double dfEndAngle,                                  int nVertexCount );#endif /* ndef _NTF_H_INCLUDED */

⌨️ 快捷键说明

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