자주 묻는 질문(FAQ)

일반적인 질문

문제가 있어 도움이 필요합니다.

이 가이드에 따라 질문을 게시하고 가능한 한 많은 정보를 제공합니다 (Stack Overflow의 적절한 질문을 하는 방법 가이드 참고). 일반적으로 다음을 의미합니다.

  • 코드 편집기에서 스크립트 링크를 전송합니다('링크 가져오기' 버튼을 클릭하여 링크를 가져옴).

  • 스크립트를 실행하는 데 필요한 애셋을 공유합니다.

  • 실패한 일괄 작업의 경우 실패한 작업의 ID를 보고합니다. 작업 ID는 4C25GIJBMB52PXTEJTF4JLGL와 같습니다. 코드 편집기의 작업 탭에서 확인할 수 있습니다. 자세히 알아보기

Earth Engine 아키텍처에 대한 정보는 어디에서 확인할 수 있나요?

Gorelick et al. 2017 논문을 참고하세요.

EDU교육 리소스 페이지를 참고하세요.

원격 감지 소개 동영상이 포함된 Ujaval Gandhi의 무료 EE 과정을 참고하세요.

Earth Engine 프로그래밍

일반적인 코딩 오류는 무엇인가요?

디버깅 가이드를 참고하세요.

'... 은 함수가 아닙니다' 오류가 발생하는 이유는 무엇인가요?

이 오류는 Earth Engine에서 호출된 메서드를 찾을 수 없는 경우에 발생합니다. 다음과 같은 일반적인 원인을 확인하세요.

맞춤법 또는 대소문자 구분: 메서드는 대소문자를 구분합니다. API 참조에 따라 맞춤법을 확인합니다.

Error: img.normalizedDiff(...) -> Correct: img.normalizedDifference(...)

누락된 유형 변환: .get()와 같은 함수에서 반환된 값은 일반 ee.ComputedObject 인스턴스이며 명시적으로 변환해야 합니다. 알 수 없는 객체 유형 캐스팅을 참고하세요.

Error: dict.get('val').add(5) -> Correct: ee.Number(dict.get('val')).add(5)

클라이언트 및 서버 메서드 혼합: Earth Engine 객체에서 표준 JavaScript 또는 Python 메서드 (예: .push() 또는 .append())를 사용하지 않아야 합니다. 클라이언트 및 서버 기능 혼합 방지를 참고하세요.

Error: list.push(4) or list.append(4) -> Correct: list.add(4)

사용할 수 없는 메서드: 객체의 유형이 올바르고 메서드가 문서에 있거나 이전에 작동했지만 지금은 실패하는 경우 버그를 신고하세요.

ee.Image("image") * 2과 같은 기본 수학을 사용할 수 없는 이유는 무엇인가요?

EE에서는 서버 측 객체와 클라이언트 측 객체 또는 작업을 혼합해서는 안 됩니다. EE 객체에 대한 모든 작업은 서버 측에서 실행됩니다. 클라이언트 측 계산은 의도한 대로 작동하지 않습니다. 이 페이지에서 자세히 알아보세요.

for 루프 또는 if/else 문을 사용하려면 어떻게 해야 하나요?

Earth Engine 프로그래밍은 함수형 언어를 사용하여 실행되므로 루프와 조건부 작업은 map 또는 filter과 같은 동등한 개념을 사용하여 표현해야 합니다. 자세한 내용은 이 페이지를 참고하세요.

이미지 또는 동영상에 텍스트 라벨을 표시하려면 어떻게 해야 하나요?

텍스트 라벨에 대한 기본 제공 지원은 없지만 다음 작업을 할 수 있습니다.

  • 서드 파티 JS 패키지를 사용합니다. 예시 보기
  • 서드 파티 Python 패키지 geemap을 사용합니다.
  • EE QGIS 플러그인을 사용하여 EE 이미지를 가져와 QGIS 사용

표준 색상 팔레트를 사용할 수 있나요?

서드 파티 JS 패키지 ee-palettes를 사용합니다.

Earth Engine을 사용하는 웹사이트를 만들려면 어떻게 해야 하나요?

기본 애플리케이션에는 Earth Engine 앱을 사용합니다. 더 복잡한 경우에는 EE 기반 App Engine 앱을 빌드할 수 있습니다.

지도 ID는 어떻게 작동하나요?

지도 ID (API 전체에서 mapid라고 함)는 클라이언트가 지도 타일을 가져올 수 있도록 하는 키입니다. 각 ID는 이미지 표현식을 getMapId 엔드포인트에 제공하여 생성된 해시입니다. 결과 ID는 나중에 타일을 생성하는 데 사용될 이미지 표현식사용자 인증 정보를 모두 가리키는 키입니다.

지도 타일을 요청하려면 타일의 위치 (x, y, zoom)와 mapid (이미지 및 사용자 인증 정보의 키)를 지정해야 합니다. 동일한 ID를 재사용하여 여러 지도 타일을 로드할 수 있습니다. mapid 키의 재사용에는 제한이 없지만 몇 시간 후에 만료됩니다. 이러한 ID가 유지되는 기간에 관한 구체적인 일정은 게시되지 않지만 작성하는 코드는 ID 만료에 탄력적이어야 합니다.

이러한 ID를 만들려면 소량의 데이터를 저장하고 사용자 인증 정보를 검증해야 하므로 가능한 한 오랫동안 재사용하는 것이 좋습니다. getMapId 엔드포인트와 특별히 연결된 API 할당량은 없지만 타일을 가져오는 속도와 비슷한 속도로 mapid 객체를 만드는 워크플로는 잘못된 작업을 하고 있을 가능성이 높습니다. 이러한 ID는 일시적인 리소스이므로 Earth Engine에는 이러한 ID를 삭제, 나열 또는 관리하는 API 엔드포인트가 없습니다.

ee.Algorithms.If()에서 true와 false 사례를 모두 출력하는 이유는 무엇인가요?

function a() { print("true"); }
function b() { print("false"); }
// Prints 'true' and 'false'.
ee.Algorithms.If(true, a(), b());

If() 알고리즘은 알고리즘 자체가 실행되기 전에 모든 인수를 평가해야 한다는 점에서 Earth Engine의 다른 모든 알고리즘과 동일하게 작동합니다. 알고리즘은 trueCasefalseCase 결과를 모두 가져온 다음 condition 인수를 기반으로 하나를 선택하여 반환하지만, 이러한 값이 알고리즘에 전달되려면 두 경로가 모두 실행되어야 합니다.

'요청 페이로드 크기가 한도를 초과합니다' 오류가 표시됨

Earth Engine에 매우 큰 요청을 보내려고 합니다. 이는 일반적으로 코드가 많은 클라이언트 측 'for' 루프를 사용하거나 많은 geometry 객체로 FeatureCollection을 구성할 때 발생합니다. 후자의 경우 스크립트에서 이러한 도형을 만드는 대신 도형이 포함된 CSV 파일을 생성하고 표 애셋에 업로드합니다.

ee.Image.clip()ee.Filter.bounds()의 차이점은 무엇인가요?

이 GIS Stack Exchange 스레드를 참고하세요. ee.Image.clip() 함수는 지정된 ee.Geometry 또는 ee.Feature와 교차하지 않는 픽셀을 마스크 처리하여 시각화에서 투명하게 만들고 계산에서 제외합니다. 이미지에서 픽셀을 잘라내는 것으로 개념화할 수 있습니다.

ee.Filter.bounds() 함수는 ee.Geometry 또는 ee.Feature와의 이미지 교차를 기반으로 ee.ImageCollection에서 ee.Image 객체를 필터링합니다. 분석 범위를 지정된 영역과 교차하는 이미지로만 제한하는 데 사용되며, 표현식을 최적화하는 데 도움이 됩니다.

이미지 픽셀을 픽셀당 하나의 특징이 있는 특징 컬렉션으로 변환하는 방법

ee.Image.sample() 함수를 사용합니다. 함수의 API 참조 페이지에서 사용 예시를 확인하세요.

ee.ImageCollection.merge()ee.ImageCollection.combine()의 차이점은 무엇인가요?

ee.ImageCollection.merge() 함수는 각 이미지의 밴드, 메타데이터, CRS 또는 스케일이 일치하는지 여부와 관계없이 두 컬렉션의 모든 이미지를 하나의 컬렉션으로 병합합니다. 두 컬렉션의 합집합입니다. combine() 메서드는 두 컬렉션의 일치하는 이미지 밴드를 하나의 컬렉션으로 결합합니다. 일치하는 이미지는 동일한 ID (system:index 속성)를 공유합니다. 일치하는 이미지의 밴드가 결합되는 이미지 ID를 기반으로 하는 두 컬렉션의 내부 조인입니다. 일치하는 이미지의 경우 보조 이미지의 밴드가 기본 이미지에 추가됩니다 (덮어쓰기는 선택사항). 일치하는 이미지가 없으면 빈 컬렉션이 반환됩니다.

여러 기간에 걸쳐 이미지 컬렉션을 필터링하려면 어떻게 해야 하나요?

이 GIS Stack Exchange 스레드를 참고하세요. merge()를 사용하여 여러 컬렉션을 함께 쿼리하거나 ee.Filter.or()를 사용합니다.

특정 점 주변에 경계 상자를 만드는 방법

// Buffer the point by a chosen radius and then get the bounding box.
var LNG = -117.298;
var LAT = 45.162;
var point = ee.Geometry.Point([LNG, LAT]);
var buffer = point.buffer(30000); // half of box width as buffer input
var box = buffer.bounds(); // draw a bounding box around the buffered point
Map.centerObject(box);
Map.addLayer(point);
Map.addLayer(box);

// Map the buffer and bounds procedure over a point feature collection.
var pointCol = ee.FeatureCollection([
  ee.Feature(ee.Geometry.Point([LNG + 1, LAT])),
  ee.Feature(ee.Geometry.Point([LNG - 1, LAT]))
]);
var boxCol = pointCol.map(function(feature) {
  var box = feature.buffer(30000).bounds();
  return feature.setGeometry(box.geometry());
});
Map.addLayer(boxCol);

Data Catalog

데이터 세트 X를 추가할 수 있나요?

데이터 세트 요청 가이드에 따라 데이터 세트 요청 버그를 신고합니다.

Earth Engine 홈 폴더에 데이터를 업로드할 수도 있습니다. 래스터 데이터 가져오기표 데이터 가져오기를 참고하세요.

기존 데이터 세트에 새 버전이 있음

데이터 세트 요청 가이드에 따라 데이터 세트 버그를 신고하고 데이터 세트 업데이트를 요청한다고 표시합니다.

기존 데이터 세트가 업데이트되지 않거나 애셋이 누락됨

문제를 신고하기 전에 선택한 애셋이 데이터 세트 제공업체의 사이트에 실제로 있는지 확인하세요(가능한 경우). 자세한 내용은 이미지 누락 가이드를 참고하세요.

ImageCollection를 필터링하여 애셋을 찾는 경우 필터가 너무 제한적이지 않은지 확인하세요.

특히 다음 사항에 유의하세요.

  • 초기 Level 1 장면의 경우 Sentinel-2 SR (Level 2 데이터)이 ESA에서 생성되지 않았습니다.

  • Landsat은 2000년 이전에는 전 세계를 커버하지 않습니다.

기존 데이터 세트에 잘못된 값이 있습니다.

개발자 포럼에 게시 확대/축소하여 애셋의 원래 해상도를 표시하고 잘못된 값을 명확하게 확인할 수 있는 스크립트를 포함합니다. 대체 값을 관찰한 정확한 위치를 설명합니다.

데이터 세트에 대해 문의할 수 있는 다른 곳이 있나요?

NASA 데이터 세트에 관한 질문은 NASA Earth Data 포럼을 참고하세요.

코페르니쿠스 데이터 세트에서 작동하는 도구 상자에 관한 질문은 S1, S2, S3 포럼을 참고하세요.

EE 카탈로그의 크기는 얼마나 되나요?

2023년 10월 현재 카탈로그에는 1, 000개가 넘는 데이터 세트가 포함되어 있습니다. 디스크의 크기는 무손실 압축을 고려한 후 90페타바이트를 초과합니다.

EE의 데이터는 얼마나 자주 업데이트되나요?

일반적으로 모든 진행 중인 데이터 세트는 매일 업데이트됩니다 (매일 새 데이터가 있는 데이터 세트가 있는 것은 아님). 일부 데이터 세트는 하루에 여러 번 업데이트됩니다. 하지만 카탈로그에 최신 애셋이 있는지 보장하는 정책은 없습니다.

프로그래매틱 방식으로 EE 카탈로그의 콘텐츠를 보려면 어떻게 해야 하나요?

데이터 세트 목록은 Google Cloud Storage 버킷gs://earthengine-stac으로 STAC 형식으로 내보내집니다. 항목 파일은 catalog.json입니다.

분석에 Google 지도 데이터 또는 이미지를 사용할 수 있나요?

Google은 분석을 위한 기본 지도 데이터를 라이선스하거나 판매하지 않습니다.

애셋이 인제스트된 날짜는 어떻게 확인할 수 있나요?

'system:version' 애셋 속성은 Unix epoch 이후의 마이크로초로 형식이 지정된 수집 타임스탬프입니다. 다음은 Landsat 이미지의 수집 타임스탬프를 사람이 읽을 수 있는 형식으로 변환하는 예입니다.

var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508');
print('Ingest date', ee.Date(image.getNumber('system:version').divide(1000)));

Earth Engine 카탈로그에 JSON-LD 메타데이터가 있나요?

예, JSON-LD 메타데이터는 카탈로그 HTML 페이지에 삽입됩니다. 예를 들어 Sentinel-2 페이지에는 다음 블록이 포함되어 있습니다.

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [{
      "@type": "ListItem",
      "position": 1,
      "name": "Earth Engine Data Catalog",
      "item": "https://developers.google.com/earth-engine/datasets"
    },{
      "@type": "ListItem",
      "position": 2,
      "name": "Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
      "item": "https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_HARMONIZED"
    }]
  }
  </script>

Landsat

simpleComposite 알고리즘은 어떻게 구현되나요?

서버 측 구현은 이 JavaScript 코드와 동일합니다.

Landsat 표면 반사율 데이터에서 구름이 없는 컴포지트를 만들려면 어떻게 해야 하나요?

Landsat 레벨 2 (표면 반사율) 데이터에는 구름과 기타 원치 않는 이미지 아티팩트를 마스크하는 데 사용할 수 있는 여러 품질 밴드가 있습니다. 이러한 밴드를 사용하여 Landsat 8 SR 이미지를 처리하고 중간값의 클라우드 없는 컴포지트를 만드는 예는 이 GIS Stack Exchange 게시물에 나와 있습니다. 동일한 절차를 사용하여 개발자 가이드의 감독 분류 예에서 사용할 수 있는 클라우드 없는 컴포지션을 빌드합니다.

교차 센서 Landsat 표면 반사율 조화가 필요한가요?

Roy et al., 2016에는 Landsat 7-8 TOA와 표면 반사율 간의 반사율 차이 분석이 포함되어 있습니다. 독자가 한 센서의 데이터의 반사율 값을 다른 센서로 변환할 수 있도록 OLS 및 RMA 계수를 게시했습니다. 논문의 마지막 줄에는 '센서 차이는 매우 작지만 Landsat 데이터 적용에 따라 상당한 영향을 미칠 수 있습니다'라고 명시되어 있습니다. 하지만 이 분석은 수집 전 데이터를 기반으로 했습니다.

컬렉션 1 및 컬렉션 2 재처리 중에 이루어진 개선사항이 센서 간 관계에 영향을 미칠 수 있지만, 컬렉션 1 또는 컬렉션 2 데이터에 대해 Roy et al. (2016)과 유사한 분석은 없는 것으로 알려져 있습니다. 공식적인 분석은 없지만 영향력 있는 Landsat 사용자들 사이에서는 컬렉션 2, 레벨 2 (표면 반사율) 데이터에 수정이 필요하지 않다는 일반적인 합의가 있는 것으로 보입니다. 예를 들어 Collection 2, Level 2 조화의 필요성에 관한 질문에 대한 답변에서 Landsat Science Team의 Mike Wulder는 관심 있는 애플리케이션의 특성(토지 피복 매핑 및 변화 감지 포함)에 따라 교차 센서 조정 없이 Collection 2 표면 반사율 제품이 매우 적합하고 신뢰할 수 있다고 언급했습니다.

MSS 이미지에서 구름과 구름 그림자를 마스크하려면 어떻게 해야 하나요?

JavaScript 코드 편집기의 서드 파티 msslib 모듈에는 MSScvm 알고리즘의 구현과 MSS 데이터를 탐색하고 준비하는 데 유용한 기타 함수가 포함되어 있습니다.

데이터 관리

내가 업로드한 데이터는 누가 소유하나요?

Earth Engine 서비스 약관에 따라 고객은 Earth Engine에 업로드하는 데이터의 소유권을 갖습니다.

데이터를 업로드할 수 없습니다.

코드 편집기의 오른쪽 상단에 있는 작업 창에서 업로드 작업 상태를 확인합니다. 전용 작업 페이지를 볼 수도 있습니다.

작업이 없는 경우 코드 편집기를 통해 파일을 업로드하려고 했지만 네트워킹 문제로 인해 파일 업로드가 완료되지 않아 작업이 생성되지 않았을 수 있습니다. 다른 브라우저나 다른 컴퓨터를 사용해 보세요.

실패한 작업이 있는 경우 표시되는 오류를 검사합니다. 특정 오류 메시지가 없는 경우 먼저 래스터 파일의 경우 gdalinfo, 벡터 파일의 경우 ogr2ogr을 실행하여 파일이 손상되지 않았는지 확인합니다. 이러한 명령어는 소스 파일에서 모든 데이터를 읽고 파일이 손상된 경우 오류를 표시하려고 합니다.

gdalinfo 호출 예:

gdalinfo -mm -stats -checksum file.tif

in.shpout.csv로 변환하는 ogr2ogr 호출의 예:

ogr2ogr -lco GEOMETRY=AS_WKT -f CSV out.csv in.shp

파일이 유효한 것으로 보이면 실패한 작업 ID를 텍스트로 (스크린샷이 아님) 개발자 메일링 리스트에 게시합니다. 작업 ID는 4C25GIJBMB52PXTEJTF4JLGL 형식입니다. 가능하면 소스 파일을 공개적으로 읽을 수 있도록 설정합니다. 비공개 파일인 경우 Earth Engine 팀에서 검토하도록 하려면 earthengine@google.com와만 공유하세요. 소스 파일을 공유할 수 없는 경우 gdalinfo -mm -stats -checksum의 출력을 제공하세요.

Earth Engine에서 특정 투영을 지원하지 않는 경우 gdalwarp 등을 사용하여 업로드하기 전에 데이터를 재투영해야 합니다.

NetCDF 또는 지원되지 않는 다른 래스터 형식으로 파일을 업로드하려면 어떻게 해야 하나요?

GeoTIFF만 Earth Engine에 업로드할 수 있습니다. 다른 GDAL 호환 형식은 gdal_translate를 사용하여 GeoTIFF로 변환할 수 있습니다. 예:

gdal_translate -co COMPRESS=DEFLATE file.nc file.tif

일부 NetCDF 또는 HDF 파일은 gdalinfo로 검색할 수 있는 여러 하위 데이터 세트로 구성됩니다. 이 경우 gdal_translate 명령어는 다음과 같습니다 (큰따옴표 사이의 경로 참고).

gdal_translate HDF4_EOS:EOS_GRID:"/tmp/MCD12Q1.A2001001.h00v08.005.2011055224312.hdf":MOD12Q1:Land_Cover_Type_1 file.tif

NetCDF 파일은 GDAL에서 인식하는 투영을 전달하지 않는 경우가 있습니다. 이 경우 gdal_translate 명령줄에서 투영 및 공간 범위를 설정해야 합니다. 예:

gdal_translate -a_srs EPSG:4326 -a_ullr -180 90 180 -90 file.nc file.tid

업로드된 GeoTIFF에 사용할 수 있는 압축 알고리즘은 무엇인가요?

업로드 시 GeoTIFF는 DEFLATE, JPEG, JPEG-XL/JXL, LERC, LERC_DEFLATE, LERC_ZSTD, LZMA, LZW, WEBP 또는 ZSTD로 압축할 수 있습니다. 실시간 COG 읽기의 경우 DEFLATE, JPEG, LZW 또는 ZSTD를 사용할 수 있습니다. ZSTD는 대부분의 이미지를 잘 압축하면서도 압축 해제가 빠르므로 전반적으로 좋은 선택입니다.

gdal_translate를 사용할 때 ZSTD 압축을 적용하려면 다음 옵션을 추가하세요. 데이터에 부동 소수점 값이 있는 경우 PREDICTOR을 3으로 변경합니다.

gdal_translate in.tif out.tif \
  -co COPY_SRC_OVERVIEWS=YES \
  -co TILED=YES \
  -co BLOCKXSIZE=512 \
  -co BLOCKYSIZE=512 \
  -co COMPRESS=ZSTD \
  -co PREDICTOR=2 \
  -co ZSTD_LEVEL=22 \
  -co INTERLEAVE=BAND \
  -co NUM_THREADS=ALL_CPUS

래스터 수집이 며칠 동안 실행되었지만 완료되지 않았습니다.

gdalinfo를 사용하여 파일에 INTERLEAVE=PIXEL GDAL 옵션이 설정되어 있는지 확인합니다. 이 옵션과 많은 밴드가 있는 파일의 경우 이러한 파일의 레이아웃으로 인해 읽기가 매우 느려지므로 인게션이 완료되지 않을 수 있습니다.

이러한 파일을 업로드하기 전에 밴드 인터리브 레이아웃으로 변환해 보세요.

gdal_translate -co "INTERLEAVE=BAND" src.tif dst.tif

업로드한 래스터가 기본 지도와 일치하지 않습니다.

데이터가 기본 지도에서 약간 오프셋된 경우 투영에 잘못된 기준점 (지구 모양에 관한 가정)이 있을 수 있습니다. 이 문제는 GDAL 메타데이터로 완전히 인코딩할 수 없는 사인 곡선 투영에서 가장 자주 발생합니다. 타겟 투영을 알고 있는 경우 (예: MODIS 사인 곡선 투영을 사용하는 파일의 경우 SR-ORG:6974) 명령줄 업로드 중에 --crs 플래그를 설정하거나 업로드 매니페스트crs 필드를 설정합니다.

데이터가 심하게 왜곡되거나 완전히 잘못된 위치에 표시되면 투영 또는 어파인 변환이 잘못되었을 수 있습니다.

래스터가 동반구에만 표시됩니다.

경도 범위가 [0, 360]인 전역 래스터를 업로드했을 수 있습니다. 하지만 Earth Engine에서는 래스터가 [-180, 180] 범위에 있어야 합니다. 수집 전에 래스터의 왼쪽과 오른쪽 절반을 바꿉니다. GIS Stack Exchange 제안사항을 참고하세요.

인제스트된 분류 이미지가 얼룩져 보이는 이유는 무엇인가요?

기본 MEAN 피라미딩 정책을 사용했을 것입니다. 분류 이미지의 경우 MODE 피라미드 정책을 사용해야 합니다. QA/비트마스크 이미지의 경우 SAMPLE 피라미드 정책을 사용해야 합니다.

'데이터 값 -128.0을 Short<0, 255> 유형의 밴드 #0에 적용할 수 없습니다.'라는 오류가 표시됩니다.

GDAL은 단일 바이트 밴드를 부호 있는 정수를 포함하는 것으로 처리할 수 없으므로 이러한 밴드를 부호 없는 정수로 읽습니다. 이는 음수 데이터 없음 값과 충돌합니다.

값이 실제로 부호가 있는 정수인 경우 매니페스트 업로드를 사용하고 파일이 포함된 타일 세트 섹션에 data_type: "INT8"를 추가합니다.

값이 부호 없는 정수인 경우 파일에 잘못된 nodata 값이 있습니다. 업로드 시 올바른 데이터 값 (또는 값이 있는 경우 발생하지 않는 값)으로 재정의할 수 있습니다. gdal_translate -a_nodata를 사용하여 nodata 값을 변경하거나 gdal_edit.py -unsetnodata를 사용하여 삭제할 수도 있습니다.

GeoJSON 또는 지원되지 않는 다른 벡터 형식으로 파일을 업로드하려면 어떻게 해야 하나요?

ogr2ogr를 사용하여 OGR 호환 형식을 CSV 또는 SHP로 변환합니다. 예:

or2ogr -f "ESRI Shapefile" file.shp file.kml

CSV 업로드에서 도형 열에는 GeoJSON이 포함될 수 있습니다.

Python을 사용하여 데이터를 업로드하거나 여러 파일을 한 번에 업로드하고 싶습니다.

명령줄 업로드를 사용합니다. 이러한 업로드에서는 먼저 소스 파일을 GCS (Google Cloud Storage) 버킷에 배치해야 합니다. 무료 등급 한도 내에서 GCS를 사용하면 비용이 청구되지 않습니다(가격 책정 페이지 참고).

여러 타일로 분할된 대형 래스터 모자이크를 업로드하고 싶습니다.

파일의 투영과 픽셀 크기가 모두 동일한 경우 동일한 애셋에 함께 업로드하면 자동으로 모자이크 처리됩니다.

파일의 투영이나 픽셀 크기가 다르면 단일 래스터 애셋으로 모자이크할 수 없습니다. 대신 각 타일을 ImageCollection.mosaic()를 사용하여 모자이크할 수 있는 동일한 ImageCollection에 별도의 애셋으로 업로드합니다.

모자이크를 업로드하려고 하는데 타일이 일치하지 않는다는 오류가 표시됩니다.

Earth Engine 래스터 모자이크의 타일은 투영과 픽셀 크기가 동일해야 합니다. 또한 타일은 픽셀 경계에 정확히 맞춰야 합니다.

GCS 버킷에서 파일을 업로드하려고 하는데 Earth Engine에서 파일을 찾을 수 없습니다.

GCS 업로드와 Earth Engine 연결에 서로 다른 Google 계정을 사용했을 수 있습니다. Earth Engine에 연결하는 데 사용하는 계정에서 GCS 파일을 읽을 수 있는지 확인합니다. 브라우저 다중 로그인이 혼란스러운 경우 시크릿 브라우저 창에서 Earth Engine에 연결하세요.

한 번에 여러 애셋을 내보내고 싶습니다.

각 이미지를 별도로 내보내야 합니다.

단일 명령어로 Folder 또는 ImageCollection을 이동하거나 삭제하고 싶습니다.

먼저 각 애셋을 이동하거나 삭제한 다음 상위 폴더 또는 컬렉션을 이동하거나 삭제해야 합니다. 하위 애셋이 많은 경우 셸 또는 Python 루프를 작성하여 반복합니다.

EE 외부에서 Earth Engine 데이터에 직접 액세스하고 싶습니다.

QGIS에는 Earth Engine 플러그인이 있습니다.

GDAL에는 Earth Engine 드라이버가 있습니다.

다른 시스템은 EE REST API를 사용할 수 있습니다.

완전히 다시 수집하지 않고 Earth Engine 애셋의 일부를 업데이트하고 싶습니다.

EE에 업로드된 래스터 또는 벡터 데이터는 업데이트할 수 없습니다. 저작물 메타데이터 속성만 업데이트할 수 있습니다.

계정에 액세스할 수 없게 됩니다. 애셋을 어떻게 해야 하나요?

기존 계정의 정책에서 데이터 전송을 허용하는 경우 애셋을 다른 계정과 공유한 다음 새 계정에서 소유할 애셋을 복사하세요. 이동할 애셋이 많은 경우 명령줄 복사 유틸리티를 사용하세요.

계정이 삭제되면 해당 계정에서 소유한 애셋에 더 이상 액세스할 수 없습니다.

내보낸 이미지가 잘못된 위치에 있습니다.

사인 곡선 또는 원뿔형과 같은 일부 투영의 경우 GeoTIFF 파일이 필요한 모든 투영 매개변수를 저장하지 못할 수 있습니다. 이로 인해 데스크톱 GIS 도구에서 보거나 EE로 다시 가져올 때 잘못된 위치에 표시되는 파일이 내보내집니다.

이 문제를 해결하려면 GeoTIFF 파일과 잘 작동하는 것으로 알려진 내보내기 crs 매개변수를 지정하세요. 예를 들어 관심 지역이 포함된 UTM 영역의 EPSG 코드를 사용합니다.

COG 애셋을 저장하려면 어떤 Cloud Storage 버킷 위치를 사용해야 하나요?

답변은 최적화하려는 대상에 따라 다릅니다. 지연 시간이 짧은 컴퓨팅 액세스를 위해 최적화하는 경우 COG 애셋을 저장하기에 가장 적합한 GCS 버킷 위치는 US-CENTRAL*입니다. 기타 고려사항에 대한 자세한 내용은 버킷 위치 페이지를 참고하세요.

내보낸 지형지물 컬렉션 애셋이 내가 설정한 속성을 유지하지 않습니다.

Export.table.* 함수는 출력에서 테이블 수준 속성을 유지하지 않습니다. 많은 출력 형식 (예: CSV, GeoJSON)의 경우 이러한 메타데이터가 지원되지 않습니다. Export.table.toAsset 함수는 테이블 수준 속성을 지원할 수 있지만 현재는 지원하지 않습니다.

Drive로 CSV 형식으로 내보낸 표는 XLSX 형식으로 변환됩니다.

Google Drive 설정에 따라 Earth Engine에서 내보낸 CSV 표가 데이터 유형 변환과 같은 의도하지 않은 효과와 함께 XLSX 파일로 변환될 수 있습니다. 후속 내보내기의 동작을 수정하려면 다음 단계를 따르세요.

  1. 웹의 Google Drive에서 오른쪽 상단의 설정 톱니바퀴를 클릭합니다.
  2. '설정'을 클릭합니다.
  3. '업로드된 파일을 Google Docs 편집기 형식으로 변환'으로 스크롤하여 선택 해제합니다.

코드 편집기

잘못된 계정을 사용하라는 메시지가 표시되어 코드 편집기에 로그인할 수 없습니다.

로그아웃하고 '계정 선택' 페이지에서 Earth Engine을 사용하도록 등록된 계정을 선택한 다음 두 번째 '계정을 선택하여 Earth Engine Code Editor로 계속' 페이지에서 동일한 계정을 다시 선택합니다 (정확한 문구는 다를 수 있음).

전 세계 지도를 스크린샷하고 싶지만 Web Mercator 투영법은 마음에 들지 않습니다.

코드 편집기에서 사용되는 지도 투영은 Web Mercator('EPSG:3857')입니다. 이 투영법은 적도에서 멀리 떨어진 지역의 크기를 부풀려 적도 근처 지역에 비해 고위도 지역이 실제보다 훨씬 크게 표시됩니다. 코드 편집기의 지도 캔버스의 투영은 변경할 수 없지만 ee.Image.changeProj 메서드를 사용하여 원하는 투영의 이미지를 Web Mercator 캔버스에 '페인트'할 수 있습니다. 로빈슨 투영법에서 코드 편집기 지도에 전역 DEM을 표시하는 예는 메서드의 API 참조 페이지를 참고하세요. 코드 편집기의 인스펙터와 그리기 도구는 여전히 Web Mercator에서 작동하므로 이 기법은 시각화 목적으로만 사용해야 합니다.

스크립트가 저장되지 않습니다 (Script error: Unknown commit).

스크립트를 저장할 때 Script error: Unknown commit 메시지가 표시되면 저장하려는 저장소가 동기화되지 않은 것일 수 있습니다. 이 상태의 원인은 다양하며 식별하기 어렵습니다. 이 문제를 해결하려면 스크립트 탭의 오른쪽 상단에 있는 버튼을 사용하여 스크립트 목록을 새로고침해 보세요. 그래도 문제가 해결되지 않으면 스크립트 탭의 새로 만들기 버튼에서 새 저장소를 만들고 스크립트를 저장해 보세요(동기화되지 않은 저장소에서 새 저장소로 스크립트를 이동해야 할 수 있음).