00001 #ifndef __NLAPSFRMT_H 00002 #define __NLAPSFRMT_H 00003 00004 #include <string> 00005 #include <vector> 00006 #include <fstream> 00007 #include <proj_api.h> 00008 00009 #include "imageformat.h" 00010 00014 class NlapsFrmt : public ImageFormat { 00015 public: 00019 static const std::string GCTPProjMap[]; 00023 static const char* GCTPParmMap[][15]; 00024 00028 typedef struct { 00029 bool bsq; 00030 int gctpID; 00031 int utmz; 00032 std::string datum; 00033 double ul_lon; 00034 double ul_lat; 00035 } Header; 00036 00037 protected: 00038 std::string mText; 00039 Header mHead; 00040 std::vector<std::string> mBFNameSet; 00041 00042 std::vector<std::string> getValue( std::string id ); 00043 bool readFile( ); 00044 bool getToken( std::string str, 00045 const std::string delim, 00046 int n, 00047 std::string &tok ); 00048 00049 std::string trimStr( std::string str ); 00050 void fillHeader( ); 00051 void fillBandInf( ); 00052 00061 void fillImageInf( ); 00062 std::string formatDateTime( std::string ); 00063 double parseDeg( std::string deg ); 00064 std::vector<std::string> 00065 getProjParms( std::vector<std::string> &, int ); 00066 //projPJ createProj( int iband ); 00067 00068 public: 00069 00070 virtual bool open( std::string fname ); 00071 00072 virtual void* getBand( int iband, 00073 int x1, 00074 int y1, 00075 int w1, 00076 int h1, 00077 int w2, 00078 int h2, 00079 ScaleType st = SCALE_BI ) const; 00080 00081 virtual void getLL( int iband, 00082 double &i, 00083 double &j ); 00084 00085 virtual void getXY( int iband, 00086 double &i, 00087 double &j ); 00088 }; 00089 00090 #endif 00091 00092
Home |
Search |
Disclaimers & Privacy |
Contact Us GLIMSView Maintainer: dsoltesz@usgs.gov |