PIE-Engine 教程:水稻面积提取3—sentinel2合成月度影像宿迁市)
【摘要】
这里分别获取计算2019年和2020年LSWI、EVI两期影像的分析,这里我们有几个常用的函数其中过一个是构建影像集合的一个函数:
fromImages(images)
根据Image列表构建ImageCollection对象。
方法参数:
- imageCollection(ImageCollection)
ImageCol...
这里分别获取计算2019年和2020年LSWI、EVI两期影像的分析,这里我们有几个常用的函数其中过一个是构建影像集合的一个函数:
fromImages(images)
根据Image列表构建ImageCollection对象。
方法参数:
- imageCollection(ImageCollection)
ImageCollection实例。
- images(Array)
影像数据列表
返回值:ImageCollection
大家这里可能有点疑问关于代码中的分析,EVI影像的波段代码要divide(1000),因为这里的sentinel2的波段中每一个波长
名称 | 中心波长(nm) | 分辨率(m) | 描述信息 | |
---|---|---|---|---|
A | B | |||
B1 | 443.9 | 442.3 | 60 | Aerosols |
B2 | 496.6 | 492.1 | 10 | Blue |
B3 | 560 | 559 | 10 | Green |
B4 | 664.5 | 665 | 10 | Red |
B5 | 703.9 | 703.8 | 20 | Red Edge 1 |
B6 | 740.2 | 739.1 | 20 | Red Edge 2 |
B7 | 782.5 | 779.7 | 20 | Red Edge 3 |
B8 | 835.1 | 833 | 10 | NIR |
B8A | 864.8 | 864 | 20 | Red Edge 4 |
B9 | 945 | 943.2 | 60 | Water vapor |
B10 | 1373.5 | 1376.9 | 60 | Cirrus |
B11 | 1613.7 | 1610.4 | 20 | SWIR 1 |
B12 | 2202.4 | 2185.7 | 20 | SWIR 2 |
QA10 | 443.9 | 442.3 | 10 | -- |
QA20 | -- | -- | 20 | -- |
QA60 | -- | -- | 60 | -- |
Bitmask for QA60 | |
---|---|
|
代码:
-
/**
-
* @Name : 基于 PIE Engine Studio 的水稻自动提取
-
* @Author : 武汉大学VHR队
-
* @Desc : 淮安市水稻提取 - 合成sentinel2月度影像
-
* @Source : 航天宏图第四届 “航天宏图杯”PIE软件二次开发大赛云开发组三等奖获奖作品
-
*/
-
-
//3.合成sentinel2月度影像
-
//选择淮安市矢量
-
var roi = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY").filter(pie.Filter.eq('name', '淮安市')).first().geometry()
-
Map.centerObject(roi, 8)
-
Map.addLayer(roi)
-
-
//LSWI
-
function LSWI(image) {
-
var swir = image.select("B11")
-
var nir = image.select("B8")
-
var lswi = (nir.subtract(swir)).divide(nir.add(swir))
-
return image.addBands(lswi.rename("LSWI"));
-
}
-
//EVI
-
function EVI(image) {
-
var red = image.select("B4").divide(10000)
-
var nir = image.select("B5").divide(10000)
-
var blue = image.select("B2").divide(10000)
-
var evi = ((nir.subtract(red)).multiply(2.5))
-
.divide(nir.add(red.multiply(6)).subtract(blue.multiply(7.5)).add(1))
-
.multiply(10000)
-
return image.addBands(evi.rename("EVI"));
-
}
-
//去云处理
-
function maskS2clouds(image) {
-
//选择有关云掩膜的波段
-
var qa = image.select('QA60')
-
//位10和11分别代表云和卷云。
-
var cloudBitMask = 1 << 10;
-
var cirrusBitMask = 1 << 11;
-
// 将有关云的像元置为0
-
var mask = qa.bitwiseAnd(cloudBitMask).eq(0)
-
.and(qa.bitwiseAnd(cirrusBitMask).eq(0))
-
return image.updateMask(mask)
-
}
-
var area = pie.Geometry.Polygon([
-
[
-
[
-
118.33558377212347,
-
32.62288800615681
-
],
-
[
-
119.24768569883133,
-
32.62288800615681
-
],
-
[
-
119.24768569883133,
-
31.21438784070145
-
],
-
[
-
118.33558377212347,
-
31.21438784070145
-
],
-
[
-
118.33558377212347,
-
32.62288800615681
-
]
-
]
-
], null);
-
//合成lswi波段的月度影像(做这个实验时由于map函数存在问题不能同时进行两个波段计算,因此分开计算)
-
var lswi1 = pie.ImageCollection('S2/L1C')
-
.filterBounds(roi)
-
.filterDate("2019-12-1", "2019-12-31")
-
.select(['B2', 'B4', 'B8', 'B11', 'QA60'])
-
.map(maskS2clouds)
-
.map(LSWI)
-
.select(['LSWI'])
-
.mosaic()
-
.clip(roi)
-
var lswi2 = pie.ImageCollection('S2/L1C')
-
.filterBounds(roi)
-
.filterDate("2020-12-1", "2020-12-31")
-
.select(['B2', 'B4', 'B8', 'B11', 'QA60'])
-
.map(maskS2clouds)
-
.map(LSWI)
-
.select(['LSWI'])
-
.mosaic()
-
.clip(roi);
-
//合成evi波段的月度影像
-
var evi1 = pie.ImageCollection('S2/L1C')
-
.filterBounds(roi)
-
.filterDate("2019-12-1", "2019-12-31")
-
.select(['B2', 'B4', 'B8', 'B11', 'QA60'])
-
.map(maskS2clouds)
-
.map(EVI)
-
.select(['EVI'])
-
.mosaic()
-
.clip(roi)
-
var evi2 = pie.ImageCollection('S2/L1C')
-
.filterBounds(roi)
-
.filterDate("2020-12-1", "2020-12-31")
-
.select(['B2', 'B4', 'B8', 'B11', 'QA60'])
-
.map(maskS2clouds)
-
.map(EVI)
-
.select(['EVI'])
-
.mosaic()
-
.clip(roi);
-
//将2019年和2020年对应月份影像取均值合成
-
var lswi = pie.ImageCollection.fromImages([lswi1, lswi2]).mean()
-
var evi = pie.ImageCollection.fromImages([evi1, evi2]).mean()
-
var jan = lswi.addBands(evi);
-
//导出月度影像
-
Export.image({
-
image: jan,
-
description: 'jan',
-
assetId: "jan",
-
region: area,
-
scale: 30,
-
})
文章来源: blog.csdn.net,作者:此星光明,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_31988139/article/details/127038999
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)