JAXA Earth API for JavaScript
    検索インデックスを準備しています...

    使用方法(Node.js、Deno、Bunの場合)

    JAXA Earth API for JavaScript は、Node.js、Deno、BunのJavaScript環境でも実行可能です。 地球観測データを扱うための複雑な環境構築をすることなく、地球観測データを可視化してPNG画像として保存したり、CSVファイルとして保存したり、簡単な統計処理を行うことが可能です。

    ES Module (ESM) 形式及び CommonJS 形式に対応しています。開発方法に応じてどちらかをご利用ください。

    なお、画像出力に関しては、非ブラウザ環境ではHTMLCanvasElementOffscreenCanvasは利用できません。PNG画像として出力するためのcreatePngをご利用ください。

    この解説内容は次の環境で動作確認済です(2026.2時点)。動作しない場合は次のバージョンよりも新しい環境をお試しください。

    • Node.js v22.20.0
    • Deno 2.1.9
    • Bun 1.2.2

    次のリンク先からモジュールのファイルをダウンロードしてください。

    https://data.earth.jaxa.jp/api/javascript/v2.0.0/jaxa.earth.esm.js

    また、VS Code等のコード補完機能(インテリセンス)を利用したり、TypeScriptで開発したりする場合は、次の型定義ファイルを利用してください。jaxa.earth.esm.jsと同じフォルダに保存すると自動で適用されます。

    https://data.earth.jaxa.jp/api/javascript/v2.0.0/jaxa.earth.esm.d.ts

    下記の通り任意のフォルダに保存します。

    - package.json
    - jaxa.earth.esm.js
    - jaxa.earth.esm.d.ts (VS Code等のコード補完機能を使用したい場合のみ)
    - main.js

    ESM形式で開発する場合は、package.jsonに次の通り記載します。

    {
    "type": "module"
    }

    main.jsには次のように記載します。

    import * as je from "./jaxa.earth.esm.js";

    //ファイル出力するための機能(Node.jsがインストールされている場合)
    import fs from "node:fs";

    //DataObjectを取得
    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",
    band: "DSM",
    width: 1000,
    height: 500,
    bbox: [-180, -90, 180, 90],
    onloading: (progress, dataObject) => {
    console.log(progress);
    },
    });

    //カラーマップを作成
    const colorMap = new je.image.ColorMap({
    min: 0,
    max: 6000,
    colors: je.Colors.JET,
    });

    //PNG画像にして保存
    const png = await je.image.createPng(dataObject, colorMap);
    fs.writeFileSync("image.png", png);

    //CSVファイルにして保存
    const csv = je.data.createCsv(dataObject);
    fs.writeFileSync("data.csv", csv, "utf8");

    //上記の保存方法は、Node.js環境、または、Node.jsがインストールされていないBun環境で実行可能です。
    //Node.jsがインストールされていないDeno環境では、代わりに次の方法でも保存できます。
    //await Deno.writeFile("image.png", png);
    //await Deno.writeTextFile("data.csv", csv);

    Node.jsの場合は、次のコマンドで実行できます。

    node main.js
    

    Denoの場合は、通信とファイル操作のアクセス権限を許可する必要があるため、下記のようにオプションを用います。

    deno -A main.js
    

    Bunの場合は、次のコマンドで実行できます。

    bun main.js
    

    実行が成功すると、同一フォルダ内にimage.pngdata.csvとして結果が保存されます。

    次のリンク先からモジュールのファイルをダウンロードしてください。Universal Module Definition (UMD) 形式のモジュールはCommonJS形式の開発環境でも利用可能です。

    CommonJS形式で開発する場合は、package.jsonに次の通り記載します。

    {
    "type": "commonjs"
    }

    main.jsには次のように記載します。

    //requireでモジュールをインポートします。
    const je = require("./jaxa.earth.umd.js");

    //CommonJS形式ではトップレベルawaitが不可のため、即時実行関数の中に記載します。
    (async function () {

    //await je.getDataObjectなどの処理はESM形式のサンプルと同様です。

    })();

    JAXA Earth API for JavaScript では、データの取得のためにデータが保存されたサーバーと通信を行います。 企業や組織内のネットワークの都合上、SSL証明書のエラーが発生する場合は、SSL証明書の確認を一時的に回避する方法として、次のコードをmain.jsの一番最初に追記します。

    process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = "0";