今天遇到一個比較特別的問題,在windos中使用gdal拼接出的影像是正常的,但是把項目打包到linux上運行時,出現了數據丟失的情況,就在數據的最後,會有部分數據丟失。
首先分析,windows中運行沒有問題,只在linux出現了這個問題,首先考慮文件寫入時發生錯誤,因爲我們的經驗告訴我們,這種情況一般是由於文件io導致,所以鎖定問題所在,那麼嘗試解決,我們發現在每次寫入dataset中數據之後,我們沒有flushCache,而是在最後寫完所有的數據之後將數據刷新到磁盤,問題應該就是在這裏了,那麼我們加一行代碼,那就是在每次拼接完1000張就刷新到磁盤,這樣在windows中導致了拼接時間延長,在linux並沒有明顯的性能變化。