Google Earth Engine: API Javascript vs. API Python
Google Earth Engine tampaknya paling umum digunakan baik melalui API Python, atau API Javascript di browser. Mencoba memutuskan satu, saya menemukan perbandingan ini, dari presentasi Tyler Erickson :
Sementara beberapa perbedaan jelas (misalnya lebih banyak opsi plotting dengan Python), yang lain lebih abstrak bagi saya.
Pertanyaan:
- Secara praktis, apa keuntungan dari dapat membuat "serangkaian panggilan ke Earth Engine" di Python API?
- Adakah perbedaan lain yang tidak tercantum di sini, mungkin dalam hal efisiensi saat mengekspor data, atau kecepatan komputasi?
Jawaban
Untuk konteks tambahan pada slide yang direferensikan dalam pertanyaan, perhatikan bahwa ini membandingkan menggunakan Editor Kode Earth Engine (IDE web untuk mengembangkan dengan API JavaScript Earth Engine) dengan menggunakan API Python Earth Engine. Slide ini berasal dari presentasi yang dibuat lebih dari 3 tahun yang lalu, dan JavaScript dan Python API telah berubah dan Code Editor telah memperoleh fitur tambahan seperti kemampuan untuk berbagi kode antara skrip Code Editor menggunakan modul skrip .
Untuk Pertanyaan # 1:
Untuk memperjelas, serangkaian permintaan dapat dibuat menggunakan pustaka klien JavaScript atau Python , dan juga dari dalam Editor Kode. Namun, bekerja langsung dengan pustaka klien Python (atau JavaScript) memberi Anda lebih banyak fleksibilitas dalam hal apa yang dapat Anda lakukan dengan hasil. Misalnya, Anda dapat menyisipkan panggilan Earth Engine dengan permintaan ke layanan lain dan menggunakan pustaka yang saat ini tidak didukung oleh lingkungan pengembangan Editor Kode.
Mampu melakukan serangkaian panggilan memfasilitasi contoh berikut:
- Analisis Sensitivitas. Anda dapat memperoleh data sambil memvariasikan satu (atau lebih) parameter, memungkinkan Anda untuk melakukan analisis sensitivitas . Misalnya, bagaimana
scaleparameter yang berubah memengaruhi hasil yang diperoleh dari ee.Image.reduceRegion ? - Rangkaian Keluaran. Anda dapat menghasilkan serangkaian gambar, peta, atau tabel keluaran. Misalnya, Anda dapat membuat gambar bebas awan untuk setiap DAS di suatu negara.
- Notebook Jupyter. Anda dapat mengembangkan alur kerja / tutorial yang menampilkan hasil antara. Misalnya, lihat notebook Jupyter / Colab yang ditautkan dari tutorial ini .
Untuk Pertanyaan # 2:
- Tentunya ada perbedaan lain di luar daftar sederhana yang ditampilkan di slide, seperti beberapa perbedaan dalam sintaks . Yang lainnya adalah Editor Kode Earth Engine memungkinkan pengembang untuk dengan mudah menerbitkan aplikasi yang dihosting (Aplikasi Earth Engine ), yang akan membutuhkan lebih banyak pekerjaan untuk melakukan hal yang sama menggunakan API Python.
- Baik JavaScript dan Python API menggunakan REST API tingkat lebih rendah untuk komputasi yang dilakukan di server backend Earth Engine, jadi tidak ada manfaat kinerja komputasi atau ekspor jika menggunakan salah satu dari yang lain.