【PIE-Engine Studio学习笔记07】长时序影像数据动态显示-以Landsat数据为例

文章目录

  • 0.前言
  • 1. 代码示例
    • 1.1 代码展示
    • 1.2 运行结果
  • 2. 轻轻松松换个区域监测
  • 3.结束语
  • 4.参考资料

0.前言

来看一下今天要实现的案例,湖南卫视芒果台的一档节目,其中的一段视频介绍了遥感在考古中作用。

如果按照传统的方式的话,需要下载大量的影像、存储、以及数据预处理。然而,我们利用PIE-Engine Studio 遥感计算服务平台,我们就能免去以上这些繁琐的操作,可以快速实现某个区域的动态监测,并且做少量的修改就能够迁移到其他区域。

更多PIE-Engine Studio学习文章,请大家批判指正,共同学习:
【PIE-Engine Studio学习笔记01】简介和安装
【PIE-Engine Studio学习笔记02】加载矢量数据
【PIE-Engine Studio学习笔记03】加载栅格数据
【PIE-Engine Studio学习笔记04】上传本地数据和导出云端数据
【PIE-Engine Studio学习笔记05】图像分类——非监督分类
【PIE-Engine Studio学习笔记06】图像分类——监督分类

1. 代码示例

1.1 代码展示

// 1、定义矢量范围
var roi = pie.Geometry.Polygon([
    [
        [
            121.39569077003858,
            39.321525470976724
        ],
        [
            121.95838538332868,
            39.321525470976724
        ],
        [
            121.95838538332868,
            38.969949379129645
        ],
        [
            121.39569077003858,
            38.969949379129645
        ],
        [
            121.39569077003858,
            39.321525470976724
        ]
    ]
],null);
//加载显示研究区域
Map.addLayer(roi, {color: "red", fillColor:"00000000"}, "roi");
Map.centerObject(roi, 8);

//2、影像查询筛选
var layers = [];
var vis = {
    min:0,
    max:0.3,
    bands: ["B4","B3","B2"]};

for (var year=2013; year<=2021; year++) {
    //加载Landsat 8 SR
    var l8Col = pie.ImageCollection("LC08/02/SR")
                   .filterDate(year+"-01-01", year+"-12-31")
                   .filterBounds(roi)
                   .filter(pie.Filter.lte('cloud_cover', 10));
    var image = l8Col.select(["B4","B3","B2"]).median().clip(roi);
    image = image.select(["B4","B3","B2"]).multiply(0.0000275).subtract(0.2);
    layers.push({
        layer: image,
        name: year.toString(),
 		style: vis
    })
}

//3、动画显示
Map.playLayersAnimation(layers, 3, -1);function clickPauseBtn() {
    Map.pauseLayersAnimation();
}
var pause = ui.Button({
    label: "暂停",
    type: "info",
    onClick: clickPauseBtn,
});
print(pause);

1.2 运行结果

2. 轻轻松松换个区域监测

一般会比较关注某个行政区内部几年的动态变化。这里以河北省邯郸市为例,只需把1.1中的代码中【定义矢量范围】修改一下,就可以快速实现其他区域的遥感影像动态监测。

 var roi = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY")
                         .filter(pie.Filter.eq("name","邯郸市"))
                         .first()
                         .geometry();

如下图所:

3.结束语

欢迎批评指正,仅供学习交流,资料来源于网络,如有侵权请联系删除,可以关注微信公众号哦:【GeoLearning】,不定期分享一些好玩好用的东东,欢迎关注。

4.参考资料

PIE-Engine Studio帮助文档

你可能感兴趣的:(PIE-Engine,Studio,GIS,RS,学习,javascript)