JAXA Earth API
Cloud Optimized GeoTIFF (COG)は、ラスターデータのオンライン配信に適したファイル構造を持ったGeoTIFFファイルである。ファイル内の各タイルのデータ格納バイト位置や座標情報を含むImage File Directory (IFD)がファイル先頭に記録されている。また、IFD以降には256px四方などにタイル化されたラスターデータが格納されている。さらにオーバービューとして1/2、1/4、1/8、...サイズの縮小された画像もタイル化されて格納されている。このファイル構造により、最初にIFDのみをHTTP Range Requestsを用いて取得し、必要な緯度経度・解像度のタイルのバイト位置を計算後、該当するタイルのバイトデータのみを再度HTTP Range Requestsを用いて取得することで、数10MB~数100MBにもなるCOGファイル全部をダウンロードする必要はなく、数MB程度の通信量で済ますことが可能となる。
近年COGに対応した地球観測衛星データ配信が増えており、2022年時点において、Cloud Optimizedなラスターデータ配信ではCOGがデファクトスタンダードとなっている。
APIに画像生成や簡易統計処理の機能が実装されており、従来サーバー側で実行されていた多くの処理がクライアント側で実行される構成となっている。サーバーへのアクセス集中による処理待ちが無くなることによる高速化と、サーバー実装の簡素化(サーバーレス)を両立している。
HTTP Range Requestsを用いてCOGファイルの必要なタイルの該当バイト範囲のみを通信するため、COGファイル全体をダウンロードする必要は無い。必要なタイルが複数存在する場合はHTTP Range Requestsの回数が増えるが、HTTP/2に対応したクラウドストレージを用いることにより、多重化した通信が行われて、データ取得の高速化が可能となっている。
さらに、クライアント側ではCOGファイル全体をダウンロードせず、必要な緯度経度範囲・解像度のデータのみを取り扱うこととなるため、数億ピクセルにもなる大容量の地球観測衛星データの処理に必要な高い処理性能は不要となり、ブラウザのJavaScriptでも直接画像化の処理や統計処理を行えるようになっている。