Google Earth Engine谷歌地球引擎GEE图层投影信息与参考坐标系及其空间转换参数获取
本文主要对GEE中的投影信息与参考坐标系及其空间转换参数获取加以介绍。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第十二篇,更多GEE文章请参考专栏:GEE学习与应用(https://blog.csdn.net/zhebushibiaoshifu/category_11081040.html)。
在前十一篇GEE教学博客中,我们详细介绍了GEE中的各类代码规则与具体操作,但都没有涉及地理学中的一个重要部分——投影;这是因为,我们在GEE中进行各项地理操作时,其将自动依据输入与输出数据的属性自动调整投影信息,不需要用户自行调整,因此相当于免除了地理坐标系、投影坐标系等之间的转换,非常方便。但是在某些场合,例如我们需要自行指定GEE中某个图层的投影坐标系时,或是我们所导入的一景影像中不同波段之间的投影信息不同时等等,还是需要我们自行进行投影相关的操作。本文就介绍GEE中获取图层投影信息、参考坐标系与投影坐标转换参数的方法;而关于GEE中重投影的介绍与操作,将会在下一篇博客中进行详细讲解。
首先,依据第九篇GEE教学博客(https://blog.csdn.net/zhebushibiaoshifu/article/details/119545059)中提及的遥感影像导入方法,导入2020年08月03日成像的,且Path
号为123
,Row
号为032
(覆盖北京市)的Landsat 8 Collection 1 Tier 1的大气表观反射率TOA Reflectance产品;并将地图按照这一景遥感影像的中心经、纬度进行缩放,同时将遥感影像在地图中显示。
var landsat_5=ee.Image("LANDSAT/LC08/C01/T1_TOA/LC08_123032_20200803");
Map.centerObject(landsat_5,8);
Map.addLayer(landsat_5);
其中,Map.centerObject()
函数表示按照某一个地理要素的中心经、纬度进行缩放,其两个参数分别为作为参照的地理要素(在本文中即为刚刚导入的这一景遥感影像)与缩放系数。关于GEE中缩放系数的具体讲解请查看第九篇GEE教学博客(https://blog.csdn.net/zhebushibiaoshifu/article/details/119545059)。
接下来,我们以刚刚导入的这一景Landsat 8遥感影像为例,获取并打印其投影信息。
print("Projection and transformation information of this image:",landsat_5.projection());
其中,.projection()
函数用以获取图像的投影信息。
但是,执行上述代码会出现如下的错误:
可以看到,由于Landsat 8 Collection 1 Tier 1的大气表观反射率TOA Reflectance产品影像中各波段之间的投影信息不一致,导致无法使用.projection()
函数获取这一景图像的投影信息。针对这一情况,我们首先打印一下这一景影像,看看其波段信息。
print(landsat_5);
执行代码,得到这一景遥感影像的波段信息。
通过打印得到的结果,可以看到这一景影像12
个波段的投影坐标系都是一致的,均为EPSG:32650
,即WGS 84
下的UTM zone 50N
坐标系。这样看来各波段间投影坐标系似乎都是一致的,为什么还会出现上述报错呢?
查阅GEE官方文档可知,其实不仅仅是各波段间的投影坐标系需一致,还需各波段对应图层的空间分辨率亦保持一致,这样才属于投影信息一致,才可以使用.projection()
函数获取这一景图像的投影信息。我们再来看一下print()
函数打印出的遥感影像信息,可以发现其第七个波段(即B8
)的空间分辨率确实和其他波段不一致。
将波段信息展开,可以更为清晰地看到第七个波段(即B8
)与其它波段之间的区别——第七个波段尽管与其它波段的crs
一致,但是其crs_transform
与其它波段是不一样的。其中,crs
(即Coordinate Reference System,CRS)表示该波段投影信息的基准参考坐标系,crs_transform
则表示该波段投影坐标系和基准参考坐标系之间的转换参数。这样来看,基准坐标系crs
是一致的,但由于空间分辨率不一致使得其转换参数crs_transform
不一致,势必导致第七个波段(即B8
)与其它波段的投影信息是不一样的,从而出现上述报错。
因此,我们需要对波段进行筛选。首先,依据第二篇GEE教学博客(https://blog.csdn.net/zhebushibiaoshifu/article/details/119545059)中提及的GEE数据搜索方法,我们搜索并查看Landsat 8 Collection 1 Tier 1的大气表观反射率TOA Reflectance产品的波段信息。
可以看到,其中B2
、B3
与B4
波段分别为蓝、绿、红三种颜色对应的波段;我们就以这三个波段为例继续进行后续操作。基于第六篇GEE教学博客(https://blog.csdn.net/zhebushibiaoshifu/article/details/119145230)中介绍的.select()
函数,将上述三个波段取出,并重新使用.projection()
函数获取其投影信息。
var band=landsat_5.select("B[2-4]");
print("Projection and transformation information of this image:",band.projection());
执行代码,可以看到投影信息已经成功得到。
通过右侧打印成功的投影信息我们还可以注意到,使用.projection()
函数获取的投影信息包括crs
与transform
两个部分——这也再一次证明了波段之间除了投影坐标系的基准参考坐标系需要一致,还需要转换参数一致,才可以使用.projection()
函数。
随后,我们还可以将当前图层投影信息的线性比例(单位为m)加以获取。这里获取的比例即Nominal Pixel Size,在GEE官方手册中将其称为“当前图层的金字塔中,最底层的名义像素大小”;而一个图层的最底层金字塔其实就是该图层自身,因此这里求得的其实就是遥感影像自身的空间分辨率。
print("Pixel size in meters:",band.projection().nominalScale());
可以看到,获得的结果为30
m,亦即Landsat 8可见光波段的空间分辨率。
欢迎关注公众号/CSDN/知乎/微博:疯狂学习GIS
Google Earth Engine谷歌地球引擎GEE图层投影信息与参考坐标系及其空间转换参数获取相关推荐
- Google Earth Engine谷歌地球引擎GEE地理坐标系与投影坐标系变换与重投影
本文主要对GEE中地理坐标系与投影坐标系转换.重投影等操作加以介绍.本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第十三篇,更多GEE文章请参考专栏:GEE学习 ...
- Google Earth Engine 谷歌地球引擎常用快捷键相关搜集整理
一.快捷键简介 GEE常用快捷键主要分为以下几类:(1)快捷菜单调出按钮:(2)Code Editor代码编辑界面快捷:(3)代码运行加载图层代码相关快捷键:(4)图形几何编辑快捷键:(5)代码相关: ...
- 基于Google Earth Engine Explorer谷歌地球引擎GEE浏览界面实现遥感影像地物监督分类
本文主要对GEE的网页界面式应用程序接口Google Earth Engine Explorer加以详细介绍与地物监督分类这一具体应用.本文是谷歌地球引擎(Google Earth Engine, ...
- 在ubuntu18.04上,安装google earth pro (谷歌地球客户端)
打开终端 (Ctrl + Alt + T),打出如下命令即可安装 wget -O google-earth64.deb http://dl.google.com/dl/earth/client/cur ...
- 将轨迹对应到google earth(谷歌地球)上
下面为将机器人的轨迹对应到谷歌地球上的demo,只需要将 <coordinates> 与 </coordinates>之间的经纬度坐标换成自己的经纬度坐标数据,然后将下面的 ...
- 对于Google Earth Engine的介绍
对于Google Earth Engine的介绍 关于GEE的总体介绍 GEE的优势 GEE的学习资料 关于GEE的总体介绍 Google Earth Engine (GEE),又称谷歌地球引擎,是当 ...
- 再谈批量下载Modis数据之Google earth engine
再谈批量下载Modis数据之Google earth engine 最近在学习GEE,就拿Modis数据练个手.本文选用MOD13A1 NDVI产品为例,介绍如何通过gee来批量下载Modis数据到本 ...
- Google Earth Engine(GEE)APP ——谷歌地球引擎因公显示森林区域植被的变化并识别可能的森林砍伐区域
该脚本是使用谷歌地球引擎(GEE)开发的.它使用了Landsat 8 OLI TOA Reflectance with maskL8sr cloud-mask, Sentinel MSI Level- ...
- Google Earth Engine python ——从谷歌地球引擎(GEE)上的点提取栅格值的实现
在本教程中,我们计划从点特征集中提取栅格像元值,并将这些值记录在属性表中作为输出.在带有 python API 的 Google 地球引擎 (GEE) 上.在我们深入研究工作步骤之前,我将解释如何实现 ...
最新文章
- 结构体名和结构体名是个指针的区别
- Swift 5 发布,ABI 终于稳定了
- BLE 配对流程(转自襄坤在线)
- Python下载与安装教程
- “手机”是个什么机器?
- 光动能表怎么维护_西铁城手表推荐,西铁城光动能表推荐选购指南
- 程序媛如何自我突破?
- 不懂代码,如何做出实时刷新的数据大屏?
- xmind 模板_XMind 教程 | 如何写出让人眼前一亮的年终总结?
- Redis学习---(14)Redis 事务
- 上海工程技术大学c语言试卷,上海工程技术大学2009-2010C语言试卷A.doc
- 计算机考试考什么二级,计算机国家二级考试会考什么内容?怎么考?
- 推荐好用的临时邮箱工具,解决注册网站收到的垃圾邮件
- python如何制作地图热力图
- plc虚拟服务器,VMware软件虚拟机和PLC通讯的连接方法
- 什么叫做信息安全?包含哪些内容?与网络安全有什么区别?
- isset与empty的区别
- 数值积分:龙贝格求积
- 国际数据保护日,数据安全谁来守护?
- 详解 js 函数中的 arguments