소개
Earth Engine 앱은 Earth Engine 분석을 위한 동적이고 공유 가능한 사용자 인터페이스입니다. 앱을 사용하면 전문가가 간단한 UI 요소를 사용하여 Earth Engine의 데이터 카탈로그와 분석 기능을 활용할 수 있으며, 이를 전문가와 비전문가 모두 사용할 수 있습니다.
Earth Engine에서 게시된 앱은 게시 시 생성된 애플리케이션별 URL에서 액세스할 수 있습니다. 게시된 앱을 보거나 상호작용하기 위해 Earth Engine 계정은 필요하지 않습니다. 크리에이터가 추천으로 선택한 앱은 사용자별 앱 갤러리(예: USERNAME.users.earthengine.app).
앱 빌드
Earth Engine 앱은 몇 가지 예외를 제외하고 코드 편집기에서 사용되는 것과 동일한 함수 대부분을 활용할 수 있습니다. 또한 앱 개발자를 염두에 두고 사용자 인터페이스 API를 설계했습니다. 사용자 인터페이스 API를 처음 사용하는 경우 UI API 개요를 참고하세요.
앱 게시
Code Editor에서 앱을 게시하려면 먼저 앱으로 만들 스크립트를 로드한 다음 Code Editor의 스크립트 섹션 위에서 앱 버튼을 클릭하여 액세스할 수 있는 앱 관리 패널을 엽니다.

그런 다음 새 앱 버튼을 클릭합니다.

대화상자에서 편집기 액세스 권한, 앱 이름을 선택하고 Google Cloud 프로젝트를 선택한 후 앱의 소스 코드 위치를 지정합니다. 이 앱에 대한 액세스를 특정 Google 그룹으로 제한하거나 제한 탭의 옵션을 사용하여 공개적으로 액세스할 수 있도록 합니다. 공개적으로 액세스할 수 있는 앱의 경우 갤러리 탭에 앱의 맞춤 미리보기 이미지와 설명을 제공할 수도 있습니다. 이 앱이 USERNAME.users.earthengine.app
에서 제공되는 앱의 공개 갤러리에 표시되도록 하려면 '앱 갤러리에 이 앱 표시'를 클릭합니다. 원하는 경우 로고 탭에서 원하는 이미지를 업로드하여 앱 왼쪽 상단에 맞춤 로고를 포함합니다.




앱 관리
코드 편집기에서 앱을 관리하려면 코드 편집기의 스크립트 섹션 위에 있는 앱 버튼을 클릭하여 앱 관리 패널을 엽니다. 여기에서 앱 구성을 업데이트하거나 앱을 삭제할 수 있습니다.

프로젝트 소유 앱에서 다른 사용자와 공동작업하기
기본적으로 사용자 이름으로 게시한 앱은 본인만 수정할 수 있습니다. 프로젝트 소유 앱을 사용하면 앱에서 공동작업을 할 수 있습니다. 프로젝트 소유 앱은 Cloud 프로젝트에서 소유하고 게시하는 앱입니다. Earth Engine Apps Publisher IAM 역할이 있는 사용자는 누구나 Cloud 프로젝트에서 게시된 앱을 수정하고 삭제할 수 있습니다. 여기에서 Earth Engine IAM 역할 자세히 알아보기
프로젝트 소유 앱을 사용 설정하려면 '수정 액세스 권한 선택' 단계에서 Cloud 프로젝트 옵션을 선택하고 사용할 Cloud 프로젝트를 선택한 다음 평소와 같이 앱 게시 흐름을 완료합니다. 앱은 PROJECT-ID.projects.earthengine.app
도메인에 게시되며 Cloud 프로젝트에서 Earth Engine Apps 게시자 IAM 역할을 가진 모든 사용자가 수정할 수 있습니다.

Cloud 프로젝트의 앱을 보려면 ADD CLOUD PROJECT(Cloud 프로젝트 추가) 버튼을 누르고 Cloud 프로젝트를 선택합니다.

클라우드 프로젝트를 다른 사용자와 공유하려면 프로젝트 공유 버튼을 누릅니다. 그러면 공동작업자에게 Earth Engine Apps 게시자 IAM 역할을 부여할 수 있는 프로젝트의 Cloud Console IAM 페이지로 이동합니다.

FAQ
- 앱 갤러리에서 앱을 삭제하려면 어떻게 해야 하나요?
- 앱 구성 페이지의 '이 앱 추천' 체크박스는 앱이 추천 앱 페이지에 표시되는지 여부를 제어합니다. 액세스가 제한된 앱은 추천할 수 없습니다.
- Earth Engine 코드가 표시되나요?
- 예. 앱에 액세스할 수 있는 모든 사용자가 볼 수 있습니다. 앱이 게시될 때는 명확하게 표시되지 않지만 누구나 웹브라우저의 네트워크 트래픽을 관찰하여 앱의 JavaScript를 쉽게 볼 수 있습니다. 예를 들어 Chrome에서는 개발자 도구의 네트워크 패널을 보면 JavaScript가 표시됩니다.
- 게시된 앱에서 '지도의 일부를 로드하는 중에 오류가 발생했습니다' 오류가 발생하는 이유는 무엇인가요?
- 앱에서 사용되는 모든 이미지 또는 표 애셋이 공개적으로 또는 앱과 공유되어 있는지 확인합니다. 애셋 공유 대화상자에서 '모든 사용자에게 읽기 권한 제공' 옵션을 선택하거나 드롭다운 목록에서 앱 이름을 선택합니다. Google 그룹으로 제한된 앱의 경우 해당 Google 그룹과 애셋을 공유해도 앱에서 볼 수 없습니다. 대신 애셋을 앱과 공유하거나 공개적으로 공유해야 합니다.
- '앱이 아직 준비되지 않음' 페이지가 표시되는 이유는 무엇인가요?
- 앱이 생성된 후 정보가 시스템을 통해 전파되는 데 다소 시간이 걸릴 수 있습니다. 이 문제는 일반적으로 몇 분 이내에 해결됩니다. 오류가 계속되면 도움을 요청하세요.
- 그려진 도형이 앱에 표시되는 이유는 무엇인가요?
- 이렇게 하면 앱에 참조 도형을 쉽게 표시할 수 있으며 사용자가 도형을 수정할 수 있는 앱을 만들 수 있습니다. 특정 도형이 표시되거나 수정되지 않도록 하려면 앱을 게시하기 전에 개별 도형 레이어를 숨기거나 잠그면 사용자가 이를 보거나 수정하지 못하도록 할 수 있습니다. 자세한 내용은 도형 도구 문서를 참고하세요.
- 앱 할당량이란 무엇인가요?
- 오류가 있거나 리소스 집약적인 스크립트가 서비스 가용성에 부정적인 영향을 미치지 않도록 Earth Engine에는 동시 쿼리에 대한 앱 사용량 할당량이 있습니다. 이 할당량은 특정 사용자 대신 앱에 연결된다는 점을 제외하고 Earth Engine의 사용자별 할당량과 유사하게 작동합니다.
- 내가 만드는 각 앱에 자체 할당량이 있나요?
- 예. 각 앱에 별도의 할당량이 연결됩니다. API 키로 만든 이전 앱의 경우 할당량은 앱의 API 키를 생성하는 Cloud 프로젝트에 연결됩니다. 동일한 Cloud 프로젝트에서 여러 API 키를 생성하면 모두 동일한 사용량 할당량을 공유합니다.
- Cloud Billing 계정이 필요한 이유는 무엇인가요? 앱 요금이 청구되나요?
- YouTube는 다양한 백엔드 작업에 Google Cloud Platform을 사용합니다. Earth Engine 앱을 만드는 데는 요금이 청구되지 않습니다. 하지만 Google Cloud Storage는 무료가 아니므로 분석 결과를 Google Cloud Storage로 내보내기로 선택하면 관련 수수료가 청구될 수 있습니다.
- 앱 사용량과 할당량을 더 잘 이해하려면 어떻게 해야 하나요?
-
할당량을 초과하면 Earth Engine에서
HTTP 429: Too Many Requests
오류를 반환할 수 있습니다. 일반적으로 이러한 오류는 지수 백오프로 요청을 래핑하고 쿼리가 성공할 때까지 쿼리를 재시도하는 Earth Engine 클라이언트 라이브러리에서 처리합니다. Earth Engine 클라이언트 라이브러리는 요청을 5번 재시도합니다.앱이 인기를 얻어 많은 사용자에게 할당량 초과 오류가 발생하면 사용자에게 경고 메시지가 표시되고 Earth Engine에서 앱에 대한 액세스를 일시적으로 제한해야 할 수 있습니다.
429 오류가 발생하지 않도록 하려면 애플리케이션에서 캐싱을 사용 설정하는 것이 좋습니다. 예를 들어 캐시 가능한 집계 통계를 실시간으로 계산하는 대신 Earth Engine 테이블 애셋으로 저장할 수 있습니다.