一般的な質問
問題が発生しました。サポートが必要です。
このガイドに沿って質問を投稿し、できるだけ多くの情報を提供します(Stack Overflow の良い質問をするためのガイドを参照)。通常、これは次のような意味になります。
コードエディタのスクリプトへのリンクを送信する([Get Link] ボタンをクリックして取得します)。
スクリプトの実行に必要なアセットを共有する
失敗したバッチタスクについては、失敗したタスクの ID を報告します。タスク ID は
4C25GIJBMB52PXTEJTF4JLGLのようになります。これらは、コードエディタの [タスク] タブで確認できます。詳細
Earth Engine のアーキテクチャについてはどこで確認できますか?
Gorelick et al. 2017 を参照してください。
Google が作成したものではない、おすすめの Earth Engine チュートリアルはありますか?
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 Apps を使用します。より複雑なケースでは、EE を搭載した App Engine アプリを構築できます。
地図 ID の仕組み
マップ ID(API 全体で mapid と呼ばれます)は、クライアントが地図タイルを取得できるようにするキーです。各 ID は、getMapId エンドポイントに画像式を指定して作成されたハッシュです。結果の ID は、後の段階でタイルの生成に使用される画像式とユーザー認証情報の両方を指すキーです。
地図タイルのリクエストには、タイルの位置(x、y、zoom)と mapid(画像と認証情報のキー)を指定する必要があります。同じ ID を再利用して、多くの地図タイルを読み込むことができます。mapid 鍵の再利用に制限はありませんが、数時間後に期限切れになります。ID の有効期間に関する具体的な期間は公開されていませんが、作成するコードは ID の有効期限切れに対応できるようにする必要があります。
これらの ID の作成には、少量のデータの保存と認証情報の検証が必要になるため、できるだけ長く再利用することをおすすめします。getMapId エンドポイントに固有の API 割り当てはありませんが、タイルを取得するレートに近いレートで mapid オブジェクトを作成するワークフローは、おそらく何か間違ったことを行っています。これらは一時的なリソースであるため、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 引数に基づいて 1 つを選択して返しますが、これらの値がアルゴリズムに渡されるためには、両方のパスが実行される必要があります。
「リクエスト ペイロード サイズが上限を超えています」というエラーが表示される
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 オブジェクトをフィルタで除外します。これは、分析の範囲を特定のリージョンと交差する画像のみに制限するために使用されます。これにより、式を最適化できます。
画像ピクセルを、ピクセルごとに 1 つのアイテムを含むアイテム コレクションに変換するにはどうすればよいですか?
ee.Image.sample() 関数を使用します。使用例については、関数の API リファレンス ページをご覧ください。
ee.ImageCollection.merge() と ee.ImageCollection.combine() の違いは何ですか?
ee.ImageCollection.merge() 関数は、それぞれの画像に一致するバンド、メタデータ、CRS、スケールがあるかどうかに関係なく、2 つのコレクションのすべての画像を 1 つのコレクションに統合します。これは、2 つのコレクションの和集合です。combine() メソッドは、2 つのコレクションから一致する画像のバンドを 1 つのコレクションに結合します。一致する画像は同じ ID(system:index プロパティ)を共有します。これは、画像 ID に基づく 2 つのコレクションの内部結合で、一致する画像のバンドが結合されます。一致する画像の場合、セカンダリ画像のバンドがプライマリ画像に追加されます(上書きは省略可)。一致する画像がない場合は、空のコレクションが返されます。
複数の日付間隔で画像コレクションをフィルタする方法
こちらの 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 をフィルタしてアセットを検索する場合は、フィルタが過度に制限されていないことを確認してください。
特に、次の点に注意してください。
Sentinel-2 SR(レベル 2 データ)は、初期のレベル 1 シーンでは ESA によって生成されませんでした。
Landsat は 2000 年以前には全世界をカバーしていません。
既存のデータセットに誤った値が含まれている
デベロッパー フォーラムに投稿します。 アセットの元の解像度にズームし、どの値が間違っているかを明確にするスクリプトを含めます。代替値をどこで確認したかを正確に説明します。
データセットについて他に質問できる場所はありますか?
NASA データセットに関する質問については、NASA Earth Data フォーラムをご覧ください。
Copernicus データセットで動作するツールボックスに関する質問については、S1、S2、S3 の各フォーラムをご覧ください。
EE カタログのサイズはどれくらいですか?
2023 年 10 月の時点で、カタログには 1, 000 を超えるデータセットが含まれています。ディスク上のサイズは 90 ペタバイトを超えます(ロスレス圧縮を考慮した後)。
EE のデータはどのくらいの頻度で更新されますか?
通常、進行中のデータセットはすべて少なくとも毎日更新されます(ただし、すべてのデータセットに毎日新しいデータがあるわけではありません)。一部のデータセットは 1 日に数回更新されます。ただし、カタログに最新のアセットが存在することを保証するポリシーはありません。
EE カタログのコンテンツをプログラムで表示するにはどうすればよいですか?
データセットのリストは、STAC 形式で Google Cloud Storage バケット gs://earthengine-stac にエクスポートされます。エントリ ファイルは catalog.json です。
Google マップのデータや画像は分析に使用できますか?
Google は、分析用のベースマップ データのライセンス供与や販売を行っていません。
アセットが取り込まれた日付を確認するにはどうすればよいですか?
'system:version' アセット プロパティは取り込みタイムスタンプで、Unix エポックからのマイクロ秒数としてフォーマットされます。次の例では、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 Catalog に 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 他、2016 年には、Landsat 7-8 の TOA と地表反射率の反射率の違いの分析が含まれていました。OLS 係数と RMA 係数を公開し、読者が 1 つのセンサーのデータの反射率値を別のセンサーのデータに変換できるようにしました。論文の最後の行には、「センサーの差は非常に小さいが、Landsat データの用途によっては大きな影響を与える可能性がある」と記載されています。ただし、この分析は収集前のデータに基づいていました。
コレクション 1 とコレクション 2 の再処理中に加えられた改善は、センサー間の関係に影響を与える可能性がありますが、知る限り、コレクション 1 またはコレクション 2 のデータについて、Roy ら(2016 年)と同様の分析は行われていません。正式な分析は行われていませんが、影響力のある Landsat ユーザーの間では、コレクション 2 レベル 2(地表反射率)データには補正が必要ないという一般的なコンセンサスがあるようです。たとえば、Collection 2、レベル 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.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 などのサポートされていないラスター形式のファイルをアップロードするにはどうすればよいですか?
Earth Engine にアップロードできるのは GeoTIFF のみです。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 メタデータで完全にエンコードできない正弦波投影で最も頻繁に発生します。ターゲット投影法がわかっている場合(MODIS 正弦波投影法を使用するファイルの場合は SR-ORG:6974 など)、コマンドライン アップロード中に --crs フラグを設定するか、アップロード マニフェストの crs フィールドを設定します。
データが大きく歪んでいる場合や、まったく間違った場所に表示されている場合は、投影またはアフィン変換が間違っている可能性があります。
ラスタが東半球にしか表示されません。
経度範囲 [0, 360] にまたがるグローバル ラスタをアップロードした可能性があります。ただし、Earth Engine では、ラスタは [-180, 180] の範囲内である必要があります。取り込み前にラスターの左右半分を入れ替えます。GIS Stack Exchange の提案をご覧ください。
取り込んだ分類画像が斑点状に見えるのはなぜですか?
おそらく、デフォルトの MEAN
ピラミッド ポリシーを使用しました。分類画像には MODE ピラミッド ポリシーを使用し、QA/ビットマスク画像には SAMPLE ピラミッド ポリシーを使用する必要があります。
「No data value -128.0 cannot be applied to band #0 of type Short<0, 255>」というエラーが表示されます。
GDAL はシングル バイト バンドを符号付き整数として扱うことができないため、そのようなバンドは符号なし整数として読み取ります。これは、負の no data 値と競合します。
値が実際に符号付き整数である場合は、マニフェストのアップロードを使用して、ファイルを含むタイルセット セクションに data_type: "INT8" を追加します。
値が符号なし整数の場合、ファイルに無効な nodata 値が含まれています。アップロード時に正しいデータ値(または、存在する場合は発生しない値)でオーバーライドできます。gdal_translate -a_nodata を使用して nodata 値を変更したり、gdal_edit.py -unsetnodata を使用して nodata 値を削除したりすることもできます。
GeoJSON などのサポートされていないベクター形式のファイルをアップロードするにはどうすればよいですか?
ogr2ogr を使用して、OGR 互換形式を CSV または SHP に変換します。例:
or2ogr -f "ESRI Shapefile" file.shp file.kml
CSV アップロードでは、ジオメトリ列に GeoJSON を含めることができます。
Python を使用してデータをアップロードしたい、または複数のファイルを一度にアップロードしたい。
コマンドライン アップロードを使用します。このようなアップロードでは、まずソースファイルを GCS(Google Cloud Storage)バケットに配置する必要があります。無料枠の範囲内であれば、GCS の使用に費用はかかりません。料金ページをご覧ください。
多くのタイルに分割された大きなラスタ モザイクをアップロードしたい。
ファイルがすべて同じ投影法とピクセルサイズである場合は、同じアセットにまとめてアップロードするだけで、自動的にモザイク処理されます。
ファイルに異なる投影法またはピクセルサイズが設定されている場合、それらを 1 つのラスター アセットにモザイク処理することはできません。代わりに、各タイルを別々のアセットとして同じ ImageCollection にアップロードします。この ImageCollection は ImageCollection.mosaic() を使用してモザイク処理できます。
モザイクをアップロードしようとすると、タイルの不一致に関するエラーが表示されます。
Earth Engine ラスター モザイクのタイルは、同じ投影法とピクセルサイズにする必要があります。また、タイルはピクセルの境界線に正確に沿っている必要があります。
GCS バケットからファイルをアップロードしようとしていますが、Earth Engine でファイルが見つかりません。
GCS へのアップロードと Earth Engine への接続で、異なる Google アカウントを使用している可能性があります。Earth Engine への接続に使用するアカウントで GCS ファイルを読み取れることを確認します。ブラウザのマルチログインが原因で混乱が生じる場合は、シークレット ブラウザ ウィンドウで Earth Engine に接続します。
一度に多くのアセットをエクスポートしたい。
各画像を個別にエクスポートする必要があります。
1 つのコマンドで 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 形式でドライブにエクスポートされたテーブルは、XLSX 形式に変換されます。
Google ドライブの設定によっては、Earth Engine からエクスポートした CSV テーブルが XLSX ファイルに変換され、データ型の変換など、意図しない影響が生じる可能性があります。以降のエクスポートの動作を変更する手順は次のとおりです。
- ウェブ上の Google ドライブで、右上の設定アイコンをクリックします。
- [設定] をクリックします。
- [アップロードしたファイルを Google ドキュメント エディタ形式に変換します] までスクロールして、チェックを外します。
コードエディタ
間違ったアカウントを使用するように求められるため、コードエディタにログインできません。
ログアウトし、[アカウントの選択] ページで Earth Engine の使用に登録されているアカウントを選択します。次に、2 番目の [Earth Engine Code Editor を続行するアカウントを選択] ページ(文言は異なる場合があります)で同じアカウントを再度選択します。
世界地図のスクリーンショットを撮りたいのですが、ウェブ メルカトル図法は好きではありません。
コードエディタで使用される地図投影は Web Mercator('EPSG:3857')です。赤道から離れたオブジェクトのサイズが拡大され、赤道に近い地域と比較して、高緯度地域が実際よりもはるかに大きく表示されます。コードエディタの地図キャンバスの投影法を変更することはできませんが、ee.Image.changeProj メソッドを使用して、選択した投影法の画像を Web メルカトル キャンバスに「描画」することはできます。ロビンソン投影法でコードエディタの地図にグローバル DEM を表示する例については、メソッドの API リファレンス ページをご覧ください。この手法は、コードエディタのインスペクタと描画ツールが Web メルカトルで動作しているため、可視化のみに使用してください。
スクリプトが保存されない(Script error: Unknown commit)。
スクリプトの保存時に Script error: Unknown commit メッセージが表示された場合は、保存先のリポジトリが同期されていない可能性があります。この状態の原因はさまざまで、特定が困難です。この問題を解決するには、[スクリプト] タブの右上にあるボタンを使用して、スクリプトのリストを更新してみてください。それでも問題が解決しない場合は、[スクリプト] タブの [新規] ボタンから新しいリポジトリを作成し、そこにスクリプトを保存してみてください(同期していないリポジトリから新しいリポジトリにスクリプトを移動する必要がある場合があります)。