C39 使用SAR监测金矿开采活动

主要内容:

  • 选择和创建多时相SAR合成影像。
  • 基于Sentinel-1图像的统计分析生成SAR变化检测。
  • 通过过滤最大面积斑块和森林/非森林和水体信息而产生的警报的后处理。

Section 1 :Sentinel-1 SAR GRD: C-band Synthetic Aperture Radar Ground Range Detected

                              C波段合成孔径雷达

 

Sentinel-1 SAR GRD数据在GEE存储方式有两种:

  • 第一种是logarithmic(对数的) scale (dB) ;
  • 第二种是the original values (power scale named as FLOAT).

注:将使用后者,因为数学运算不应应用于对数尺度上的数据。

 

1.哨兵1号SAR卫星

SENTINEL-1的使命:为需要长时间序列的业务和应用提供更高的重访频率、覆盖范围、及时性和可靠性。并提供业务化的干涉成像能力。Sentinel-1是由两颗相同的SAR卫星组成的星座。Sentine1-1A于2014年4月3日发射升空,Sentinel-1B于2016年4月25日发射升空。这两颗卫星在同一轨道平面上相距180度,可以实现最佳的全球覆盖和数据传输,可以在六天内对全球进行一次成像。不过Sentinel-1B星在2021年底因为电源故障无法使用了,目前欧空局准备再发一颗Sentinel-1C星进行替代目前Sentinel-1C应当是研制完成了,之前预计23年上半年发射,现在推迟到什么时候还不知道。

 

Sentinel-1主要应用于:

  • 北极海冰面积监测
  • 常规海冰测绘
  • 监测海洋环境,包括溢油监测
  • 用于海上安全的船舶检测
  • 监测地表板块运动风险
  • 森林、水和土壤管理制图
  • 绘制地图以支持人道主义援助和危机局势。

 (参考https://blog.csdn.net/lightninghenry/article/details/132758903)

 

 1.1 Creating a Single SAR Mosaic 创建单景的SAR合成影像

//====================================1.ROI=============================================
// 定义研究区
var aoi = ee.FeatureCollection('projects/gee-book/assets/A1-8/mdd'); 

Map.centerObject(aoi, 9); 
// 创建空的栅格图像 
var empty = ee.Image().byte(); 

//将研究区域转换为EE图像对象
var aoiOutline = empty.paint({ 
    featureCollection: aoi, 
    color: 1, 
    width: 2 
}); 


Map.setOptions('SATELLITE'); 

Map.addLayer(aoiOutline, { 
    palette: 'red' 
}, 'Area of Study'); 

//====================================2.合成SRA影像=============================================
//定义两个函数,第一个函数对入射角小于31°或大于45°的SAR图像进行掩模。
//第二个功能将Sentinel-1的图像过滤到特定的时间段、感兴趣的区域和轨道
function maskAngle(image) { 
    var angleMask = image.select('angle'); 
    return image.updateMask(angleMask.gte(31).and(angleMask.lte(45))) ; 
} 


function getCollection(dates, roi, orbitPass0) { 
    var sarCollFloat = ee.ImageCollection('COPERNICUS/S1_GRD_FLOAT') 
        .filterBounds(roi) 
        .filterDate(dates[0], dates[1]) 
        .filter(ee.Filter.eq('orbitProperties_pass', orbitPass0)); 
    return sarCollFloat.map(maskAngle).select(['VV', 'VH']); 
} 

 
var listOfDates = ['2021-08-01', '2021-08-12']; 
var orbitPass = 'DESCENDING'; 


var sarImageColl = getCollection(listOfDates, aoi, orbitPass) .mosaic() .clip(aoi); 
print('SAR Image Mosaic', sarImageColl); 

//应用对数缩放。
var sarImageScaled = sarImageColl.log10().multiply(10.0); 

var sarVis = { 
    bands: ['VV', 'VH', 'VV'], 
    min: [-18, -23, 3], 
    max: [-4, -11, 15] 
}; 

Map.addLayer(sarImageScaled, sarVis, 'Sentinel-1 / SAR Mosaic'); 

 

posted @ 2024-07-18 12:00  百里屠苏top  阅读(68)  评论(0)    收藏  举报