一、GEE平台简介
GEE(Google Earth Engine)是Google推出的基于云计算的地理信息处理平台,提供了世界范围内包括高质量卫星图像、地形、气象数据等在内的数十PB级数据存储和高性能计算能力。
基于GEE平台,用户可以进行遥感影像获取、空间分析、模型构建等功能,广泛应用于林业、农业、城市规划等领域,提供了一种新型的数据驱动的科学研究方式。
二、GEE平台的数据源
GEE平台提供的数据源非常丰富,主要涵盖以下几个方面:
1.卫星图像
GEE平台提供了遥感卫星图像,包括Landsat、Sentinel等,可以快速获取任意区域及时间范围内的高质量遥感影像,并进行处理。
var image = ee.Image('LANDSAT/LC08/C01/T1/LC08_044034_20140318') .multiply(ee.Image(0.0001)); Map.addLayer(image, {}, 'Landsat 8 original');
2.地形数据
GEE平台提供了高分辨率的数字地形模型(DEM),由地球表面的高度信息构成。DEM数据可以用于遥感影像处理、地形分析等。
var elevation = ee.Image('USGS/SRTMGL1_003'); Map.addLayer(elevation, {min: 0, max: 3000}, 'SRTM elevation');
3.气象数据
GEE平台提供了全球各地的气象数据,包括降水量、温度等。这些数据可以方便地用于一些水文学、气候学等研究领域。
var precipitation = ee.ImageCollection('UCSB-CHG/CHIRPS/DAILY') .filterDate('2015-01-01', '2015-12-31') .select('precipitation') .sum(); Map.addLayer(precipitation, {min:0, max:3500}, 'Precipitation');
三、GEE平台的常用功能
GEE平台提供了丰富的功能,以下是常用的几个功能:
1.影像处理
GEE平台可以对遥感影像进行处理,包括裁剪、拼接、滤波、分类等,为用户提供了一个高效的遥感影像处理平台。
// Load SRTM Digital Elevation Model data. var elevation = ee.Image('USGS/SRTMGL1_003'); // Create a shaded relief image from the DEM. var hillshade = ee.Terrain.hillshade(elevation); // Display the result. Map.addLayer(hillshade, {}, 'hillshade');
2.空间分析
GEE平台提供了各种空间分析工具,可以进行空间查询、缓冲区分析、空间插值、空间统计分析等。
// Compute the NDVI. var image = ee.Image('LANDSAT/LC08/C01/T1/LC08_044034_20140318') .select(['B5', 'B4']); var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI'); // Create a binary layer with pixels that are above the threshold. var veg = ndvi.gte(0.2); // Extract the geometry of the studied area. var roi = ee.Geometry.Polygon( [[[36.06, 32.00], [36.06, 34.37], [38.98, 34.37], [38.98, 32.00]]]); // Compute the area of the vegetation that intersects with the polygon. var veg_area = veg.multiply(ee.Image.pixelArea()) .reduceRegion({ reducer: ee.Reducer.sum(), geometry: roi, scale: 30 }); // Print the result. print(veg_area);
3.模型构建
GEE平台提供了机器学习和深度学习工具包,可以进行图像分类、目标检测、遥感图像分割等模型构建工作。
// Load training data var training = ee.FeatureCollection('users/kwuebker/example_training_data'); // Train a classifier. var classifier = ee.Classifier.randomForest().train({ features: training, classProperty: 'landcover', inputProperties: ['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7'] }); // Classify the image. var classified = image.select(['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7']) .classify(classifier); // Display the classified image. Map.addLayer(classified, {min: 1, max: 7, palette: ['#000000', '#ff0000', '#00ff00', '#0000ff', '#00ffff', '#ffff00', '#ff00ff']}, 'Classification');
四、GEE平台使用案例
GEE平台被广泛应用于各个领域,以下是几个典型案例。
1.森林覆盖分类
利用卫星图像和地形数据,对森林覆盖进行分类,并对森林质量进行评估。
// Load the MODIS vegetation collection. var veg = ee.ImageCollection('MODIS/006/MOD13Q1') .filterDate('2018-01-01', '2020-12-31') .select('NDVI') .min(); // Define the forest type using Landsat and MODIS vegetation observations. var forest1 = ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_039032_20180407') .normalizedDifference(['B5', 'B4']) .gt(0.1); var forest2 = veg.gte(4000); var forest_type = forest1.and(forest2); // Compute the area of the forest type and show the result. var area = forest_type.multiply(ee.Image.pixelArea()) .reduceRegion({ reducer: ee.Reducer.sum(), scale: 30 }); print(area);
2.城市绿化指数测算
利用卫星图像计算城市各地区的绿化指数,并据此制定绿化规划,提高城市绿化率。
// Load the Landsat 8 image. var image = ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_044034_20140318') .multiply(0.0001); // Compute the NDVI. var ndvi = image.normalizedDifference(['B5', 'B4']); // Compute the average NDVI value in each polygon. var meanNdvi = ndvi.reduceRegions({ collection: polygons, reducer: ee.Reducer.mean(), scale: 30 }); // Display the result. print(meanNdvi);
3.土地利用变化监测
利用多时相卫星图像进行土地利用变化监测,并观测土地覆盖状态的演变。
// Load the Landsat 8 Surface Reflectance image collection. var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR') .filterDate('2014-01-01', '2021-01-01') .sort('CLOUD_COVER') .select(['B4', 'B3', 'B2']); // Define the visualization parameters. var vizParams = { bands: ['B4', 'B3', 'B2'], min: 0, max: 3000, gamma: 1.4, }; // Create a function for computing NDVI. var addNdvi = function(image) { var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI'); return image.addBands(ndvi); }; // Map the function over the image collection. var withNdvi = collection.map(addNdvi); // Compute the mean NDVI value for each feature in the feature collection. var meanNdvi = withNdvi.map(function(image) { return image.reduceRegions({ collection: features, reducer: ee.Reducer.mean(), scale: 30 }) }); // Plot the results on a chart. print(ui.Chart.feature.byFeature(meanNdvi, 'system:index') .setChartType('LineChart') .setOptions({ title: 'Mean NDVI Over Time', vAxis: {title: 'Mean NDVI'}, hAxis: {title: 'Time'}, }));
五、总结
GEE平台的强大功能使得其在遥感数据处理、空间分析、模型构建等领域得到了广泛的应用。本文介绍了GEE的基本概念、数据源、常用功能和使用案例,希望可以为读者提供一些帮助。