Earth Engine Python API dapat di-deploy di notebook Google Colaboratory. Notebook Colab adalah notebook Jupyter yang berjalan di cloud dan sangat terintegrasi dengan Google Drive, sehingga mudah disiapkan, diakses, dan dibagikan. Jika Anda tidak terbiasa dengan Google Colab atau notebook Jupyter, luangkan waktu untuk menjelajahi situs selamat datang Colab.
Bagian berikut menjelaskan cara men-deploy Earth Engine di Google Colab dan memvisualisasikan peta dan diagram menggunakan paket Python pihak ketiga.
Membuka notebook Colab
Notebook dapat dibuka dari Google Drive atau antarmuka Colaboratory.
Notebook baru
Google Drive
Buka Google Drive dan buat file baru.
- Baru > Lainnya > Kolaborasi
- Klik kanan folder, lalu pilih Lainnya > Colaboratory dari menu konteks.
Antarmuka Colab
Buka situs Colab dan buat file baru.
- File > New > New Python 3 notebook
- Jika sebelumnya Anda telah berinteraksi dengan Colab, mengunjungi situs yang ditautkan di atas akan memberi Anda file explorer tempat Anda dapat memulai file baru menggunakan menu dropdown di bagian bawah jendela.
Notebook yang ada
File notebook yang ada (.ipynb) dapat dibuka dari Google Drive dan antarmuka Colab.
Google Drive
Notebook Colab dapat berada di berbagai folder di Google Drive, bergantung pada tempat file notebook dibuat. Notebook yang dibuat di Google Drive akan ada di folder tempat notebook tersebut dibuat atau dipindahkan. Notebook yang dibuat dari antarmuka Colab akan otomatis disimpan ke folder bernama 'Notebook Colab' yang otomatis ditambahkan ke folder 'Drive Saya' di Google Drive Anda saat Anda mulai menggunakan Colab.
File Colab dapat diidentifikasi dengan simbol 'CO' berwarna kuning dan ekstensi file '.ipynb'. Buka file dengan mengklik dua kali file tersebut dan memilih Buka dengan > Colaboratory dari tombol yang ada di bagian atas halaman yang dihasilkan atau dengan mengklik kanan file dan memilih Buka dengan > Colaboratory dari menu konteks file.
Antarmuka Colab
Membuka notebook dari antarmuka Colab memungkinkan Anda mengakses file yang ada dari Google Drive, GitHub, dan hardware lokal. Mengunjungi antarmuka Colaboratory setelah penggunaan awal akan menyebabkan modal file explorer muncul. Dari tab di bagian atas file explorer, pilih sumber dan buka file .ipynb yang ingin Anda buka. File Explorer juga dapat diakses dari antarmuka Colab dengan memilih File > Open notebook atau menggunakan kombinasi keyboard Ctrl+O.
Mengimpor API dan mendapatkan kredensial
Bagian ini menunjukkan cara mengimpor Earth Engine Python API dan mengautentikasi akses. Konten ini juga tersedia sebagai notebook Colab:
Earth Engine API disertakan secara default di Google Colaboratory sehingga hanya memerlukan impor dan autentikasi. Langkah-langkah ini harus diselesaikan untuk setiap sesi Colab baru atau jika Anda memulai ulang kernel Colab atau jika virtual machine Colab Anda didaur ulang karena tidak aktif.
Mengimpor API
Jalankan sel berikut untuk mengimpor API ke sesi Anda.
import ee
Mengautentikasi dan melakukan inisialisasi
Jalankan fungsi ee.Authenticate
untuk mengautentikasi akses Anda ke server Earth Engine dan ee.Initialize
untuk melakukan inisialisasi. Tambahkan sel kode, masukkan baris berikut, edit project, dan jalankan sel.
# Trigger the authentication flow. ee.Authenticate() # Initialize the library. ee.Initialize(project='my-project')
Anda akan diminta untuk memberikan otorisasi akses ke akun Earth Engine Anda. Ikuti petunjuk yang dicetak ke sel untuk menyelesaikan langkah ini.
Menguji API
Uji API dengan mencetak ketinggian Gunung Everest. Perhatikan bahwa sebelum menggunakan API, Anda harus menginisialisasi API. Jalankan skrip Python berikut di sel baru.
# Print the elevation of Mount Everest. dem = ee.Image('USGS/SRTMGL1_003') xy = ee.Geometry.Point([86.9250, 27.9881]) elev = dem.sample(xy, 30).first().get('elevation').getInfo() print('Mount Everest elevation (m):', elev)
Visualisasi peta
Objek ee.Image
dapat ditampilkan ke sel output notebook. Dua contoh berikut
menunjukkan tampilan gambar statis dan peta interaktif.
Gambar statis
Modul IPython.display
berisi fungsi Image
, yang dapat menampilkan
hasil URL yang mewakili gambar yang dihasilkan dari panggilan ke fungsi Earth Engine getThumbUrl
. Skrip berikut akan menampilkan thumbnail
model elevasi global.
# Import libraries. import ee from IPython.display import Image # Trigger the authentication flow. ee.Authenticate() # Initialize the library. ee.Initialize(project='my-project') # Import a DEM and display a thumbnail of it. dem = ee.Image('USGS/SRTMGL1_003') Image(url=dem.updateMask(dem.gt(0)) .getThumbUrl({'min': 0, 'max': 4000, 'dimensions': 512, 'palette': ['006633', 'E5FFCC', '662A00', 'D8D8D8', 'F5F5F5']}))
Peta interaktif
Paket folium
dapat digunakan untuk menampilkan objek ee.Image
di peta
Leaflet interaktif. Folium tidak memiliki metode default untuk menangani ubin dari Earth Engine, sehingga metode harus ditentukan dan ditambahkan ke modul folium.Map
sebelum digunakan.
Skrip berikut memberikan contoh penambahan metode untuk menangani ubin Earth Engine dan menggunakannya untuk menampilkan model elevasi ke peta Leaflet.
# Import libraries. import ee import folium # Trigger the authentication flow. ee.Authenticate() # Initialize the library. ee.Initialize(project='my-project') # Define a method for displaying Earth Engine image tiles to folium map. def add_ee_layer(self, ee_image_object, vis_params, name): map_id_dict = ee.Image(ee_image_object).getMapId(vis_params) folium.raster_layers.TileLayer( tiles = map_id_dict['tile_fetcher'].url_format, attr = "Map Data © Google Earth Engine", name = name, overlay = True, control = True ).add_to(self) # Add EE drawing method to folium. folium.Map.add_ee_layer = add_ee_layer # Fetch an elevation model. dem = ee.Image('USGS/SRTMGL1_003') # Set visualization parameters. vis_params = { 'min': 0, 'max': 4000, 'palette': ['006633', 'E5FFCC', '662A00', 'D8D8D8', 'F5F5F5']} # Create a folium map object. my_map = folium.Map(location=[20, 0], zoom_start=3) # Add the elevation model to the map object. my_map.add_ee_layer(dem.updateMask(dem.gt(0)), vis_params, 'DEM') # Add a layer control panel to the map. my_map.add_child(folium.LayerControl()) # Display the map. display(my_map)
Visualisasi diagram
Beberapa fungsi Earth Engine menghasilkan data tabel yang dapat dipetakan oleh
paket visualisasi data seperti matplotlib
. Contoh berikut
menunjukkan tampilan data tabel dari Earth Engine sebagai plot
titik. Lihat Pembuatan diagram di Colaboratory
untuk mengetahui informasi selengkapnya.
# Import libraries. import ee import matplotlib.pyplot as plt # Trigger the authentication flow. ee.Authenticate() # Initialize the Earth Engine module. ee.Initialize(project='my-project') # Fetch a Landsat TOA image. img = ee.Image('LANDSAT/LT05/C02/T1_TOA/LT05_034033_20000913') # Select Red and NIR bands, scale them, and sample 500 points. samp_fc = img.select(['B3','B4']).sample(scale=30, numPixels=500) # Arrange the sample as a list of lists. samp_dict = samp_fc.reduceColumns(ee.Reducer.toList().repeat(2), ['B3', 'B4']) samp_list = ee.List(samp_dict.get('list')) # Save server-side ee.List as a client-side Python list. samp_data = samp_list.getInfo() # Display a scatter plot of Red-NIR sample pairs using matplotlib. plt.scatter(samp_data[0], samp_data[1], alpha=0.2) plt.xlabel('Red', fontsize=12) plt.ylabel('NIR', fontsize=12) plt.show()