サポートされているデータ型で説明されているように、Microsoft プラネタリー コンピューター Pro では、NetCDF、HDF5、Zarr、GRIB2 形式のデータ キューブ ファイルのインジェスト、クラウドの最適化、視覚化がサポートされています。 これらの資産は、ローカル ストレージでは複雑で従来は煩雑ですが、プラネタリー コンピューター Pro を使用したクラウド環境向けに最適化されており、衛星画像や気候モデルなどの多次元データを構造化して格納するための効率的なツールとしてさらに強化されています。
データ キューブの取り込み
データ キューブ ファイルは、他のラスター データ型と同じ方法で、プラネタリー コンピューター Pro に取り込むことができます。 他の日付形式と同様に、資産と関連する Spatio テンポラル 資産カタログ (STAC) 項目は、まず Azure Blob Storage に格納する必要があります。 ただし、他の 2 次元ラスター アセットとは異なり、特定のデータ キューブ形式 (NetCDF および HDF5) の取り込み時に、より多くのクラウド最適化手順が行われます。
注
GRIB2データは、クラウド環境で効率的に参照される関連インデックスファイルを持つ2次元ラスターコレクションとして扱われ、他のクラウド最適化手順を必要とせず、他の2次元ラスターデータと同じ方法で取り込まれます。 同様に、Zarr は既にクラウドネイティブ形式であるため、インジェスト時に最適化は行われません。
データ キューブのクラウド最適化
NetCDF または HDF5 資産を含む STAC 項目が取り込まれると、資産は、データ自体を変換するのではなく、より効率的なデータ アクセスを可能にする参照ファイルの生成によって、クラウド最適化されます。
Kerchunk マニフェストを使用したクラウドの最適化
プラネタリー コンピューター Pro に取り込まれるときにクラウド最適化ジオティフ (COG) に変換される 2D ラスター データとは異なり、データ キューブアセットは参照ファイルまたは Kerchunk マニフェストの生成によって最適化されます。 Kerchunk は、これらのチャンク マニフェストを作成するオープンソースの Python ライブラリです。つまり、データ キューブの構造とそのチャンクを記述する JSON ファイルで、それらのチャンクが存在する元のファイルのバイト範囲にマップされる Zarr スタイルのチャンク キーを使用します。 生成されると、Kerchunk ファイルは資産と共に BLOB ストレージに格納され、STAC 項目はこれらのマニフェストへの参照を含むようにエンリッチされ、クラウド環境のデータ アクセスが最適化されます。
クラウドの最適化をトリガーする STAC 項目のプロパティ
コレクションの STAC 項目内で、データ キューブ資産をクラウド最適化するには、次の条件が満たされている必要があります。
- 資産の形式は、次のいずれかの種類です。
application/netcdfapplication/x-netcdfapplication/x-hdf5
- 資産には、ロールの一覧内に
rolesまたはdataを含むvisualフィールドがあります。
これらの条件が満たされると、資産と共に Blob Storage に Kerchunk マニフェスト (assetid-kerchunk.json) が生成されます。
注
アセット形式の種類application/x-hdf は、多くの場合、HDF4 アセットに対応します。 GeoCatalog インジェストでは、複雑さと複数のバリエーションが追加されたため、HDF4 用の仮想カーチンク マニフェストの作成は現在サポートされていません。
STAC 項目強化
STAC 項目内の最適化された資産ごとに、次のフィールドが追加されます。
-
msft:datacube_converted: true– エンリッチメントが適用されたことを示します。 -
cube:dimensions– データセット ディメンションとそのプロパティを一覧表示するディクショナリ。 -
cube:variables– データセット変数とそのプロパティを記述するディクショナリ。
これらの変数は、エクスプローラーでのデータ キューブ アセットの視覚化がデータの読み取りとレンダリングを最も効率的に行うために、レンダリング構成に使用する必要があります。
クラウド最適化データ キューブの利点
データ キューブ クラウドの最適化により、特に視覚化ワークフローの場合、データ アクセスのパフォーマンスが向上します。 Kerchunk マニフェストが存在する場合、データセット ファイル全体の読み込みよりも高速なアクセスが可能になります。
元の資産と同じ BLOB ストレージ ディレクトリにKerchunkマニフェストが存在する場合、Microsoft Planetary Computer Pro ExplorerとタイルAPIは、優先してKerchunkマニフェストを使用してデータ読み取り操作を行います。
チャンクされた参照ベースのアプローチを使用してデータを読み取る方が高速です。これは、ファイル全体をメモリに読み込むのを回避するためです。
データ キューブ クラウドの最適化を無効にする
クラウド最適化データ キューブ資産を操作しない場合は、取り込む前に STAC 項目 JSON 内の資産のdataリストからvisualとrolesを削除して、クラウドの最適化を無効にします。
Zarr のインジェストとデータの更新
前述のように、Zarr は本質的にクラウドネイティブ形式であるため、取り込まれたときに追加の最適化は行われず、STAC 項目の変更は必要ありません。 ただし、最新バージョンで動作するように Zarr アセットと最新の STAC 項目を動的に更新する場合は、 追加 と 同期の 2 つの更新方法に注意する必要があります。
Append
ローカルに格納されている Zarr ストアに新しいデータを追加するが、プラネタリー コンピューター Pro に格納されているバージョンを更新する場合は、STAC 項目を再読み込みする必要があります。 その項目が再移行されると、既定の動作では、新しいデータの資産を確認し、クラウドに格納されているデータに追加します。 再移行前に STAC 項目を変更する必要はありません。
同期
ローカルに格納されている Zarr ストアからデータを削除した場合、同じ STAC 項目を再読み込みしても、 追加 機能は新しいデータを検索するため、クラウドベースのバージョンがコンピューター上のバージョンと一致することは許可されませんが、不足しているデータに応じて調整されることはありません。 そこで 同期 が行われるのです。 STAC項目を同期を示すパラメーターを含むように変更し、その変更されたSTAC項目を再インゲストすることにより、Zarrストアから最新のデータのみがPlanetary Computer Proで利用可能になります。 STAC 項目の変更は次のように表示されます。
{
...
"assets": {
"pr": {
"href": "https://managedstorage.azure.com/collection-container/somestuff/pr.zarr",
"msft:ingestion": {
"directory": "sync"
}
}
}
}