Google Earth Engine(GEE)—有JS和python為什么GEE還要使用rgee?
基本 rgee - 第一步
2020-01-01?941 words?5 mins read
介紹
1. 什么是谷歌地球引擎?
谷歌地球引擎是一個計算平臺,允許用戶在谷歌的基礎(chǔ)設(shè)施上運行地理空間分析。與平臺交互的方式有以下幾種:
discover
代碼編輯器
Javascript 客戶端庫
Python客戶端庫
R 客戶端庫
本網(wǎng)站重點介紹最后一個,您可以使用 R 客戶端庫向地球引擎服務(wù)器和開發(fā)Web 應(yīng)用程序發(fā)送/接收消息。
2. 地球引擎的目的是:
在全球范圍內(nèi)進行高度交互的算法開發(fā)
推動遙感大數(shù)據(jù)的極限
實現(xiàn)高影響力、數(shù)據(jù)驅(qū)動的科學(xué)
在涉及大型地理空間數(shù)據(jù)集的全球挑戰(zhàn)方面取得實質(zhì)性進展
3. 組件:
地球引擎的主要組成部分是:
數(shù)據(jù)集:公開可用的遙感圖像和其他數(shù)據(jù)的 PB 級存檔。探索數(shù)據(jù)目錄。
計算能力:谷歌的計算基礎(chǔ)設(shè)施針對地理空間數(shù)據(jù)的并行處理進行了優(yōu)化。
WEB REST API/客戶端庫:用于向地球引擎服務(wù)器發(fā)出請求。
代碼編輯器:一個在線集成開發(fā)環(huán)境 (IDE),用于使用 Javascript API 對復(fù)雜空間分析進行快速原型設(shè)計和可視化。
4. 認(rèn)識地球引擎
用戶必須考慮到地球引擎 API 和高級地球引擎功能是實驗性的,可能會發(fā)生變化。訪問受到限制,需要通過表單請求訪問。查看地球引擎官網(wǎng)獲取更多信息。
5. 為什么用 rgee 而不是代碼編輯器(Javascript)?
基于Tyler Erickson 演示的簡短比較。
6. 安裝
rgee只依賴于reticulate和processx。因此,用戶應(yīng)該確保這兩個軟件包都可以安裝在他們的系統(tǒng)上。安裝rgee運行如下:
remotes::install_github("r-spatial/rgee")
rgee有兩種類型的依賴項:在rgee安裝之前必須滿足的嚴(yán)格依賴項和解鎖所有rgee?I/0 功能的憑據(jù)依賴項。
如果沒有滿足嚴(yán)格的依賴關(guān)系,則rgee 將無法工作。組成該組的依賴項是:
已激活 Earth Engine 的 Google 帳戶
Python >= v3.5
EarthEngine Python API(Python 包)
地球引擎賬號的激活因用戶而異,詳情請查看谷歌地球引擎官網(wǎng)。如果您不計入 Python 環(huán)境或 EarthEngine Python API 版本,我們強烈建議您運行:
library(rgee)
ee_install(py_env = "rgee") # 這個只在第一次安裝就好了
該函數(shù)將實現(xiàn)以下六項任務(wù):
如果您沒有使用 Python 環(huán)境,它將顯示一個交互式菜單來安裝Miniconda?(conda的免費最小安裝程序)。
刪除以前定義的同名 Python 環(huán)境(如果存在)。
創(chuàng)建一個新的 Python 環(huán)境。
設(shè)置環(huán)境變量 EARTHENGINE_PYTHON 和 EARTHENGINE_ENV。這些變量將被用于定義網(wǎng)狀環(huán)境變量RETICULATE_PYTHON加載rgee時。
安裝 rgee Python 依賴項:Earth Engine Python API和?Numpy。
交互式菜單以確認(rèn)是否重新啟動 R 會話以查看更改。
但是,rgee::ee_install() 的使用不是強制性的。您可以依靠自己的自定義安裝。這也是允許的。如果您是 Rstudio v.1.4 > 用戶,本教程將幫助您使用 R 會話正確設(shè)置 Python 環(huán)境,而無需rgee::ee_install()。考慮到您設(shè)置的 Python Environment 必須安裝了Earth Engine Python API和Numpy。
另一方面,憑證依賴項?僅用于將數(shù)據(jù)從 Google Drive 和 Google Cloud Storage 移動到您的本地環(huán)境。這些依賴項不是強制性的。但是,它們將幫助您在 R 和 Earth Engine 之間創(chuàng)建無縫連接。組成該組的依賴項如下所示:
Google 云存儲憑據(jù)
Google 云端硬盤憑據(jù)
請參閱下一節(jié)以了解如何正確設(shè)置這兩個憑據(jù)。
7. 認(rèn)證
正如我們之前看到的,rgee處理三種不同的 Google API:
谷歌地球引擎
谷歌云端硬盤
谷歌云存儲
要驗證/初始化 Google Drive 或 Google Cloud Storage,您只需要按如下方式運行:
library(rgee)
#ee_reattach() # 重新附加ee作為保留字
#多種初始化功能可以一起用
# 只初始化地球引擎
ee_Initialize()
ee_Initialize(email = 'csaybar@gmail.com') # 使用參數(shù) email 不是強制性的
# 初始化地球引擎和GD
ee_Initialize(email = 'csaybar@gmail.com', drive = TRUE)
# 初始化地球引擎和GCS
ee_Initialize(email = 'csaybar@gmail.com', gcs = TRUE)
# 初始化地球引擎和, GD and GCS
ee_Initialize(email = 'csaybar@gmail.com', drive = TRUE, gcs = TRUE)
如果 Google 帳戶已通過驗證并授予權(quán)限,您將被定向到身份驗證令牌。復(fù)制此令牌并將其粘貼到新出現(xiàn)的 GUI 中。與 Earth Engine 和 Google Drive 不同,Google Cloud Storage 需要手動設(shè)置其憑據(jù)(link1和link2)。在所有情況下,用戶憑據(jù)始終存儲在:
ee_get_earthengine_path()
請記住,您只需授權(quán)一次,下次會話就不需要了。
8.你好世界
我們知道安裝rgee有時會令人沮喪很折磨人,所以多嘗試! :( 所以,恭喜你走到這一步:D :D。在這個小例子中,將向您展示如何在全球范圍內(nèi)顯示 SRTM 高程值!。
定義可視化參數(shù)
viz <- list(
max = 4000,
min = 0,
palette = c("#000000","#5AAD5A","#A9AD84","#FFFFFF")
)
使用 Map$addLayer 以交互方式可視化地圖
Map$addLayer(
eeObject = srtm,
visParams = viz,
name = 'SRTM',
legend = TRUE
)
最后加載到的結(jié)果!
API Python
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。