JAXA Earth API for JavaScript Version 2.0.0 のAPIドキュメントです。 このAPIを利用すると、地球観測データを容易にブラウザ上に表示したり、地球観測データを利用したウェブアプリを開発したりすることが可能です。 必要な範囲のデータを必要な解像度で取り扱う仕組みになっているため、ブラウザ上で動作するJavaScriptであってもデータを取り扱うことが可能となっていることが特徴です。
Version 2系よりブラウザのメインスレッドのみならず、ブラウザのウェブワーカーや、 Node.js、 Deno、 Bun での実行にも対応しました。TypeScriptによる開発も可能となりました。 そのため、Version 1系に比べて仕様が大きく変更となっております。
ほんの数行のプログラミングで地球観測データにアクセスできます。ユーザー登録やAPIキーは不要です。
// 地形データ(JAXA AW3D)の全球データを画像サイズ幅1000px高さ500pxで取得
const dataObject = await je.getDataObject({
collectionUrl: "https://s3.ap-northeast-1.wasabisys.com/je-pds/cog/v1/JAXA.EORC_ALOS.PRISM_AW3D30.v3.2_global/collection.json",
bbox: [-180, -90, 180, 90], //[西, 南, 東, 北]
width: 1000,
height: 500,
});
// 標高0m~6000mを青~緑~黄~赤の虹色で塗る
const colorMap = new je.image.ColorMap({ min: 0, max: 6000, colors: je.Colors.JET });
// 可視化した結果をHTMLCanvasElementとしてHTML上に追加
document.body.appendChild(je.image.createCanvas(dataObject, colorMap));
実際の実行結果はこちらへ
具体的な開発をしてみましょう。地図に重ねて表示させたり、3Dモデルを作ったり、グラフを表示させたりできます。 その他各種サンプルコードはこちらへ。
生成AIと連携するためのMCPも作れます。これによって、生成AIが地球観測データを扱うことも可能になります。 MCPは下記のサンプルで使用している生成AI以外にも、様々な生成AIで利用可能です。 また、ファイル保存などの別のMCPも利用することで、結果を生成AIが整理してCSVファイルとして書き出したりすることも可能です。
実行に必要なモジュールと、TypeScript開発時に便利な型定義ファイルは次の通りです。モジュールファイルはわずか120KBで、その他インストールが必要な依存モジュールは何もありません。
生成AIを利用する開発者向けの情報として、マークダウン形式のドキュメントを下記から利用可能です。 これらのファイルを生成AIに添付することで、ソースコードの作成やデータセットの選定などがある程度可能になります。 ただし、利用する生成AIの種類や質問の文脈等によっては期待通りの結果が得られない場合もあります。
JAXA Earth API for JavaScript を使用した利用例は次の通りです。一部旧バージョンのAPIを使用しているものも含まれます。
地形データとOpenLayersを用いて海面上昇をシミュレーションします。 スライドバーの設定に応じてカラーマップを切り替えることによって、瞬時に色を塗り替えています。
地形データとOpenLayersを用いて海面上昇をシミュレーションします。 全球版では背景に表示されている陰影起伏図もJavaScriptを用いて動的に生成しています。
海面水温の経年変化を比較して、気候変動の影響を見ることができます。 簡易的な画面構成により、タブレット端末でも表示可能な小中学生向けの教材としての利用も可能です。
Observableを用いることで、ブラウザ上でインタラクティブにJAXA Earth API for JavaScript を実行できます。
OpenLayersを用いて、様々なデータを閲覧・利用などできるようにしたウェブサイトです。JAXA Earth API for JavaScript を利用して現在開発中です。
JAXA Earth API for JavaScript を利用して、日本周辺の海面水温の最新観測データを常時表示しています。
JAXA Earth API は一部のデータセットを使用する場合を除いて商用利用が可能です。 詳細については、こちらのページをご確認ください。
THIRD PARTY LICENSE(s)