コンテンツにスキップ

JAXA Earth API

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。W6b776d72 (会話 | 投稿記録) による 2023年8月26日 (土) 16:56個人設定で未設定ならUTC)時点の版 (データセット)であり、現在の版とは大きく異なる場合があります。

JAXA Earth APIは宇宙航空研究開発機構が無償・オープンソースで公開している地球観測衛星データの配信サービスである。Python及びJavaScriptのAPI (Application Programming Interface)が利用可能である。2022年6月に公開された。[1]

データセット

JAXAが無償で公開している地球観測衛星データのうち、主要なものに対応している。

  • だいちの数値表層モデル(地形データ)
  • だいち2号等による森林・非森林マップ
  • 衛星全球降水マップ(GSMaP)【日々更新中】
  • しきさいによる地表面温度、植生指数【日々更新中】
  • しずくによる海面水温、土壌水分量【日々更新中】

データ配信の仕組み

クラウドストレージ上で、Cloud Optimized GeoTIFF (COG)[2]とSpatioTemporal Asset Catalogs (STAC)[3]に準拠した静的ファイルを公開するだけの仕組みとしていることが特徴である。クライアント端末上で実行されるAPIで、それらのファイルをHTTPにより直接取得することで必要なデータを取得する仕組みとなっており、サーバー側では動的な処理を不要としている。クライアント側で実行するAPIについては、Python及びJavaScriptに対応したモジュールが開発されている。

WMSWMTSなどの従来の衛星データ配信においては、サーバー側で画像化までを行うことが主流であった。クライアント側ではPNG等の画像としてデータを受けとるため、基本的には閲覧の用途がメインとなる。値の取得用には別途サーバー側で値を返すための実装を必要とする。

一方でJAXA Earth APIの方式では、COGのデータを直接配信するため、2次元配列としての数値データをクライアント側で直接扱うことが可能である。APIに画像生成や簡易統計処理の機能が実装されており、従来サーバー側で実行されていた多くの処理がクライアント側で実行される構成となっている。サーバーへのアクセス集中による処理待ちが無くなることによる高速化と、サーバー実装の簡素化を両立している。

HTTP Range Requests[4]を用いてCOGファイルの必要なタイルの該当バイト範囲のみを通信するため、COGファイル全体をダウンロードする必要は無い。必要なタイルが複数存在する場合はHTTP Range Requestsの回数が増えるが、HTTP/2に対応したクラウドストレージを用いることにより、多重化した通信が行われて、データ取得の高速化が可能となっている。

さらに、クライアント側ではCOGファイル全体をダウンロードせず、必要な緯度経度範囲・解像度のデータのみを取り扱うこととなるため、数億ピクセルにもなる大容量の地球観測衛星データの処理に必要な高い処理性能は不要となり、ブラウザのJavaScriptでも直接画像化の処理や統計処理を行えるようになっている。

SpatioTemporal Asset Catalogs (STAC)

SpatioTemporal Asset Catalogs (STAC)はJSONフォーマットのカタログデータである。JAXA Earth APIにおいては、データセットごとに、日時・解像度・経度・緯度の階層構造のSTACを静的ファイルとしてクラウドストレージ上に公開している。クライアント側ではAPIに実装された機能により、取得したいデータの日時、解像度、緯度経度に該当するSTACを探索し、必要なCOGファイルのURLを特定することが可能となっている。COGファイル内に格納されたデジタル値(DN値:0~255のようなビット値)を観測された実際の物理量に変換するための変換係数や、物理量の単位などもSTACの中に記録されている。

Cloud Optimized GeoTIFF (COG)

Cloud Optimized GeoTIFF (COG)は、ラスターデータのオンライン配信に適したファイル構造を持ったGeoTIFFファイルである。ファイル内の各タイルのデータ格納バイト位置や座標情報を含むImage File Directory (IFD)がファイル先頭に記録されている。また、IFD以降には256px四方などにタイル化されたラスターデータが格納されている。さらにオーバービューとして1/2、1/4、1/8、…サイズの縮小された画像もタイル化されて格納されている。[5]このファイル構造により、最初にIFDのみをHTTP Range Requestsを用いて取得し、必要な緯度経度・解像度のタイルのバイト位置を計算後、該当するタイルのバイトデータのみを再度HTTP Range Requestsを用いて取得することで、数10MB~数100MBにもなるCOGファイル全部をダウンロードする必要はなく、数MB程度の通信量で済ますことが可能となる。

脚注

  1. ^ JAXA Earth API”. data.earth.jaxa.jp. 2023年8月26日閲覧。
  2. ^ Cloud Optimized GeoTIFF”. www.cogeo.org. 2023年8月26日閲覧。
  3. ^ SpatioTemporal Asset Catalogs”. stacspec.org. 2023年8月26日閲覧。
  4. ^ HTTP 範囲リクエスト - HTTP | MDN” (英語). developer.mozilla.org (2022年9月28日). 2023年8月26日閲覧。
  5. ^ COG(Cloud Optimized Geotiff)とは?~メリット、適用データ、使い方~ Tellus v3.0から適用される新しいデータ形式に迫る!”. 宙畑. 2023年8月26日閲覧。