經濟不景氣讓這個炙熱的夏天依然寒風淩厲!
今天在群裡看到有人在問一個問題,如何使用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"
});
例子很簡單,運作結果如下:

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”
第二步、編寫代碼
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"
});
第三步、執行導出
這是隻有一個檔案夾叫做“tF1”的情況,如果是多個檔案夾會是什麼樣子呢?這裡我在根目錄中建立了一個檔案夾叫做“tF1”,如下圖
第二步、重新執行代碼
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"
});
第三步、檢視結果
根目錄下的檔案夾“tF1”中有檔案“tFcol1.geojson”
“tF”下的檔案夾中不存在
可以看到資料确實是隻導出到了根目錄中的檔案夾中。好了,這就是今天要講的内容。
大家如果有問題需要交流或者有項目需要合作,可以微信聯系我,加微信好友請留言加上“GEE”。 微信号:shi_weihappy