소개
Earth Engine 앱은 Earth Engine 분석을 위한 동적이고 공유 가능한 사용자 인터페이스입니다. 앱을 사용하면 전문가가 간단한 UI 요소를 사용하여 Earth Engine의 Data Catalog와 분석 기능을 활용할 수 있으며, 전문가와 비전문가 모두 사용할 수 있습니다.
Earth Engine에서 게시된 앱은 게시 시 생성된 애플리케이션별 URL에서 액세스할 수 있습니다. 게시된 앱을 보거나 상호작용하는 데 Earth Engine 계정이 필요하지 않습니다. 크리에이터가 추천으로 선택한 앱은 사용자별 앱 갤러리(예: USERNAME.users.earthengine.app)에서도 사용할 수 있습니다.
앱 빌드
Earth Engine 앱은 몇 가지 예외를 제외하고 코드 편집기에서 사용되는 대부분의 동일한 함수를 활용할 수 있습니다. 또한 Google은 앱 개발자를 염두에 두고 사용자 인터페이스 API를 설계했습니다. 사용자 인터페이스 API를 처음 사용하는 경우 UI API 개요를 살펴보세요.
앱 게시
코드 편집기에서 앱을 게시하려면 먼저 앱으로 만들 스크립트를 로드한 다음 앱 관리 패널을 엽니다. 이 패널은 코드 편집기의 스크립트 섹션 위에 있는 앱 버튼을 클릭하여 액세스할 수 있습니다.
그런 다음 NEW APP 버튼을 클릭합니다.
대화상자에서 편집자 액세스, 앱 이름을 선택하고 Google Cloud 프로젝트를 선택한 후 앱 소스 코드의 위치를 지정합니다. 제한 탭의 옵션을 사용하여 이 앱에 대한 액세스를 특정 Google 그룹으로 제한하거나 공개적으로 액세스할 수 있도록 유지합니다. 공개적으로 액세스할 수 있는 앱의 경우 갤러리 탭에서 앱의 맞춤 미리보기 이미지와 설명을 제공할 수도 있습니다. USERNAME.users.earthengine.app에서 제공되는 공개 앱 갤러리에 이 앱을 표시하려면 '앱 갤러리에 이 앱 표시'를 클릭합니다. 로고 탭에서 원하는 이미지를 업로드하여 앱의 왼쪽 상단에 커스텀 로고를 포함할 수 있습니다.
앱 관리
코드 편집기에서 앱을 관리하려면 코드 편집기의 스크립트 섹션 위에 있는 앱 버튼을 클릭하여 앱 관리 패널을 엽니다. 여기에서 앱 구성을 업데이트하거나 앱을 삭제할 수 있습니다.
프로젝트 소유 앱에서 다른 사용자와 공동작업
기본적으로 사용자 이름으로 게시하는 앱은 본인만 수정할 수 있습니다. 프로젝트 소유 앱을 사용하면 앱에서 공동작업을 수행할 수 있습니다. 프로젝트 소유 앱은 Cloud 프로젝트에서 소유하고 게시하는 앱입니다. Earth Engine 앱 게시자 IAM 역할이 있는 사용자는 Cloud 프로젝트에서 게시된 앱을 수정하고 삭제할 수 있습니다. 여기에서 Earth Engine IAM 역할에 대해 자세히 알아보세요.
프로젝트 소유 앱을 사용 설정하려면 '수정 액세스 권한 선택' 단계에서 Cloud 프로젝트 옵션을 선택하고 사용할 Cloud 프로젝트를 선택한 후 평소와 같이 앱 게시 흐름을 완료합니다. 앱이 PROJECT-ID.projects.earthengine.app 도메인에 게시되며 클라우드 프로젝트에 대한 Earth Engine 앱 게시자 IAM 역할이 있는 모든 사용자가 수정할 수 있습니다.
클라우드 프로젝트의 앱을 보려면 클라우드 프로젝트 추가 버튼을 누르고 클라우드 프로젝트를 선택합니다.
다른 사용자와 클라우드 프로젝트를 공유하려면 프로젝트 공유 버튼을 누릅니다. 그러면 공동작업자에게 Earth Engine 앱 게시자 IAM 역할을 부여할 수 있는 프로젝트의 Cloud 콘솔 IAM 페이지로 이동합니다.
FAQ
- 앱 갤러리에서 앱을 삭제하려면 어떻게 해야 하나요?
- 앱 구성 페이지의 '이 앱 추천' 체크박스는 앱이 추천 앱 페이지에 표시되는지 여부를 제어합니다. 액세스가 제한된 앱은 추천할 수 없습니다.
- 내 Earth Engine 코드가 표시되나요?
- 예, 앱에 액세스할 수 있는 모든 사용자에게 표시됩니다. 앱이 게시될 때 명확하게 표시되지는 않지만, 웹브라우저로 전송되는 네트워크 트래픽을 관찰하면 앱의 JavaScript를 쉽게 볼 수 있습니다. 예를 들어 Chrome에서는 개발자 도구의 네트워크 패널을 보면 자바스크립트가 표시됩니다.
- 게시된 앱에서 '지도의 일부를 로드하는 중에 오류가 발생했습니다' 오류가 발생하는 원인은 무엇인가요?
- 앱에 사용되는 모든 이미지 또는 테이블 애셋이 공개적으로 또는 앱과 공유되는지 확인합니다. 애셋 공유 대화상자에서 '누구나 읽을 수 있음' 옵션을 선택하거나 드롭다운 목록에서 앱 이름을 선택합니다. Google 그룹으로 제한된 앱의 경우 해당 Google 그룹과 애셋을 공유해도 앱에서 볼 수 없습니다. 대신 애셋을 앱과 공유하거나 공개적으로 공유해야 합니다.
- '앱이 아직 준비되지 않음' 페이지가 표시되는 이유는 무엇인가요?
- 앱이 생성된 후 정보가 시스템에 전파되는 데 다소 시간이 걸릴 수 있습니다. 이 문제는 일반적으로 몇 분 이내에 해결됩니다. 오류가 계속되면 도움을 요청하세요.
- 그린 도형이 앱에 표시되는 이유는 무엇인가요?
- 이렇게 하면 앱에서 참조 도형을 쉽게 표시할 수 있으며 사용자가 도형을 수정할 수 있는 앱을 만들 수 있습니다. 특정 도형을 표시하거나 수정하지 않으려면 개별 도형 레이어를 숨기거나 잠가 사용자가 앱을 게시하기 전에 보거나 수정하지 못하도록 할 수 있습니다. 자세한 내용은 도형 도구 문서를 참고하세요.
- 앱 할당량이란 무엇인가요?
- 잘못되거나 리소스를 많이 사용하는 스크립트가 서비스 가용성에 부정적인 영향을 미치지 않도록 Earth Engine에는 동시 쿼리에 대한 앱 사용 할당량이 있습니다. 이 할당량은 Earth Engine의 사용자별 할당량과 유사하게 작동하지만, 특정 사용자가 아닌 앱에 연결된다는 점이 다릅니다.
- 내가 만드는 앱마다 자체 할당량이 있나요?
- 예, 각 앱에는 별도의 할당량이 연결되어 있습니다. API 키로 만든 이전 앱의 경우 할당량은 앱의 API 키를 생성하는 Cloud 프로젝트에 연결됩니다. 동일한 Cloud 프로젝트에서 여러 API 키를 생성하면 모두 동일한 사용 할당량을 공유합니다.
- Cloud Billing 계정이 필요한 이유는 무엇인가요? 앱에 요금이 청구되나요?
- 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 테이블 애셋으로 저장하는 등 애플리케이션에 캐싱을 사용 설정하는 것이 좋습니다.