GEE|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学习笔记 五十六(GEE中如何把文件导出到Google Drive的子目录)
文章图片

Google Drive中的数据
GEE|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学习笔记 五十六(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学习笔记 五十六(GEE中如何把文件导出到Google Drive的子目录)
文章图片


第三步、执行导出
GEE|GEE学习笔记 五十六(GEE中如何把文件导出到Google Drive的子目录)
文章图片



这是只有一个文件夹叫做“tF1”的情况,如果是多个文件夹会是什么样子呢?这里我在根目录中新建了一个文件夹叫做“tF1”,如下图
GEE|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学习笔记 五十六(GEE中如何把文件导出到Google Drive的子目录)
文章图片


第三步、查看结果
根目录下的文件夹“tF1”中有文件“tFcol1.geojson”
GEE|GEE学习笔记 五十六(GEE中如何把文件导出到Google Drive的子目录)
文章图片

“tF”下的文件夹中不存在
GEE|GEE学习笔记 五十六(GEE中如何把文件导出到Google Drive的子目录)
文章图片


可以看到数据确实是只导出到了根目录中的文件夹中。好了,这就是今天要讲的内容。

大家如果有问题需要交流或者有项目需要合作,可以微信联系我,加微信好友请留言加上“GEE”。
微信号:shi_weihappy



【GEE|GEE学习笔记 五十六(GEE中如何把文件导出到Google Drive的子目录)】

    推荐阅读