Mufeng GEE series column
It covers ecological environment, satellite remote sensing, climate change and cloud computing.
- Google Earth Engine series learning notes (I)
- Google Earth Engine series learning notes (II)
- Gee scholars visual time series agricultural landscape
- Supervised classification of satellite images based on GEE scholars machine learning
- Gee scholars water body dynamic monitoring - Henan flood case
preface
Sentinel-1 and Sentinel-2 satellites of the European Space Agency have high temporal and spatial resolution and are widely used in land use and change detection.
Based on the optical data and radar data of GEE cloud platform, this paper quickly obtains the rice planting area, so as to provide a basis for agricultural research.
Study area: Based on China's agricultural cropping system zoning data - rice wheat double cropping and early triple cropping area in Jianghuai plain
1, Sentinel-2 optical data processing
1. Define monitoring area
// var roi var JHPlain = Agr.filterBounds(point); print("featureCollection", JHPlain); Map.addLayer(JHPlain, {color: "red"}, "JHPlain"); Map.centerObject(JHPlain,8);
2. Define monitoring time
var startdate = ee.Date.fromYMD(2021,1,1); var enddate = ee.Date.fromYMD(2021,12,1);
3. Sentry data acquisition
// filter s2 data var Sentinel2 = s2.filterBounds(JHPlain) .filterDate(startdate, enddate) .filterBounds(JHPlain); // filter s1 data var Sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD') .filterBounds(JHPlain) .filterDate(startdate, enddate) .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')) .select('VV');
4. Data De cloud operation
// cloud function to remove clouds var cloudfunction_ST2 = function(image){ var quality = image.select("QA60").unmask(); var cloud01 = quality.gt(0); var cloudmask = image.mask().and(cloud01.not()); return image.updateMask(cloudmask); }; var ST2_nocloud = Sentinel2.map(cloudfunction_ST2); // take the median var st2median = ST2_nocloud.median();
5. Spectral index calculation
// the normalized difference bare index var ndbi = st2median.normalizedDifference(['B12', 'B8']); // the normalized difference vegetation index var ndvi = st2median.normalizedDifference(['B8', 'B4']); // the normalize difference water index var ndwi = st2median.normalizedDifference(['B3', 'B8']);
6. Threshold division
// define thresholds var bareThreshold = -0.32 var vegetationThreshold = 0.65 var waterThreshold = 0.2 // show the urban area var ndbi_th = ndbi.gt(bareThreshold) var myndbi = ndbi_th.updateMask(ndbi_th).clip(JHPlain) var ndbi_viz = {palette:"111101"}; Map.addLayer(myndbi, ndbi_viz, 'Urban'); // show the water areas var ndwi_th = ndwi.gt(waterThreshold) var myndwi = ndwi_th.updateMask(ndwi_th).clip(JHPlain) var ndwi_viz = {palette:"24069b"}; Map.addLayer(myndwi, ndwi_viz, 'Water'); // show the forests var ndvi_th = ndvi.gt(vegetationThreshold) var myndvi = ndvi_th.updateMask(ndvi_th).clip(JHPlain) var ndvi_viz = {palette:"006b0c"}; Map.addLayer(myndvi, ndvi_viz, 'Vegetation');
2, Sentinel-1 radar data processing
Rice identification rules: rice planting areas are extracted. However, due to the large amount of water in the paddy field at the transplanting stage and the small backscattering coefficient of the paddy field, the extracted areas also include swamps or wetlands, some water bodies and mountain shadow areas. On the basis of obtaining the area through rule 1, remove the water body with NDVI less than 0, and remove the bare land or low coverage area with NDVI range of 0-0.55. Due to the side view characteristics of SAR imaging, mountain shadows can be removed through DEM and slope data.
7. Dry wet difference
// create a map of the wet and dry conditions from sentinel-1 var wet = Sentinel1.reduce(ee.Reducer.percentile([10])) var dry = Sentinel1.reduce(ee.Reducer.percentile([90])) var paddies = wet.subtract(dry)
8. Extraction paddy field
var terrain = ee.Algorithms.Terrain(hydrosheds); var slope = terrain.select('slope'); paddies = paddies.updateMask(slope.lt(2)); var paddies_th = paddies.lt(paddies_th); var jhpaddies = paddies_th.updateMask(paddies_th).clip(JHPlain) Map.addLayer(jhpaddies, paddies_viz, 'Rice');
View the result chart:
summary
Based on GEE, this chapter uses sentinel satellite data to identify paddy fields in rice wheat double cropping and early triple cropping areas in the Jianghuai plain. Using a simple algorithm, threshold segmentation.
We look forward to sharing wonderful cases in the next issue. Welcome to exchange and study.
I am Mufeng, committed to creating a silky knowledge sharing, Mufeng integrating diligence, wisdom and handsome.
Warm tip: this column will be turned into a paid column in June next year. All profits will be donated to the project of hope primary school in mountainous area.