Google Earth Engine(GEE)——R 语言图像概览

简介: Google Earth Engine(GEE)——R 语言图像概览

改编自Google Earth Engine 文档

 

栅格数据在 Earth Engine中表示为Image对象。图像由一个或多个波段组成,每个波段都有自己的名称、数据类型、比例、遮罩和投影。每个图像都将元数据存储为一组属性。

1. ee.Image 构造函数

可以通过将地球引擎资产ID粘贴到ee$Image构造函数中来加载图像。您可以在数据目录中找到图像ID。例如,要加载JAXA 的 ALOS DSM

library(rgee)
ee_Initialize()
srtm <- ee$Image("USGS/SRTMGL1_003")


2. 从 ee.ImageCollection 中获取 ee.Image

从集合中获取图像的标准方法是过滤集合,过滤器按特异性递减的顺序进行。例如,要从 Sentinel-2 表面反射集合中获取图像:

# 加载卫星影像
sen <- ee$ImageCollection("COPERNICUS/S2")$
  filterBounds(ee$Geometry$Point(-70.48, 43.3631))$
  filterDate('2019-01-01', '2019-12-31')$
  sort('CLOUDY_PIXEL_PERCENTAGE')$
  first()
# 定义可视化参数
vizParams <- list(
  bands = c("B4", "B3", "B2"),
  min = 0,
  max = 2000,
  gamma = c(0.95, 1.1, 1)
)
# 设置影像中心点和缩放
Map$centerObject(sen, 7)
# 你将会看到
m1 <- Map$addLayer(sen, vizParams, 'first')
m1

图 N°01: Sentinel-2 RGB 波兰,美国

请注意,排序在过滤器之后。避免对整个集合进行排序。

要在 QGIS 中显示结果复制m1$rgee$tokens到 XYZ Tiles:

m1$rgee$tokens
#[1] > "https://earthengine.googleapis.com/v1alpha/projects/earthengine-legacy/maps/af6fc12945dfe1342891968f6b8b3c47-d47e902ef95199a5c37959f3aec47388/tiles/{z}/{x}/{y}"

图 N°02: rgee & QGIS 地图集成


3. 来自 Cloud GeoTIFFS 的图像

您可以使用ee$Image$loadGeoTIFF()加载从图像云优化GeoTIFFs谷歌云存储。例如,托管在 Google Cloud 中的公共 Landsat 数据集包含此 GeoTIFF,对应于来自 Landsat 8 场景的波段 5。您可以使用ee$Image$loadGeoTIFF()以下命令从 Cloud Storage 加载此图像:

uri <- sprintf(
  "%1s%2s%3s",
  "gs://gcp-public-data-landsat/LC08/01/001/002/",
  "LC08_L1GT_001002_20160817_20170322_01_T2/",
  "LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF"
)
cloudImage <- ee$Image$loadGeoTIFF(uri)
print(cloudImage)

请注意,如果您想重新加载从 Earth Engine 导出到 Cloud Storage的 Cloud Optimized GeoTIFF ,则在执行导出时,请按照此处所述将 cloudOptimized 设置为 true 。


4. 常量图像

除了通过ID加载图像之外,您还可以从常量、列表或其他合适的 Earth Engine 对象创建图像。下面说明了创建图像、获取波段子集和操作波段的方法:

library(rgee)
ee_Initialize()
# 创建一个像素值为 1 的常量 Image。
image1 <- ee$Image(1)
print(image1, type = "json")
print(image1, type = "simply")
print(image1, type = "ee_print")
# You can see it.
Map$addLayer(image1)
# 将两个图像连接成一个多波段图像。
image2 <- ee$Image(2)
image3 <- ee$Image$cat(c(image1, image2))
ee_print(image3, clean = TRUE)
# 通过以下方式更改打印选项:“简单”、“json”、“ee_print”
options(rgee.print.option = "simply")
# 从常量列表创建多波段图像。
multiband <- ee$Image(c(1, 2, 3))
print(multiband)
# 选择并(可选)重命名波段。
renamed <- multiband$select(
  opt_selectors = c("constant", "constant_1", "constant_2"), # old names
  opt_names = c("band1", "band2", "band3")                   # new names
)
ee_print(renamed)
# 为图像添加波段。
image4 <- image3$addBands(ee$Image(42))
print(image4)


相关文章
|
4月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
1942 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
4月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
71 0
|
4月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
193 0
|
4月前
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
92 0
|
4月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化
R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化
|
4月前
|
机器学习/深度学习 算法 TensorFlow
【视频】神经网络正则化方法防过拟合和R语言CNN分类手写数字图像数据MNIST|数据分享
【视频】神经网络正则化方法防过拟合和R语言CNN分类手写数字图像数据MNIST|数据分享
|
4月前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
|
4月前
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
241 4
|
4月前
|
机器学习/深度学习 存储 人工智能
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
202 3
|
4月前
|
数据处理
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
80 0

热门文章

最新文章