(二)GEE基础学习初探及案例详解【20250330】
Google Earth Engine(GEE)
是由谷歌公司开发的众多应用之一。借助谷歌公司超强的服务器运算能力以及与NASA
的合作关系,GEE
平台将Landsat
、MODIS
、Sentinel
等可以公开获取的遥感图像数据存储在谷歌的磁盘阵列中,使得GEE
用户可以方便的提取、调用和分析海量的遥感大数据资源。GEE
在设计之初就是为了服务科研人员而构建的,因此在概念上可以将GEE视为一种工具,类似于菜刀之于厨师或者猎枪之于猎手,而不应该将其当作一种复杂的计算机编程平台。
详见小编博客:Google Earth Engine概述
⛄GEE中通用地理学思维
👀空间发现
GEE
与谷歌公司的另一款名为Google Earth
的软件具有类似的空间发现功能,即可以展示地球表面客观存在的现象和地貌。同样的,GEE
也具有类似的地理发现功能,我们利用Map.setCenter()
命令将GEE
的观察窗口移动到对应的位置,同时将GEE
的底图设置为卫星图像,具体命令如下所示。
点击GEE底图框右上角的卫星图像按钮;
在Code Editor中输入"Map.setCenter(116.39, 39.91)"指令;
观察结果。
GEE
具有与其他常见的地理/地图软件产品相类似的"观察地球"的功能,但是GEE
与其他产品的显著不同点在于其依靠命令而不是点击进行操作。这种操作方式相对Google Earth
来说较为繁琐,而且不符合人的操作直觉,但正是这种基于指令的操作方式给予了GEE
更大的自由空间,让用户能够更加灵活的对地理数据进行分析和处理。
👀空间叠加
GEE
与其他地理信息系统(GIS
)平台类似的地理思路还包括图层叠加。在分析地理问题时,常常需要考虑某一种或几种因素(因)对目标因素(果)的影响。这种影响关系在GIS
系统中常常表现为将不同图层叠加后获得结果图层的过程。例如,利用坡向数据增强高程数据显示效果的过程就可以看作是叠加坡度和高程数据得到结果图层的过程。在ArcGIS
中增强背景地区高程数据的显示的具体操作如下:
- 加入中国的
DEM
数据; - 加入中国行政区数据;
- 利用属性筛选北京的行政区边界;
- 利用北京行政边界对中国的
DEM
数据进行裁剪,得到"DEM_Beijing
"; - 利用工具箱中的"
hillshade
"工具处理"DEM_Beijing
"得到"Hillshade_Beijing
"; - 在"显示工具栏"中将"
Hillshade_Beijing
"的透明度调整为70%; - 得到结果。
将上述操作实施在GEE
中的代码如下。可以看出GEE
与ArcGIS
在操作思路上几乎是完全相同的,因此可以将ArcGIS
的操作步骤作为注释加入到代码中。
// 加入DEM |
// 加入中国行政界线,并重命名为China_Provinces |
// 加入高程数据 |
空间数据的坐标:无论是栅格数据还是矢量数据,在空间分析的语境中都必不可少的涉及到"坐标"这一概念。"坐标"可以理解为位置系统,"坐标变换"可以理解为从一种位置系统向另一种位置系统的数学变换。在
GEE
中,当系统处理栅格数据时,首先确定栅格左上角的坐标,然后根据每个栅格的大小将栅格中的每个像素"铺"在底图上。在处理矢量数据时,矢量数据的空间属性本质上是由点构成的,因此首先确定参考点的坐标,然后利用数学公式将其他点的坐标计算出来。
⛄GEE图形用户界面
GEE
是一个主要依靠编码命令进行空间分析和操作的平台,但GEE也有适合界面操作的平台:GEE的图形用户界面(Graphical User Interface, GUI)。GEE的GUI的优点在于符合人的操作直觉,并且对新用户友好,缺点是功能较少,可以实现的空间分析有限。GEE的学习重点并不在GUI上,可以将本节作为一种过渡,一种从"点击操作"到"命令操作"的适应过程。GEE的GUI主要由数据、计算、分析和显示四部构成。其中计算和分析功能只有在申请GEE资格并且登陆以后才能完全使用。
👀GUI的运算功能
在工作区加入数据后,利用Add computation工具可以对加入的数据进行进一步的处理。GUI的计算类型一共有5种,分别用于波段添加,掩膜处理,像素运算,邻域处理以及地形处理。
- 波段添加的作用在于将若干栅格数据集合成复合数据,例如可以将SLOPE波段加到DEM波段上,可以得到一个包含SLOPE和DEM的数据集。
- 掩膜处理的目的在于告诉GUI图像的哪些部分参与运算,哪些部分不参与运算。
- 像素运算的目的在于挑选出合适的像素以及对像素进行数学处理,例如像素运算的阈值筛选可以筛选出高程小于900m的像素,而像素运算的表达式运算可以利用公式(Band5-Band4)/ (Band5+Band4)计算出Landsat8系列图像的NDVI值。
- 邻域运算可以对图像进行边界提取,卷积以及差分计算。
- 地形计算可以计算出高程图像的坡度、坡向和山体阴影。
👀GUI的分析功能
GEE
的GUI中的分析功能是完全服务于遥感图像分类的。GUI分析功能由训练分类器,交叉验证和分类对比三个功能组成,其中训练分类器功能是GUI分析功能的核心。
⛄GEE应用程序编程接口
GEE
的应用程式编程接口(Application Programming Interface, API)是GEE的核心功能所在,也是GEE用户最为关注的平台,与GUI相比,API可以调用GEE平台中的所有数据和功能。可以说,学习GEE就是学习GEE的API。GEE的API界面主要由4个部分构成,分别是"代码及个人文件栏","程序编写框","数据报告栏"和"结果呈现框"。
- 代码及个人文件栏的主要作用是存放用户代码,提供GEE自带的代码格式规范(可以理解为帮助文件),以及管理用户个人数据(用户可以将自己的栅格或矢量数据上传至这里,供分析和使用)。
- 程序编写框是 GEE 用户执行操作的主界面,可以把程序编写框理解为一个文本编辑器,在进行命令代码编写时,程序编写框会根据代码格式自动对代码进行上色和报错处理。
- 数据报告栏是GEE用户获取程序运行结果的重要窗口。通常情况下,运行结果以图像的方式显示在结果呈现区,但对于一些属性或者统计类的报表信息,只能通过数据报告栏进行查询;同时,程序的运行调试也常常会利用数据报告栏对分步结果进行查看。
- 结果呈现栏是API中面积占比最大的区域,其主要作用是对空间数据进行呈现。
参考资料:GEE学习文档(王金柱)