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

📄 s57.h

📁 GIS系统支持库Geospatial Data Abstraction Library代码.GDAL is a translator library for raster geospatial dat
💻 H
📖 第 1 页 / 共 2 页
字号:
    int         GetOBJL();    const char *GetDescription();    const char *GetAcronym();    char      **GetAttributeList( const char * = NULL );    char        GetClassCode();    char      **GetPrimitives();    // attribute table methods.    int         GetMaxAttrIndex() { return nAttrMax; }    const char *GetAttrName( int i ) { return papszAttrNames[i]; }    const char *GetAttrAcronym( int i ) { return papszAttrAcronym[i]; }    char      **GetAttrValues( int i ) { return papapszAttrValues[i]; }    char        GetAttrType( int i ) { return pachAttrType[i]; }#define SAT_ENUM        'E'#define SAT_LIST        'L'#define SAT_FLOAT       'F'#define SAT_INT         'I'#define SAT_CODE_STRING 'A'#define SAT_FREE_TEXT   'S'    char        GetAttrClass( int i ) { return pachAttrClass[i]; }    int         FindAttrByAcronym( const char * );};/************************************************************************//*                            DDFRecordIndex                            *//*                                                                      *//*      Maintain an index of DDF records based on an integer key.       *//************************************************************************/typedef struct{    int         nKey;    DDFRecord   *poRecord;    void        *pClientData;} DDFIndexedRecord;class CPL_DLL DDFRecordIndex{    int         bSorted;    int         nRecordCount;    int         nRecordMax;    int         nLastObjlPos;            /* rjensen. added for FindRecordByObjl() */    int         nLastObjl;                  /* rjensen. added for FindRecordByObjl() */    DDFIndexedRecord *pasRecords;    void        Sort();public:                DDFRecordIndex();               ~DDFRecordIndex();    void        AddRecord( int nKey, DDFRecord * );    int         RemoveRecord( int nKey );    DDFRecord  *FindRecord( int nKey );    DDFRecord  *FindRecordByObjl( int nObjl );    /* rjensen. added for FindRecordByObjl() */    void        Clear();    int         GetCount() { return nRecordCount; }    DDFRecord  *GetByIndex( int i );    void        *GetClientInfoByIndex( int i );    void        SetClientInfoByIndex( int i, void *pClientInfo );};/************************************************************************//*                              S57Reader                               *//************************************************************************/class CPL_DLL S57Reader{    S57ClassRegistrar  *poRegistrar;    int                 nFDefnCount;    OGRFeatureDefn      **papoFDefnList;    OGRFeatureDefn      *apoFDefnByOBJL[MAX_CLASSES];    char                *pszModuleName;    char                *pszDSNM;    DDFModule           *poModule;    int                 nCOMF;  /* Coordinate multiplier */    int                 nSOMF;  /* Vertical (sounding) multiplier */    int                 bFileIngested;    DDFRecordIndex      oVI_Index;    DDFRecordIndex      oVC_Index;    DDFRecordIndex      oVE_Index;    DDFRecordIndex      oVF_Index;    int                 nNextVIIndex;    int                 nNextVCIndex;    int                 nNextVEIndex;    int                 nNextVFIndex;    int                 nNextFEIndex;    DDFRecordIndex      oFE_Index;    char                **papszOptions;    int                 nOptionFlags;     int                 iPointOffset;    OGRFeature          *poMultiPoint;    void                ClearPendingMultiPoint();    OGRFeature         *NextPendingMultiPoint();    OGRFeature         *AssembleFeature( DDFRecord  *, OGRFeatureDefn * );    void                ApplyObjectClassAttributes( DDFRecord *, OGRFeature *);    void                GenerateLNAMAndRefs( DDFRecord *, OGRFeature * );    void                GenerateFSPTAttributes( DDFRecord *, OGRFeature * );    void                AssembleSoundingGeometry( DDFRecord *, OGRFeature * );    void                AssemblePointGeometry( DDFRecord *, OGRFeature * );    void                AssembleLineGeometry( DDFRecord *, OGRFeature * );    void                AssembleAreaGeometry( DDFRecord *, OGRFeature * );    int                 FetchPoint( int, int,                                    double *, double *, double * = NULL );    int                 FetchLine( DDFRecord *, int, int, OGRLineString * );    OGRFeatureDefn     *FindFDefn( DDFRecord * );    int                 ParseName( DDFField *, int = 0, int * = NULL );    int                 ApplyRecordUpdate( DDFRecord *, DDFRecord * );    int                 bMissingWarningIssued;    int                 bAttrWarningIssued;  public:                        S57Reader( const char * );                       ~S57Reader();    void                SetClassBased( S57ClassRegistrar * );    void                SetOptions( char ** );    int                 GetOptionFlags() { return nOptionFlags; }    int                 Open( int bTestOpen );    void                Close();    DDFModule           *GetModule() { return poModule; }    const char          *GetDSNM() { return pszDSNM; }    void                Ingest();    int                 ApplyUpdates( DDFModule * );    int                 FindAndApplyUpdates( const char *pszPath=NULL );    void                Rewind();    OGRFeature          *ReadNextFeature( OGRFeatureDefn * = NULL );    OGRFeature          *ReadFeature( int nFID, OGRFeatureDefn * = NULL );    OGRFeature          *ReadVector( int nFID, int nRCNM );    int                 GetNextFEIndex( int nRCNM = 100 );    void                SetNextFEIndex( int nNewIndex, int nRCNM = 100 );    void                AddFeatureDefn( OGRFeatureDefn * );    int                 CollectClassList( int *, int);    OGRErr              GetExtent( OGREnvelope *psExtent, int bForce ); };/************************************************************************//*                              S57Writer                               *//************************************************************************/class CPL_DLL S57Writer{public:                        S57Writer();                        ~S57Writer();    void                SetClassBased( S57ClassRegistrar * );    int                 CreateS57File( const char *pszFilename );    int                 Close();    int                 WriteGeometry( DDFRecord *, int, double *, double *,                                       double * );    int                 WriteATTF( DDFRecord *, OGRFeature * );    int                 WritePrimitive( OGRFeature *poFeature );    int                 WriteCompleteFeature( OGRFeature *poFeature );    int                 WriteDSID( const char *pszDSNM = NULL,                                    const char *pszISDT = NULL,                                    const char *pszSTED = NULL,                                   int nAGEN = 0,                                   const char *pszCOMT = NULL );    int                 WriteDSPM( int nScale = 0 );private:    DDFModule           *poModule;    S57ClassRegistrar   *poRegistrar;    int                 nNext0001Index;    DDFRecord           *MakeRecord();    int                 nCOMF;  /* Coordinate multiplier */    int                 nSOMF;  /* Vertical (sounding) multiplier */};/* -------------------------------------------------------------------- *//*      Functions to create OGRFeatureDefns.                            *//* -------------------------------------------------------------------- */void           CPL_DLL  S57GenerateStandardAttributes( OGRFeatureDefn *, int );OGRFeatureDefn CPL_DLL *S57GenerateGeomFeatureDefn( OGRwkbGeometryType, int );OGRFeatureDefn CPL_DLL *S57GenerateObjectClassDefn( S57ClassRegistrar *,                                                     int, int );OGRFeatureDefn CPL_DLL  *S57GenerateVectorPrimitiveFeatureDefn( int, int );#endif /* ndef _S57_H_INCLUDED */

⌨️ 快捷键说明

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