(一)Google Earth Engine概述

Google Earth Engine (GEE) 是由谷歌公司开发的众多应用之一。借助谷歌公司超强的服务器运算能力以及与 NASA 的合作关系,GEE 平台将LandsatMODISSentinel 等可以公开获取的遥感图像数据存储在谷歌的磁盘阵列中,使得 GEE 用户可以方便的提取、调用和分析海量的遥感大数据资源。

GEE它是一个集科学分析以及地理信息数据可视化的综合性平台。简单的说,GEE是一个“遥感大数据”分析和呈现的平台。作为地理云计算服务平台GEE 将地理数据分析算法封装成函数接口的形式提供给用户,通过互联网可以使用户快速地访问海量的影像数据以及其他空间数据,而不需要下载到本地,在云端实现当前地理空间数据分析的全部流程。通过云计算还可以使共享的计算机软硬件资源和地理大数据,按需求提供给用户使用,使任何用户都可以使用服务商提供的多平台软硬件资源和地理大数据,开展常规个人计算机无法实现的地理计算和数据分析。

GEE 在设计之初就是为了服务科研人员而构建的,因此在概念上可以将 GEE 视为一种工具,类似于菜刀之于厨师或者猎枪之于猎手,而不应该将其当作一种复杂的计算机编程平台。

GEE包含图形用户界面和应用程序编程接口。GEE 是一个主要依靠编码命令进行空间分析和操作的平台,但 GEE 也有适合界面操作的平台:GEE 的图形用户界面(Graphical User Interface, GUI)。GEEGUI 的优点在于符合人的操作直觉,并且对新用户友好,缺点是功能较少,可以实现的空间分析有限。GEE 的应用程序编程接口(Application Programming Interface, API)是 GEE 的核心功能所在,也是 GEE 用户最为关注的平台,与 GUI 相比,API 可以调用 GEE 平台中的所有数据和功能。可以说,学习 GEE 就是学习 GEEAPI

GEE 中存储着海量的遥感数据,熟悉这些数据能够让用户更加便捷的实现空间和地理分析目标。总体上,GEE 的数据可以分为 4 个种类:栅格数据,栅格集数据,矢量数据,矢量集数据。

⛄栅格数据

GEE 中的栅格数据主要包括来源自遥感卫星的数据和空间插值数据产品。

数据集空间分辨率时间分辨率时间覆盖空间覆盖
Landsat
Landsat 8 OLI/TIRS30m16day2013-NowGlobal
Landsat 7 ETM+30m16day2000-NowGlobal
Landsat 5 TM30m16day1984-2012Global
Landsat 4–8 surface reflectance30m16day1984-NowGlobal
Sentinel
Sentinel 1 A/B ground range detected10m6day2014-NowGlobal
Sentinel 2A MSI20m10day2015-NowGlobal
MODIS
MOD08 atmospheredaily2000-NowGlobal
MOD09 surface reflectance500m1/8day2000-NowGlobal
MOD10 snow cover500m1day2000-NowGlobal
MOD11 temperature and emissivity1000m1/8day2000-NowGlobal
MCD12 Land cover500mAnnual2000-NowGlobal
MOD13 Vegetation indices500/250m16day2000-NowGlobal
MOD14 Thermal anomalies & fire1000m8day2000-NowGlobal
MCD15 Leaf area index/FPAR500m4day2000-NowGlobal
MOD17 Gross primary productivity500m8day2000-NowGlobal
MCD43 BRDF-adjusted reflectance1000/500m8/16day2000-NowGlobal
MOD44 veg. cover conversion250mAnnual2000-NowGlobal
MCD45 thermal anomalies and fire500m30day2000-NowGlobal
ASTER
L1 T radiance15/30/90m1day2000-NowGlobal
Global emissivity100mOnce2000-2010Global
Other imagery
PROBA-V top of canopy reflectance100/300m2day2013-NowGlobal
EO-1 hyperion hyperspectral radiance30mTargeted2001-NowGlobal
DMSP-OLS nighttime lights1kmAnnual1992-2013Global
USDA NAIP aerial imagery1mSub-annual2003-2015CONUS
地形
Shuttle Radar Topography Mission30msingle200060°N–54°S
USGS GMTED201010msingleMultipleUS
USGS National Elevation Dataset7.5″singleMultiple83°N–57°S
GTOPO3030″singleMultipleGlobal
ETOPO11′singleMultipleGlobal

注:来源 Google Earth Engine: Planetary-scale geospatial analysis for everyone [J]. Remote Sensing of Environment

GEE 中其他的主要栅格产品包括土地利用数据,气象数据和人口数据等。这些数据与遥感影像数据相比,主要用来反映某些社会因子的空间分布,或者反映地表以上空间的自然特征。

数据集空间分辨率时间分辨率时间覆盖空间覆盖
土地利用
GlobCover300mNon-periodic200990°N–65°S
USGS National Landcover Database30mNon-periodic1992-2011CONUS
UMD global forest change30mAnnual2000-201480°N–57°S
JRC global surface water300mMonthly1984-201578°N–60°S
GLCF tree cover30m5year2000-2010Global
USDA NASS cropland data layer30mAnnual1997-2015CONUS
气象
Global precipitation measurement6′3h2014-NowGlobal
TRMM 3B42 precipitation15′3h1985-201550°N–50°S
CHIRPS precipitation3′5day1981-Now50°N–50°S
NLDAS-27.5′1h1979-NowNorth America
GLDAS-215′3h1948-2010Global
NCEP reanalysis2.5°6h1948-NowGlobal
ORNL DAYMET weather1km12 Images1980-NowNorth America
GRIDMET4km1day1979-NowCONUS
NCEP global forecast system15′6h2015-NowGlobal
NCEP climate forecast system12′6h1979-NowGlobal
WorldClim30″12 Images1960-1990Global
NEX downscaled climate projections1km1day1950-2099North America
人口
WorldPop100m5yearMultiple2010–2015
GPWv430″5year2000-202085°N–60°S

注:来源 Google Earth Engine: Planetary-scale geospatial analysis for everyone [J]. Remote Sensing of Environment

⛄矢量数据

简单来说,矢量数据可以理解为点、线和面类型的数据。在处理空间问题时,常常需要确定某个地理要素的位置(例如某区域商店的位置),或者某些线状地物的位置(河流、道路等),以及某些面状物的分布(行政边界等)。在确定矢量空间要素空间特征的基础上,再给这些空间要素贴上标签(名称,面积,权属等),那么就得到了包含一定信息的矢量数据。我们通常将这种矢量数据成为“特征矢量”(Feature),将其空间形状称为“地理特征”(Geometry),将贴上去的标签信息称为“属性”(Property)。我们分别从ArcGISGEE 中添加并查看Feature的信息,以此加深对矢量数据的理解。

⛄数据类型和参数类型

👀GEE 的数据类型 (String, Number)

显示:print(string)
创建:ee.String()
修改:string.cat()	string.replace()
段落:string.split() string.match
查询:string.slice() string.length()
创建:ee.Number()
修改:number.uint8() number.Uint8() number.int8() number.toInt8()……
比较:number.eq() number.neq()……							
    number.and() number.or() ee.Algorithms.IsEqua()……
运算:number.abs() number.round() number.pow()……
字位:number.bitwiseAnd() number.bitwiseOr() number.bitwise_and()
    number.bitwise_or() number.leftShift() number.right_shift()……

👀GEE 的数据类型(DictionaryListArray)

创建:ee.Dicionary()
修改:dictionary.combine() dinctionary.set()
查询:dictionary.keys() dictionary.get() dictionary.values()	
对比:dictionary.contains()
尺寸:dictionary.size()
创建:ee.List() list.repeat() list.sequence()
修改:list.set() list.replaceAll() list.add() list.insert() list.zip()
	list.reverse() list.rotate() list.sort() list.swap() list.flatten()
查询:list.get() list.remove() list.removeAll()
比较:list.equals() list.contains() list.containsALL() list. indexOf()			          
	list.indexOfSubList() list.lastIndexOfSubList() list.frequency()
其他:list.map() list.iterate() list.length() list.size()	
创建:ee.Array() ee.Array.identity() ee.Array.repeat()	
修改:array.mask()	array.transpose() array.uint8()	array.Uint8()	
数学:array.eq() array.and() array.or() array.round()
	array.bitwiseAnd() array.leftShift() 	

👀GEE 的数据类型(GeometryFeatureFeatureCollection)

创建:ee.Geometry.Point() ee.Geometry.Multipoint() 绘图工具 ……
几何:Geometry.transform() geometry.centroid() geometry.simplify() 			           
	geometry.bounds() geometry.buffer() geometry.union() ……
查询:geometry.geometries() geometry.coordinates() geometry.length() 			
	geometry.area() geometry.perimeter() geometry.distance() 	
转换:geometry.toGeoJSON()
创建:ee.Feature()	绘图工具
编辑:Feature.select() Feature.transform() Feature.set/setMulti()
几何:Feature.centroid/simplify/bounds/convexHull/buffer()						
	Feature.union/intersection/difference/symmetricDifference()
提取:Feature.geometry() Feature.get() Feature.Length/Area/Perimeter()	
创建:GEE自带 上传 FushionTable ee.FeatureCollection() .randomPoints() 手绘…
编辑:.filterMetadata() .limit() .filterDate() .filterBounds() .filter() 	
    .select() .distinct() .union() .merge() .set() .remap() .sort()
    .makeArray()
转换:.geometry() .reduceToImage()			
查询:.first() .toList() .aggregate_first() .aggregate_array()
统计:.aggregate_stats/_histogram/_count/_count_distinct       
    .aggregate_max/_min/_sum/_mean/_product	          
    .aggregate_sample_var/_total_var/_sample_sd/_total_sd/
其他: .map()

👀GEE 的数据类型 (ImageImageCollection)

创建: GEE自带 用户上传 ee.image()/constant() ee.Image.pixelLonLat() 
编辑: .mask() .clip() .select() .slice() .addBands() .reproject() .rbgtohsv()		         
    .hsvtorbg() .unit8() .cast() .set() .setMulti() .remap() .where()	   
    .metadata() .clamp() .unitScale() .interpolate() .eq()…… .abs()…… .sin() …… 
    .bitWiseAnd()…… .reduce()	
地形: image.derivative() ee.Terrain.products() ee.Algorithm.Terrain()
     ee.Terrain.slope() ee.Terrain.aspect() ee.Terrain.fillMinima()	  
	 ee.Terrain.hillshade() ee.Terrain.hillshadow() ee.Algorithm.Hillshadow()
纹理: .entropy() .Texture() .zeroCrossing() .ee.Algorithms.CannyEdgeDetector()		   
    ee.Algorithms.HoughTransform()
邻域: .focal_max() .focal_min() .focal_median() .focal_mode() .convolve()                
    .reduceNeighborhood()
转换: .Image.ToVector() Image.ToArray() Image.arrayFlatten()	
其他: .CrossCorrelation() .distance() Export.image()
创建: ee.ImageCollection() ee.ImageCollection.load()
筛选: .limit() .filterMetadata() .filterDate() .filterBounds() .filter() .select()	     
	.distinct() .comnibe() .unit8()…… .set() .setMulti()
求值: .mosaic() .and/or() .sum/product/max/min/mean/mode/median/count()	
转换: .first() .toList() .toArray()     

👀GEE 的数据类型 (Landsat Images, ConfusionMarix)

LansatCollection.qualityMosaic()
LansatCollection.unmixing()
LansatCollection.normalizedDifference()
ee.Algorithms.Landsat.simpleCloudScore()
ee.Algorithms.Landsat.simpleComposite()
创建: ee.ConfusionMatrix() 
转换: ConfusionMatrix.array()
精度: .kappa() .accuracy() .producersAccuracy() .consumersAccuracy() .order()

👀GEE 的参数类型 (Date, DateRange)

创建:ee.Date() ee.Algorithms.Date() ee.Date.fromYMD() ee.Date.parse()
编辑:Date.advance() Date.update()
调整:Date.format() Date.milis() Date.getRange()
提取:Date.get() Date.gerFraction() Date.unitRation() Date.difference()
创建: ee.DateRange() ee.DateRange.unbounded()
联并: DateRange.Union() DateRange.intersection()
查询: DateRange.start() DateRange.end()
判断: .intersencts() .contains() .inEmpty() .isUnbounded()

👀GEE 的参数类型 (FilterJoin)

创建:ee.Filter.eq() ee.Filter.neq() ee.Filter.ge() ee.Filter.gte() ee.Filter.le()		 
	ee.Filter.lte() ee.Filter.maxDifference()
字段:ee.Filter.stringContains() ee.Filter.StarsWith() ee.Filter.EndWith()				 
	ee.Filter.Rangecontains() ee.Filter.listContains() ee.Filter.inList()
时间:ee.Filter.calendarRange() ee.FilterDateRangeContains()	 
	ee.Filter.dayOfYear()
转换:ee.Filter.and() ee.Filter.or() ee.Filter.not() ee.Filter()
ee.Join.simple() ee.Join.inverted() ee.Join.inner()	
ee.Join.saveAll() ee.Join.saveBest() ee.Join.saveFirst()	
Spatial Joins (ee.Filter.withinDistance/ee.Filter.intersects)

👀GEE 的参数类型 (ReducerKernelAlgorithm)

创建: ee.Reducer.count() .countEvery() .first() .histogram() .allNonZero()			 
    .anyNonZero() .frequencyHistrogram() .toList() .toCollection()
数学: sum() .product() .mean() .variance() .std_dev() .sampleVariance()		       
    .sampleStdDev() .max() .min() .minMax() .median() .mode()	         
    .intervalMean() .percentile() .linearFit()
转换: .setOutputs() .getOutputs() .combine() .repeat() .repeat()			      
     .group() .unweighted() .splitWeights()
创建: ee.Kernel.roberts() ee.Kernel.prewitt() ee.Kernel.sobel() 		   
	ee.Kernel.compass() ee.Kernel.kirsch() ee.Kernel.laplacian4()	
	ee.Kernel.laplacian8() ee.Kernel.euclidean() ee.Kernel.gaussian()	
	ee.Kernel.manhattan() ee.Kernel.chebyshev() ee.Kernel.circle()		      
	ee.Kernel.octagon() ee.Kernel.square() ee.Kernel.diamond() ee.Kernel.cross()	
	ee.Kernel.plus() ee.Kernel.fixed()
编辑: Kernel.rotate() kernel.add() print(Kernel)
Algorithm,算法的目的是减少重复运算,我们可将其理解为一个“小程序”,借助这个小程序可以对数据集内的每一个数据都进行同样的操作。下边是算法的语法格式:
function 函数名(变量)
   { 操作 }
算法的核心在于操作的编写。编写操作时要注意两点,第一,应该按照目标数据集确定变量名,比如针对栅格数据集的操作变量可以写作 Image 或者 img,这样能够提高操作的可读性。第二,操作必须包含 return 命令以告诉 GEE 算法的目的是什么。

⛄GEE平台优势与应用

随着云计算技术的不断发展,GEE 从2008 年提出构想不断发展至今天,已经成为提供覆盖全球的地理空间数据的集成、处理、可视化和综合分析一站式解决方案的云端共享平台,总结GEE的平台具有如下优势:

  • 免费向非商业用户提供使用GEE面向全球科研人员、学生、教育工作者等提供非商业性质用户提供免费服务。
  • 算法高集成度以及可定制性。在算法集成方面,提供了持续更新的智能算法以及可供研究者定制的功能接口,这将激励研究者不断尝试新的算法来实现科学构想,而不只是停留在理论层面,这将进一步促进平台的智能化发展,很多以往难以解决的问题都将开启新的思路。
  • 后台处理运算能力强。使用GEE平台,用户可以比较方便地处理全球影像数据,解决了用户受限自己本地机器运算能力不强,以及存储空间不足的问题,能够高校、快速地处理大范围的影像。
  • 完整的生态开发环境。目前GEE 已经拥有一个完整而良好的开发生态环境,开发者和平台核心团队人员可以通过论坛,会议等多种形式进行深入甲流,探讨各种问题,除了现有的工具资源,用户还可以利用GEE提供的开发包做二次开发,满足更多的需求,实现更加强大的功能。

GEE被广泛应用于各个领域,涵盖全球森林变化,全球地表水变化、作物产量估算、稻田制图、城市测绘、洪水测绘、火灾恢复和疟疾风险绘图等等不同主题。它还被整合到许多第三方应用中,例如分析物种栖息地范围(Map of Life)、监测气候(Climate Engine)和评估土地利用变化(Collect Earth)等等。

参考资料

  1. 遥感云计算平台:Google Earth Engine
  2. 遥感大数据工具(Google Earth Engine)基础教程,作者:王金柱

欢迎大家关注预览我的博客Blog:HeartLoveLife
能力有限,敬请谅解!!

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Google Earth Engine是由Google开发的一个云计算平台,用于存储、处理和分析地理空间数据。它提供了一个集成的平台,将来自各个源的卫星图像、地理信息系统数据和其他地球观测数据整合在一起。在Google Earth Engine官网上,我们可以找到各种关于该平台的信息和资源。 首先,在官网上,我们可以找到有关Google Earth Engine介绍和准入信息。官网详细介绍Earth Engine的功能和优势,如高性能计算、带宽和存储能力,以及支持的开发语言和工具。它还提供了准入指南,说明如何注册和开始使用这个平台。 其次,在官网上,我们可以浏览和搜索可用的数据集和卫星图像。Google Earth Engine提供了一个广泛的数据集,包括高分辨率遥感图像、地形图、卫星观测数据等。这些数据集来自不同的来源,涵盖了全球各地的地理特征和环境变化。通过官网,我们可以找到感兴趣的数据集,并使用Earth Engine的分析工具进行研究和可视化。 此外,在官网上,还有一些学习和资源工具可供用户使用。官网上提供了Earth Engine的API文档、示例代码和教程。这些资源可以帮助用户快速上手并更好地使用该平台。此外,官网还提供了一个开发者论坛,用户可以在上面讨论和分享关于Earth Engine的经验和问题。 总结来说,Google Earth Engine官网是一个提供有关该平台的全面信息和资源的平台。通过官网,用户可以了解Earth Engine的功能和优势,访问各种地理空间数据,学习使用该平台,并与其他用户进行交流和互动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值