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

举报
此星光明 发表于 2022/04/16 02:23:04 2022/04/16
【摘要】 改编自Google Earth Engine 文档。   栅格数据在 Earth Engine中表示为Image对象。图像由一个或多个波段组成,每个波段都有自己的名称、数据类型、比例、遮罩和投影。每个图像都将元数据存储为一组属性。 1. ee.Image 构造函数 可以通过将地球引擎资产ID粘贴到ee$Imag...

改编自Google Earth Engine 文档

 

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

1. ee.Image 构造函数

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


   
  1. library(rgee)
  2. ee_Initialize()
  3. srtm <- ee$Image("USGS/SRTMGL1_003")

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

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


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

 

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

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

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


   
  1. m1$rgee$tokens
  2. #[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 加载此图像:


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

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

4. 常量图像

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


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

文章来源: blog.csdn.net,作者:此星光明2021年博客之星云计算Top3,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_31988139/article/details/119968837

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。