Earth Engine에서 이미지 데이터 가져오기
Earth Engine에서 Google Drive, Cloud Storage 또는 Earth Engine 애셋으로 이미지 데이터를 가져오려면 Export를 사용하면 되며, 작업은 Earth Engine에서 전적으로 처리됩니다. 내보내기 작업에 확장 문제가 있거나 (예: 하루 이상 걸리거나 메모리 또는 제한 시간 오류가 반환됨) Apache Beam, Spark 또는 Dask와 같은 프레임워크에 이미 익숙한 경우 여기에 설명된 데이터 추출 방법을 사용하는 것이 좋습니다. 이러한 프레임워크에서 구현된 워크플로는 Dataflow 또는 Dataproc과 같은 Google Cloud 도구를 사용하여 확장할 수 있습니다.
특히 이 가이드에서는 getPixels 또는 computePixels를 사용하여 이미지 데이터를 수동으로 요청하는 방법을 설명합니다.
여기서 '이미지 데이터'는 일관된 배율과 투영을 사용하는 픽셀 값의 다차원 배열을 의미합니다. 요청에 지역, 배율, 투영 또는 측정기준이 지정됩니다. ImageFileFormat 페이지에는 가능한 출력 형식이 나열되어 있습니다. 출력 대상에는 Cloud Storage 또는 로컬로 마운트된 디렉터리가 포함됩니다. 수동 요청은 복잡성을 더하지만 더 큰 워크로드로 확장할 수 있습니다.
기존 애셋에서 이미지 데이터 가져오기
getPixels를 사용하여 기존 Earth Engine 애셋에서 이미지 데이터를 가져옵니다. 애셋 ID를 요청에 직접 전달하므로 픽셀을 추출하기 전에 픽셀에 대한 계산을 수행할 수 없습니다. 지정된 리전, 배율, 투영, 형식의 픽셀 블록이 반환됩니다. 다음 예시에서는 getPixels를 사용하여 MODIS 이미지 컬렉션에서 NDVI의 시계열을 가져오는 방법을 보여줍니다.
계산된 이미지에서 이미지 데이터 가져오기
computePixels를 사용하여 계산된 이미지(예: 합성)에서 이미지 데이터를 가져옵니다. computePixels를 사용하면 expression 매개변수를 통해 계산된 ee.Image 객체를 전달합니다. 지정된 리전, 축척, 투영, 형식의 계산된 픽셀 블록이 반환됩니다. 다음 예시에서는 구름이 없는 Sentinel-2 합성에서 다중 스펙트럼 데이터의 패치를 가져오는 방법을 보여줍니다.
요청의 수동 동시 로드
어떤 목적으로든 어떤 규모로든 요청할 수 있지만, 대규모 워크플로의 경우 요청을 병렬화하는 것이 좋습니다. 이러한 요청을 동시에 여러 개 실행하려면 Earth Engine 대용량 엔드포인트를 사용해야 합니다. 보유할 수 있는 동시 요청 수는 동시 대화형 요청 할당량에 따라 설정됩니다. 대용량 엔드포인트를 사용하는 경우에 대한 자세한 내용은 Earth Engine 대용량 페이지를 참고하세요.
멀티스레딩
스레드를 사용하여 동시 요청을 수행할 수 있습니다. 이 접근 방식은 getPixels 및 computePixels 예시 노트북에 설명되어 있습니다.
Apache Beam
Apache Beam 파이프라인을 사용하여 요청을 병렬화할 수 있습니다. 이러한 파이프라인은 로컬에서 또는 Google Dataflow 작업으로 실행할 수 있습니다. 예시는 이 Geo for Good 교육 또는 이 사람, 지구, AI 데모를 참고하세요. 또는 다른 병렬화 라이브러리에는 Dask 및 Apache Spark가 포함됩니다.
Google Colab에서 실행
GitHub에서 소스 보기