日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

 本文主要對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()函數用以獲取圖像的投影信息。

  但是,執行上述代碼會出現如下的錯誤:

 

  可以看到,由于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 SystemCRS)表示該波段投影信息的基準參考坐標系,crs_transform則表示該波段投影坐標系和基準參考坐標系之間的轉換參數。這樣來看,基準坐標系crs是一致的,但由于空間分辨率不一致使得其轉換參數crs_transform不一致,勢必導致第七個波段(即B8)與其它波段的投影信息是不一樣的,從而出現上述報錯。

 

  因此,我們需要對波段進行篩選。首先,依據第二篇GEE教學博客(Google Earth Engine谷歌地球引擎GEE中JavaScript腳本語言代碼基礎規則與函數語句_瘋狂學習GIS的博客-CSDN博客)中提及的GEE數據搜索方法,我們搜索并查看Landsat 8 Collection 1 Tier 1的大氣表觀反射率TOA Reflectance產品的波段信息。

 

  可以看到,其中B2、B3與B4波段分別為藍、綠、紅三種顏色對應的波段;我們就以這三個波段為例繼續進行后續操作。基于第六篇GEE教學博客(Google Earth Engine谷歌地球引擎GEE柵格代數與NDVI波段計算手動求取_瘋狂學習GIS的博客-CSDN博客_gee波段計算)中介紹的.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());

 

  可以看到,獲得的結果為30m,亦即Landsat 8可見光波段的空間分辨率。

分享到:
標簽:地球
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定