GPSTK日誌四 通用時


            很開心樓主開始了第四個日誌的書寫,也希望大家能留言鼓勵下,也是能夠這枯燥的生活一些激情吧。另外樓主說明下,樓主爲了單點定位才學tk的。所以可能會按照自己需要的路線瞭解TK,大家如果有什麼更好的經驗過程,也希望能分享一下吧~國內的學術環境樓主不多做評價。

         在這之前先簡單的介紹先TK中定義的時間常量(TimeConstants.hpp)

      const double MJD_TO_JD = 2400000.5;   // 簡化儒略日和儒略日轉換常熟
         const long MJD_JDAY = 2400001L;       //這個暫不明白有什麼用
         const long GPS_EPOCH_JDAY = 2444245L;   //GPS時間系統起始曆元對應儒略日(1980.1.6)源文件中註釋爲1980-1-1
         const long GPS_EPOCH_MJD = 44244L;    //GPS時間系統起始曆元對應簡化儒略日
         const long UNIX_MJD = 40587L;       //Unix時間戳時期曆元對應簡化儒略日(1970.1.1)
         const long HALFWEEK = 302400L;   //GPS周對應秒的一半
         const long FULLWEEK = 604800L;   //GPS周對應的秒    7*24*3600
         const long WEEK_PER_EPOCH = 1024L;    //1024周(即7168天)爲GPS時間系統一循環週期  
         //一天和秒轉換常數
         const long SEC_PER_DAY = 86400L;  
         const double DAY_PER_SEC = 1.0/SEC_PER_DAY;   
          //秒和毫秒轉換常數        
         const long MS_PER_SEC = 1000L;  
         const double SEC_PER_MS = 1.0/MS_PER_SEC;
        //毫秒和一天轉換常熟 
        const long MS_PER_DAY = MS_PER_SEC * SEC_PER_DAY;
       const double DAY_PER_MS = 1.0/MS_PER_DAY;
       //z計數與一天、一週的轉換常數,z計數週期爲1.5s(參考P碼的產生)
       const long ZCOUNT_PER_DAY = 57600L;
       const double DAY_PER_ZCOUNT = 1.0/ZCOUNT_PER_DAY;
       const long ZCOUNT_PER_WEEK = 403200L;
       const double WEEK_PER_ZCOUNT = 1.0/ZCOUNT_PER_WEEK;

                汗,最後一個真是難倒樓主了。接下來撿重點講吧,commontime存儲的形式是天、毫秒、小數秒(注意小時秒的有效範圍0~0.001)這裏沒明白爲什麼要弄個毫秒去存儲,不過幸好所有的接口函數都是秒的,也就是說除非你直接調用commontime對象的毫秒對象,否則你所執行的操作都會是基於秒的。還真是不好說啊~~

直白點吧,所有函數參數列表中表示秒的參數單位都是秒,不是毫秒

              例如 CommonTime& CommonTime::addSeconds( long seconds ),記住這個地方你輸入的seconds 變量是秒,不是毫秒。真不明白爲嘛要設計個毫秒進來。

所有函數返回的表示秒的參數單位也是秒

            例如   double CommonTime::getSecondOfDay(),返回的double是多少秒。

不過有一個函數asstring()輸出的秒部分單位是毫秒。我想大概大家能理解了吧,實在不行就去看看源碼吧,so easy  O(∩_∩)O哈!

            關於重載要說的就是兩個CommonTime對象重載 包括: -,==,!=,<,>,<=,>=

            最後說下私有 normalize是檢查 CommonTime對象變量成員範圍是否合法的私有函數。

OK~講的可能不太好,希望下一個能夠給力點吧!

   



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章