天天看點

名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

經濟不景氣讓這個炙熱的夏天依然寒風淩厲!

今天在群裡看到有人在問一個問題,如何使用GEE把檔案導出到Google Drive的子目錄中?這裡我就簡單的說一下這個問題。

首先,在GEE中我們都知道了如何将資料導出導出Google Drive的檔案夾中,如下面的一個例子:

var geometry = /* color: #d63000 */ee.FeatureCollection( 
        [ee.Feature( 
            ee.Geometry.Point([-102.05546874999999, 40.40069505477473]), 
            { 
              "system:index": "0" 
            })]); 
Export.table.toDrive({ 
  collection: geometry, 
  description: "tFcol", 
  folder: "tF", 
  fileFormat: "GeoJSON" 
}); 
           

例子很簡單,運作結果如下:

名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

Google Drive中的資料

名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

這裡需要說明一下,在GEE中是無法直接建立我們看到的Google Drive中的子目錄的,GEE導出資料到Google Drive其實就是一個查找路徑的過程。

以上面例子為例,

第一種情況檔案夾不存在

(1)程式會周遊整個Google Drive的根目錄查找是否有檔案夾名稱叫做“tF”;

(2)程式就會在Google Drive根目錄也就是my-drive下面建立一個檔案夾叫做“tF”;

(3)将檔案導出到新建立的檔案夾中;

第二種情況檔案夾存在

(1)程式會周遊整個Google Drive的根目錄查找是否有檔案夾名稱叫做“tF”;

(2)程式會将找到的所有名叫“tF”的檔案夾排序,規則是先是父級别檔案夾,依次是子級别檔案夾;

(3)将檔案導出到排序後的第一個檔案夾内;

說了上面兩種情況,其實有的小夥伴應該已經明白了該如何導出檔案到子目錄中了。答案就是先建立一個子檔案夾目錄,然後直接導出檔案到指定的子目錄名稱就可以。下面具體說明一下:

第一步、我先在檔案夾“tF”中建立了一個檔案夾“tF1”

名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

第二步、編寫代碼

var geometry = /* color: #d63000 */ee.FeatureCollection( 
        [ee.Feature( 
            ee.Geometry.Point([-102.05546874999999, 40.40069505477473]), 
            { 
              "system:index": "0" 
            })]); 
// Export.table.toDrive({ 
//   collection: geometry, 
//   description: "tFcol", 
//   folder: "tF", 
//   fileFormat: "GeoJSON" 
// }); 

Export.table.toDrive({ 
  collection: geometry, 
  description: "tFcol", 
  folder: "tF1", 
  fileFormat: "GeoJSON" 
}); 
           
名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

第三步、執行導出

名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

這是隻有一個檔案夾叫做“tF1”的情況,如果是多個檔案夾會是什麼樣子呢?這裡我在根目錄中建立了一個檔案夾叫做“tF1”,如下圖

名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

第二步、重新執行代碼

var geometry = /* color: #d63000 */ee.FeatureCollection( 
        [ee.Feature( 
            ee.Geometry.Point([-102.05546874999999, 40.40069505477473]), 
            { 
              "system:index": "0" 
            })]); 
// Export.table.toDrive({ 
//   collection: geometry, 
//   description: "tFcol", 
//   folder: "tF", 
//   fileFormat: "GeoJSON" 
// }); 

// Export.table.toDrive({ 
//   collection: geometry, 
//   description: "tFcol", 
//   folder: "tF1", 
//   fileFormat: "GeoJSON" 
// }); 

Export.table.toDrive({ 
  collection: geometry, 
  description: "tFcol1", 
  folder: "tF1", 
  fileFormat: "GeoJSON" 
}); 
           
名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

第三步、檢視結果

根目錄下的檔案夾“tF1”中有檔案“tFcol1.geojson”

名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

“tF”下的檔案夾中不存在

名稱不存在或不是目錄_GEE學習筆記 五十六:GEE中如何把檔案導出到Google Drive的子目錄...

可以看到資料确實是隻導出到了根目錄中的檔案夾中。好了,這就是今天要講的内容。

大家如果有問題需要交流或者有項目需要合作,可以微信聯系我,加微信好友請留言加上“GEE”。 微信号:shi_weihappy