Google Earth Engine : 자바 스크립트 API와 Python API

Sep 22 2020

Google Earth Engine은 Python API 또는 브라우저의 Javascript API를 통해 가장 일반적으로 사용되는 것으로 보입니다. 하나를 결정하기 위해 Tyler Erickson 프레젠테이션 에서이 비교를 보았습니다 .

일부 차이점은 분명하지만 (예 : Python에서 더 많은 플로팅 옵션), 다른 것들은 나에게 더 추상적입니다.


질문 :

  1. 실제로 Python API에서 '어스 엔진에 대한 일련의 호출'을 할 수 있다는 장점은 무엇인가요?
  2. 데이터를 내보낼 때 효율성이나 계산 속도와 관련하여 여기에 나열되지 않은 다른 차이점이 있습니까?

답변

3 TylerErickson Sep 22 2020 at 16:46

질문에서 참조 된 슬라이드의 추가 컨텍스트를 보려면 Earth Engine 코드 편집기 (Earth Engine JavaScript API에 대해 개발하기위한 웹 IDE)를 사용하는 것과 Earth Engine Python API를 사용하는 것을 비교하고 있습니다. 이 슬라이드는 3 년 전에 작성된 프레젠테이션에서 가져온 것으로 JavaScript와 Python API가 모두 변경 되었으며 코드 편집기는 스크립트 모듈을 사용하여 코드 편집기 스크립트간에 코드를 공유하는 기능과 같은 추가 기능을 얻었습니다 .

질문 # 1 :

명확히하기 위해 자바 스크립트 또는 Python 클라이언트 라이브러리 를 사용하고 코드 편집기 내에서도 일련의 요청을 할 수 있습니다 . 하지만 Python (또는 자바 스크립트) 클라이언트 라이브러리로 직접 작업하면 결과로 수행 할 수있는 작업의 측면에서 더 많은 유연성이 제공됩니다. 예를 들어 Earth Engine 호출을 다른 서비스에 대한 요청과 인터리브하고 현재 코드 편집기 개발 환경에서 지원하지 않는 라이브러리를 사용할 수 있습니다.

일련의 호출을 수행 할 수 있으면 다음 예제를 쉽게 수행 할 수 있습니다.

  • 민감도 분석. 하나 이상의 매개 변수를 변경하면서 데이터를 얻을 수 있으므로 민감도 분석 을 수행 할 수 있습니다 . 예를 들어, scale매개 변수 변경 이 ee.Image.reduceRegion 에서 얻은 결과에 어떤 영향을 미칩니 까?
  • 일련의 출력. 일련의 출력 이미지, 맵 또는 테이블을 생성 할 수 있습니다. 예를 들어 한 국가의 모든 유역에 대해 구름없는 이미지를 생성 할 수 있습니다.
  • Jupyter 노트북. 중간 결과를 표시하는 워크 플로 / 튜토리얼을 개발할 수 있습니다. 예를 들어이 가이드 에서 링크 된 Jupyter / Colab 노트북을 참조 하세요 .

질문 # 2 :

  • 슬라이드에 표시된 간단한 목록 외에도 구문의 일부 차이 와 같은 다른 차이점이 있습니다 . 또 다른 하나는 Earth Engine 코드 편집기를 사용하면 개발자가 호스팅 된 애플리케이션 ( Earth Engine 앱 ) 을 쉽게 게시 할 수 있으므로 Python API를 사용하여 동일한 작업을 수행하려면 훨씬 더 많은 작업이 필요합니다.
  • JavaScript 및 Python API는 둘 다 Earth Engine 백엔드 서버에서 수행되는 계산에 하위 수준 REST API 를 사용하므로 둘 중 하나를 사용하여 계산 또는 내보내기 성능상의 이점이 없습니다.