Rice area identification in Jianghuai plain by GEE scholars

Posted by lordfrikk on Sun, 12 Dec 2021 16:50:10 +0100

Mufeng GEE series column

It covers ecological environment, satellite remote sensing, climate change and cloud computing.

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.

Topics: Javascript cloud computing