Google Earth Engine谷歌地球引擎投影、参考坐标系及转换参数获取

  本文主要对GEE中的投影信息与参考坐标系及其空间转换参数获取加以介绍 。
  本文是谷歌地球引擎(google Earth Engine,GEE)系列教学文章的第十二篇,更多GEE文章请参考专栏:GEE学习与应用(GEE学习与应用_疯狂学习GIS的博客-CSDN博客) 。
  在前十一篇GEE教学博客中,我们详细介绍了GEE中的各类代码规则与具体操作,但都没有涉及地理学中的一个重要部分——投影;这是因为,我们在GEE中进行各项地理操作时,其将自动依据输入与输出数据的属性自动调整投影信息,不需要用户自行调整,因此相当于免除了地理坐标系、投影坐标系等之间的转换,非常方便 。但是在某些场合,例如我们需要自行指定GEE中某个图层的投影坐标系时,或是我们所导入的一景影像中不同波段之间的投影信息不同时等等,还是需要我们自行进行投影相关的操作 。本文就介绍GEE中获取图层投影信息、参考坐标系与投影坐标转换参数的方法;而关于GEE中重投影的介绍与操作,将会在下一篇博客中进行详细讲解 。
  首先,依据第九篇GEE教学博客(Google Earth Engine谷歌地球引擎GEE中JavaScript脚本语言代码基础规则与函数语句_疯狂学习GIS的博客-CSDN博客)中提及的遥感影像导入方法,导入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教学博客(Google Earth Engine谷歌地球引擎GEE中JavaScript脚本语言代码基础规则与函数语句_疯狂学习GIS的博客-CSDN博客) 。
  接下来,我们以刚刚导入的这一景Landsat 8遥感影像为例,获取并打印其投影信息 。
print("Projection and transformation information of this image:",landsat_5.projection());  其中,.projection()函数用以获取图像的投影信息 。
  但是,执行上述代码会出现如下的错误:

Google Earth Engine谷歌地球引擎投影、参考坐标系及转换参数获取

文章插图
 
  可以看到,由于Landsat 8 Collection 1 Tier 1的大气表观反射率TOA Reflectance产品影像中各波段之间的投影信息不一致,导致无法使用.projection()函数获取这一景图像的投影信息 。针对这一情况,我们首先打印一下这一景影像,看看其波段信息 。
print(landsat_5);  执行代码,得到这一景遥感影像的波段信息 。
Google Earth Engine谷歌地球引擎投影、参考坐标系及转换参数获取

文章插图
 
  通过打印得到的结果,可以看到这一景影像12个波段的投影坐标系都是一致的,均为EPSG:32650,即WGS 84下的UTM zone 50N坐标系 。这样看来各波段间投影坐标系似乎都是一致的,为什么还会出现上述报错呢?
Google Earth Engine谷歌地球引擎投影、参考坐标系及转换参数获取

文章插图
 
  查阅GEE官方文档可知,其实不仅仅是各波段间的投影坐标系需一致,还需各波段对应图层的空间分辨率亦保持一致,这样才属于投影信息一致,才可以使用.projection()函数获取这一景图像的投影信息 。我们再来看一下print()函数打印出的遥感影像信息,可以发现其第七个波段(即B8)的空间分辨率确实和其他波段不一致 。
Google Earth Engine谷歌地球引擎投影、参考坐标系及转换参数获取

文章插图
 
  将波段信息展开,可以更为清晰地看到第七个波段(即B8)与其它波段之间的区别——第七个波段尽管与其它波段的crs一致,但是其crs_transform与其它波段是不一样的 。其中,crs(即Coordinate Reference System,CRS)表示该波段投影信息的基准参考坐标系,crs_transform则表示该波段投影坐标系和基准参考坐标系之间的转换参数 。这样来看,基准坐标系crs是一致的,但由于空间分辨率不一致使得其转换参数crs_transform不一致,势必导致第七个波段(即B8)与其它波段的投影信息是不一样的,从而出现上述报错 。


推荐阅读