Google Earth Engine谷歌地球引擎栅格数据可视化代码嵌入

本文主要对 GEE 中的 数据图层可视化代码嵌入 操作加以介绍。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第四篇,更多 GEE 文章请参考专栏:GEE学习与应用(https://blog.csdn.net/zhebushibiaoshifu/category_11081040.html)。
可视化代码嵌入,即将图层可视化选项在代码中直接配置,不需要手动进行数据可视化的调整;同时可以保证每一次运行代码,图层可视化结果都是我们所设定的配置,而不是 GEE 默认的配置。
首先,依据 Google Earth Engine谷歌地球引擎数据导入与筛选显示 中内容,我们将 Landsat 8 Collection 1 Tier 1 的大气表观反射率 TOA Reflectance 产品导入GEE;同时依据 Google Earth Engine谷歌地球引擎矢量数据裁剪栅格数据 中内容,我们将 美国人口普查局 ( United States Census Bureau )的2018年主要合法边界划分数据 TIGER: US Census Counties 2018 导入GEE;并对二者做好重命名。

接下来,我们基于前述所提及的两篇前期推文中内容,对刚刚导入的数据加以时间筛选、平均值合成、空间区域裁剪等,同时将图层导入到地图中。
var landsat_8_202007_USA=landsat_8.filterDate('2020-07-01','2020-07-31').mean().clip(county);
Map.addLayer(landsat_8_202007_USA,{},'USA_Landsat');
所得结果如下图所示。这里需要注意,下图最后一句代码忘记加分号了。

可以看到,上图中的栅格图层是黑、白、灰色系的,我们可以在代码中对其波段配色方案加以调整。在
Map.addLayer()
函数中的第二个参数位置,按照如下方式进行配置;而其它两个参数,通过之前的教学文章我们已经知道其分别代表
具体图层
与
图层显示在地图中时的名称
。
Map.addLayer(landsat_8_202007_USA,{bands:['B4','B3','B2']},'USA_Landsat');

此时可以看到,地图中图层依然是灰白色系,这是由于我们没有调整其拉伸情况,导致眼睛看上去彩色并不明显导致的。在地图右上角的“
Layers
”勾选框中,我们首先对拉伸情况加以调整。此时我们还可以看到,图像的
RGB
波段通过我们所输入的代码已经有了自动的更新。

在这里,我们配置好图像的拉伸情况,一开始先随意选择一种拉伸即可。

查看地图,可以看到拉伸后的图层相对而言真彩色已经较为明显。但是依然不是很突出,我们可以继续修改拉伸的程度。

提升拉伸程度,可以看到图层真彩色已经较为明显。

我们就选择这种方式,记录此时图像的像素范围,并将其按照如下方式嵌入到代码中:
Map.addLayer(landsat_8_202007_USA,{bands:['B4','B3','B2'],min:[-0.0152],max:[0.4054]},'USA_Landsat');
下图中的红色即为图像像素范围所在的位置。

执行代码可以发现,图层的可视化配置在每一次代码执行后都会自动形成,不需要我们手动在地图的右上角“ Layers ”处加以操作了。

以上是
多波段
栅格数据的可视化代码,接下来我们再以
单波段
灰度图像进行操作。在GEE搜索框中输入
terrain
,选择
GMTED2010:Global Multi-resolution Terrain Elevation Data 2010
数据,将其导入地图中并将这一变量重命名。我们以这一
DEM
单波段栅格图层为例加以介绍。

将这一图层在地图中显示,并将地图中的图层名称显示为
DEM
;其中,
{}
表示可视化参数这里暂时不放入任何内容。
Map.addLayer(DEM,{},"DEM");

可以看到,这一 DEM 图层的默认可视化情况呈现出无法较好分辨的灰白图像。我们首先在地图图层中调整其拉伸参数,同样也是随意设置一个拉伸即可。

调整完毕后,将对应的像素取值范围放入代码中:
Map.addLayer(DEM,{min:[-770.68],max:[1304.73]},"DEM");
执行代码,可以看到每次执行代码后图层的可视化情况都同样固定为我们所设定的样式。

此外,我们还可以在代码中嵌入单波段栅格图像的“
Palette
”信息。首先依然是在“
Layers
”中手动设定其
Palette
信息。

需要注意,设定其
Palette
信息时,最好同时调整拉伸的设置,从而找到一个较为合适的“
Palette
”设置与拉伸设置组合。

随后,首先将
Palette
中的设置放入代码。点击下图所示按钮。

复制得到的16进制颜色代码。

将其放入
Map.addLayer()
函数中第二个参数(可视化参数)中。

同时记得按照调整后的拉伸设置修改
min
与
max
的值。
Map.addLayer(DEM,{min:[-251.82],max:[785.88],palette:["63ff14","41f6ff","5f37ff","e033ff","ff3f7d"]},"DEM");

随后执行代码,可以看到每次运行代码,得到的 DEM 图层都是较易分辨的彩色图层。
同时,我们还可以采用如下的方法,即将
Map.addLayer()
函数中第二个参数(可视化参数)首先存储为一个变量,随后执行
Map.addLayer()
函数时,将这一变量放到第二个参数的位置即可。
var dem_vis={