일반적인 질문
문제가 있어 도움이 필요합니다.
이 가이드에 따라 질문을 게시하고 최대한 많은 정보를 제공합니다 (적절한 질문을 위한 Stack Overflow 가이드 참고). 이는 일반적으로 다음을 의미합니다.
Code Editor에서 스크립트 링크 전송('링크 가져오기' 버튼을 클릭하여 가져오기)
스크립트 실행에 필요한 애셋 공유
실패한 일괄 태스크의 경우 실패한 태스크의 ID를 보고합니다. 작업 ID는
4C25GIJBMB52PXTEJTF4JLGL
와 같이 표시됩니다. 코드 편집기의 '작업' 탭에서 확인할 수 있습니다. 자세히 알아보기
Earth Engine 아키텍처에 대한 자세한 내용은 어디에서 확인할 수 있나요?
Gorelick et al. 2017 논문을 참고하세요.
Google에서 제작하지 않은 권장 Earth Engine 튜토리얼이 있나요?
추천할 만한 원격 탐사 튜토리얼이 있나요?
원격 감지에 대한 소개 동영상이 포함된 Ujaval Gandhi의 무료 EE 과정을 참고하세요.
Earth Engine 프로그래밍
일반적인 코딩 오류에는 어떤 것이 있나요?
디버깅 가이드를 참고하세요.
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
키의 재사용에는 제한이 없지만 몇 시간 후에 만료됩니다. Google에서는 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의 다른 모든 알고리즘과 마찬가지로 작동합니다.
알고리즘은 trueCase
및 falseCase
결과를 모두 가져온 다음 condition
인수를 기반으로 하나를 선택하여 반환하지만, 이러한 값을 알고리즘에 전달하려면 두 경로를 모두 실행해야 했습니다.
'요청 페이로드 크기가 한도를 초과합니다' 오류가 발생함
Earth Engine에 매우 큰 요청을 전송하려고 합니다. 이는 일반적으로 코드에서 많은 클라이언트 측 'for' 루프를 사용하거나 여러 도형 객체로 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
를 필터링하여 저작물을 찾는 경우 필터가 너무 제한적이지 않은지 확인하세요.
특히 다음 사항에 유의하세요.
초기 수준 1 장면의 경우 ESA에서 Sentinel-2 SR (수준 2 데이터)을 생성하지 않았습니다.
2000년 이전에는 Landsat의 전 세계 노출 범위가 없습니다.
기존 데이터 세트에 잘못된 값이 있음
개발자 포럼에 게시 저작물의 원래 해상도로 확대하고 잘못된 값을 명확하게 볼 수 있는 스크립트를 포함합니다. 대체 값을 정확히 어디에서 발견했는지 설명합니다.
데이터 세트에 관해 다른 곳에서 문의할 수 있는 곳이 있나요?
NASA 데이터 세트에 관한 질문은 NASA Earth Data 포럼을 참고하세요.
코페르니쿠스 데이터 세트에서 작동하는 도구 상자에 관한 질문은 S1, S2, S3 포럼을 참고하세요.
EE 카탈로그의 크기는 어느 정도인가요?
2023년 10월 현재 카탈로그에는 1, 000개가 넘는 데이터 세트가 포함되어 있습니다. 디스크의 크기는 무손실 압축을 고려할 때 90페타바이트가 넘습니다.
EE의 데이터는 얼마나 자주 업데이트되나요?
일반적으로 진행 중인 모든 데이터 세트는 매일 업데이트되지만 이러한 데이터 세트 중 매일 새로운 데이터가 있는 것은 아닙니다. 일부 데이터 세트는 하루에 여러 번 업데이트됩니다. 하지만 카탈로그에 최신 저작물이 있는지 확인하는 정책은 없습니다.
EE 카탈로그의 콘텐츠를 프로그래매틱 방식으로 보려면 어떻게 해야 하나요?
데이터 세트 목록은 STAC 형식으로 Google Cloud Storage 버킷 gs://earthengine-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 Level 2 (표면 반사율) 데이터에는 구름 및 기타 원치 않는 이미지 아티팩트를 마스크하는 데 사용할 수 있는 여러 품질 밴드가 있습니다. 이러한 밴드를 사용하여 Landsat 8 SR 이미지를 처리하고 구름이 없는 중위 합성 이미지를 만드는 예는 이 GIS Stack Exchange 게시물에 나와 있습니다. 개발자 가이드의 지도 학습 분류 예에 사용할 수 있는 구름이 없는 합성물을 빌드하는 데도 동일한 절차가 사용됩니다.
센서 간 Landsat 표면 반사율 조화가 필요한가요?
Roy et al., 2016에는 Landsat 7-8 TOA와 표면 반사율 간의 반사율 차이 분석이 포함되었습니다. 독자가 한 센서 데이터의 반사율 값을 다른 센서 데이터로 변환할 수 있도록 OLS 및 RMA 계수를 게시했습니다. 논문의 마지막 줄에는 '센서 차이는 매우 작지만 Landsat 데이터 애플리케이션에 따라 상당한 영향을 미칠 수 있습니다.'라고 명시되어 있습니다. 그러나 이 분석은 수집 전 데이터를 기반으로 합니다.
컬렉션 1 및 컬렉션 2 재처리 중에 이루어진 개선사항은 센서 간의 관계에 영향을 미칠 수 있지만, 알려진 바에 따르면 컬렉션 1 또는 컬렉션 2 데이터에 대해 Roy 등(2016)과 유사한 분석은 이루어지지 않았습니다. 공식적인 분석은 없지만 영향력 있는 Landsat 사용자들 사이에서는 컬렉션 2, 수준 2 (표면 반사율) 데이터에 수정이 필요하지 않다는 일반적인 합의가 있는 것으로 보입니다. 예를 들어 컬렉션 2, 수준 2 조정의 필요성에 관한 질문에 대한 답변에서 Landsat 과학팀의 마이크 울더는 관심 있는 애플리케이션(토지 피복 매핑 및 변화 감지 포함)의 특성에 따라 컬렉션 2 표면 반사율 제품이 교차 센서 조정이 필요 없이 매우 적합하고 신뢰할 수 있다고 언급했습니다.
MSS 이미지에서 구름과 구름 그림자를 마스크하려면 어떻게 해야 하나요?
JavaScript 코드 편집기용 서드 파티 msslib 모듈에는 MSScvm 알고리즘 구현과 MSS 데이터를 탐색하고 준비하는 데 도움이 되는 기타 유용한 함수가 포함되어 있습니다.
데이터 관리
내가 업로드한 데이터의 소유자는 누구인가요?
Earth Engine 서비스 약관에 따라 고객은 Earth Engine에 업로드하는 데이터를 소유합니다.
데이터를 업로드할 수 없습니다.
Code Editor의 오른쪽 상단에 있는 Tasks 창에서 업로드 작업 상태를 확인합니다. 전용 작업 페이지를 볼 수도 있습니다.
작업이 없는 경우 Code 편집기를 통해 파일을 업로드하려고 했지만 네트워크 문제로 인해 파일 업로드가 완료되지 않아 작업이 생성되지 않은 것입니다. 다른 브라우저나 다른 컴퓨터를 사용해 봅니다.
실패한 태스크가 있는 경우 표시되는 오류를 검사합니다. 구체적인 오류 메시지가 표시되지 않으면 먼저 래스터 파일의 경우 gdalinfo
를, 벡터 파일의 경우 ogr2ogr
를 실행하여 파일이 손상되지 않았는지 확인합니다.
이 명령어는 소스 파일에서 모든 데이터를 읽으려고 시도하고 파일이 손상된 경우 오류를 표시합니다.
gdalinfo 호출 예:
gdalinfo -mm -stats -checksum file.tif
in.shp
를 out.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
를 사용하여 파일에 다음 GDAL 옵션이 설정되어 있는지 확인합니다.
INTERLEAVE=PIXEL
이 옵션이 설정되어 있고 밴드가 많은 파일의 경우 이러한 파일의 레이아웃으로 인해 읽기가 매우 느려져 처리가 완료되지 않을 수 있습니다.
이러한 파일은 업로드하기 전에 밴드 인터리빙 레이아웃으로 변환해 보세요.
gdal_translate -co "INTERLEAVE=BAND" src.tif dst.tif
업로드한 래스터가 기본 지도로 표시되지 않습니다.
데이터가 기본 지도에서 약간 어긋나면 투영에 잘못된 기준점 (지구의 모양에 대한 가정)이 있는 것일 수 있습니다.
이는 GDAL 메타데이터에 완전히 인코딩할 수 없는 사인곡선 투영에서 가장 자주 발생합니다. 타겟 예측이 무엇인지 알고 있는 경우 (예: SR-ORG:6974
(MODIS 사인곡선 투영을 사용하는 파일의 경우) 명령줄 업로드 중에 --crs
플래그를 설정하거나 업로드 매니페스트의 crs
필드를 설정합니다.
데이터가 심하게 왜곡되거나 완전히 잘못된 위치에 있는 경우 투영 또는 아핀 변환이 잘못되었을 가능성이 높습니다.
래스터가 동반구에만 표시됩니다.
경도 범위 [0, 360]에 걸쳐 있는 전역 래스터를 업로드했을 수 있습니다. 하지만 Earth Engine에서는 래스터가 [-180, 180] 범위여야 합니다. 처리하기 전에 래스터의 왼쪽 절반과 오른쪽 절반을 바꿉니다. GIS Stack Exchange 제안을 참고하세요.
처리된 분류 이미지가 얼룩덜룩하게 보이는 이유는 무엇인가요?
기본 MEAN
피라미드식 구조 정책을 사용했을 수 있습니다.
분류 이미지의 경우 MODE
피라미딩 정책을 사용해야 합니다. QA/비트 마스크 이미지의 경우 SAMPLE
피라미딩 정책을 사용해야 합니다.
다음과 같은 오류가 발생합니다. 데이터 값 -128.0을 Short<0, 255> 유형의 밴드 0에 적용할 수 없습니다.
GDAL은 단일 바이트 밴드를 부호가 있는 정수가 포함된 것으로 취급할 수 없으므로 이러한 밴드를 부호가 없는 정수로 읽습니다. 이는 음수의 데이터 없음 값과 충돌합니다.
값이 실제로 부호 있는 정수인 경우 매니페스트 업로드를 사용하고 파일이 포함된 tileset 섹션에 다음을 추가합니다. 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
에 업로드합니다. 그러면 ImageCollection.mosaic()
를 사용하여 모자이크 처리할 수 있습니다.
모자이크를 업로드하려고 하는데 타일이 일치하지 않는다는 오류가 발생합니다.
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
함수는 테이블 수준 속성을 지원할 수 있지만 현재는 지원하지 않습니다.
CSV 형식으로 Drive로 내보낸 테이블은 XLSX 형식으로 변환됩니다.
Google Drive 설정에 따라 Earth Engine에서 내보낸 CSV 테이블이 데이터 유형 변환과 같은 의도치 않은 효과가 있는 XLSX 파일로 변환될 수 있습니다. 후속 내보내기의 동작을 수정하려면 다음 단계를 따르세요.
- 웹의 Google Drive에서 오른쪽 상단의 설정 톱니바퀴를 클릭합니다.
- '설정'을 클릭합니다.
- '업로드된 파일을 Google Docs 편집기 형식으로 변환'으로 스크롤하여 선택 해제합니다.
코드 편집기
잘못된 계정을 사용하라는 메시지가 표시되어 Code Editor에 로그인할 수 없습니다.
로그아웃하고 '계정 선택' 페이지에서 Earth Engine을 사용하도록 등록된 계정을 선택한 다음 두 번째 '계정 선택을 통해 Earth Engine Code Editor로 계속' 페이지에서 동일한 계정을 다시 선택합니다 (정확한 문구는 다를 수 있음).
전 세계 지도를 스크린샷으로 찍고 싶지만 웹 메르카토르 투영법이 마음에 들지 않습니다.
코드 편집기에서 사용되는 지도 투영법은 웹 메르카토르('EPSG:3857')입니다. 적도에서 멀리 떨어진 객체의 크기가 부풀려져 적도 근처의 지역과 비교하여 고위도 지역이 실제보다 훨씬 더 크게 보입니다. Code Editor의 지도 캔버스의 투영은 변경할 수 없지만 ee.Image.changeProj
메서드를 사용하여 선택한 투영으로 웹 메르카토르 캔버스에 이미지를 '페인트'할 수 있습니다.
로빈슨 투영으로 코드 편집기 지도에 글로벌 DEM을 표시하는 예는 메서드의 API 참조 페이지를 참고하세요.
코드 편집기의 검사기와 그리기 도구는 여전히 Web Mercator에서 작동하므로 이 기법은 시각화 목적으로만 사용해야 합니다.
스크립트가 저장되지 않습니다 (Script error: Unknown commit
).
스크립트를 저장할 때 Script error: Unknown commit
메시지가 표시되면 저장 중인 저장소가 동기화되지 않았음을 의미합니다.
이 상태의 원인은 다양하며 식별하기 어렵습니다. 이 문제를 해결하려면 스크립트 탭 오른쪽 상단의 버튼을 사용하여 스크립트 목록을 새로고침해 보세요. 그래도 문제가 해결되지 않으면 스크립트 탭의 새 버튼에서 새 저장소를 만들고 여기에 스크립트를 저장해 보세요. 동기화되지 않은 저장소에서 새 저장소로 스크립트를 이동해야 할 수도 있습니다.