Google Earth Engine學習筆記


  背景:去年的一個項目要影像對比功能,本來數據都是客戶航拍的,18年的影像數據已經航拍到了,結果去年管控不讓拍了,所以這個艱巨的任務就落到我身上了。試過太樂地圖(暫時不能下載歷史影像,下載到的是18年的數據,毫無意義,原本的數據就是2018年的),后來試了中科圖新的LocaSpace(下載后拼接為tif后有的png丟失,並且拼接后無法正常用geoserver發布),后來打算用bigMap,咨詢了淘寶客服key要3500元左右,可以下載谷歌歷史影像,但是當地19年年底的影像只有19級,有點模糊,我突然領悟到級別不是下載器說了算,而是本來谷歌數據決定的,本來都打算要買了,想通了這一點后,覺得沒有買的必要性,后來發現了免費的紅豆地球,下載到了那部分歷史影像,本來我是非常討厭這款軟件的作者的,在群里亂踢人。不過這次倒是解了我燃眉之急。

  Google Earth Engine,需要Scientific Internet,這還是一留學美國博士推薦的,打算這周趁着有點時間研究下,之前略微了解一些了,對於遙感小白來說,先學會下載數據再說。

  一.先注冊賬號

    我大概用的谷歌賬號直接注冊的,填一些必要的信息就行了。

    后續:今天突然發現,我注冊的竟然沒通過,據說要教育郵箱才好通過,只能后面再說了!

    https://medium.com/google-earth

    https://www.bilibili.com/video/av48083555/?p=2

    https://www.bilibili.com/video/av25240619/

    2020.5.21 

    事情有了進展,我的賬號本來是通過的,我以為沒通過,因為用的時候報錯 token、auth這種字眼,就覺得是權限問題。所以自己重新注冊了個谷歌賬號,特意用了英文名字,注冊GEE時還把地區設為美國,機構設為美國的某所大學,提交后,得到反饋,說是沒通過,具體郵件如下:

  

 

 

   大概意思就是:感謝您的應用使用Earth Engine。很遺憾,我們無法使用所提供的信息來驗證您的帳戶。為了增加驗證的可能性,請使用以下方式注冊:與公認的研究或教育組織相關的電子郵件,您的全名,您的組織的全名(即無縮寫)以及您要完成的工作的詳細說明與地球引擎。您可能需要在隱身窗口中執行此操作。真誠的地球引擎小組

  從GEE群里看到的情況是只要是.edu的郵箱基本秒過,問過一個教師行業的朋友,竟然也沒有edu郵箱,以前覺得這種郵箱沒啥用,到了關鍵時刻還真需要這個,據說有好多優惠,比如亞馬遜prime,office。

  當看完這封郵件,回想起跟之前的郵件不一樣,突然覺得,之前應是審核通過了,之前收到的郵件內容為:

  

 

 

 

 

  大概意思是:歡迎,你可以訪問GEE的那些功能網站,建議先看看相關文檔。

  既然已經獲取到許可了,就去隨便找個例子先試試:

  

 

 

   執行后:

  

   這說明是可以用的。

  總結:從GEE群里得知現在申請要教育郵箱才行,其它的很難通過,申請被駁回的郵件來看,也驗證了這一點,具體解決辦法要么找朋友的教育郵箱,據說國內的就行;要么去某購物網站買個臨時用用,這種不安全,容易掛掉。我自己的用的是Gmail郵箱,5月初申請的,也通過了,找了下原因,當時注冊GEE填資料也是隨便填了下,國家還寫了中國,那么原因只有一個了,我的谷歌郵箱是2015年的,算是老賬號了,新申請的郵箱去注冊GEE,直接被駁回,所以猜測gmail老賬號通過率也很高。這個是之前做亞馬遜時得到的經驗,好多店家會養號,越是老賬號,官方會人為你的信用更高,不會亂來。所以有條件的可以多申請一個谷歌賬號,放那養着。

  二.進入代碼編輯平台

    

    

2020.5.26

    

  今天看到這個例子驚艷到我了,所以想用這個例子來探索學習的思路。

  左側是示例代碼;中間是代碼塊;右側是輸出的圖表,圖表右上角有個分享的按鈕,點擊后跳轉網頁可以保存圖片或者輸出csv;下方layer1是高程圖,layer2是添加的點坐標(樣式紅色的點),layer旁邊有滑塊,可以調節圖層的透明度。

  現在結合代碼和右邊輸出的圖表,詳細解析一下代碼。

  這代碼打眼上去就很親切,JavaScript,跟webGIS開發一樣的思路,除了print函數沒用過之外,別的都熟悉,看到print又以為是Python,但看到聲明變量用var,Python貌似是不用var的,又查閱了官網,可以確定是JS代碼。

 

 Python代碼和js代碼都用過,以前覺得這兩種語言太不正規了,最開始接觸的是C語言,C#這種強類型語言,對弱類型的語言內心是不認可的,沒想到幾年后,Python很火,js在前端也是最火的,C#好多公司已經不用了,改用java。

  現在直接分析代碼(根據自己的開發經驗所述,暫時沒時間細看文檔):

  代碼第三行,大概意思就是根據參數的名字來獲取這張影像,聲明一個變量elevation,將這張影像(對象)賦值給這個變量。如果我們不知道這個函數的意思,可以去查一下官方的reference

     

  4~23行,聲明一個數組,這個數組共有9個點要素(有坐標有名字)。我們可以再去查一下ee.Feature()和ee.Geometry.Point(),根據這個例子,我們基本就知道怎么用了,細節的東西當然還是要去看reference。

  25行,聲明一個ee.FeatureCollection(),看字面意思是要素集合,就是把那9個點要素放到這個集合里。

  27~32行,聲明一個chart,里面的前兩個參數是上面聲明的,根據這個影像和點集獲取到這9個位置的高程,比例尺為200,X坐標顯示點名稱。

  33~41行,再對這個chart設置幾個可選的屬性,依次為標題,Y坐標軸的標題,圖例,線寬,點的大小。

  43行,打印chart,chart就出現在右側控制台窗口,這點讓我這個初學者覺得很神奇,谷歌簡直太強大了。

  45~46行,在地圖上添加高程圖層、點集圖層,設置中心點坐標和縮放級別。

   其實接觸到GEE的最初的目的是下載影像,后面再研究吧,接下來要看官網的這幾個東西,才能學好,目前,我們已經算是入門了。

  

   三.在QGIS中使用GEE

  先收藏幾個不錯的網址:

  在QGIS中使用Google Earth Engine的270多個Python示例的集合

  使用Google Earth Engine創建地圖

  qgis-earthengine-examples

  qgis-earthengine-plugin

  qgis-earthengine-plugin官方

  無法安裝Google Earth Engine插件

   2020.6.4

  解決問題:安裝MiniConda    安裝navigator

       WUR地理腳本

       https://geoscripting-wur.github.io/Earth_Engine/

        https://github.com/gee-community/qgis-earthengine-plugin/issues/35

https://github.com/gee-community/qgis-earthengine-plugin/issues?q=is%3Aissue+is%3Aclosed

參考網址:

     

·      GEE學習筆記 一:GEE簡單介紹

     GEE學習筆記 二:編輯器操作界面介紹

     Google Earth Engine學習筆記——介紹和入門

     GEE文檔地址

     好消息!基於QGIS的Google Earth Engine插件已發布

     高等教育的地球引擎資源

     Python gee

     earth lab

       bountysource

     八千鳥的博客

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM