この記事では、SpatioTemporal Asset Catalog (STAC) 仕様の概要と、Microsoft プラネタリー コンピューター プロによる使用方法について説明します。
STAC 仕様
STAC 仕様はオープンでコミュニティ主導の標準であり、地理空間データを簡単に検索、結合、使用できます。 STAC は、"時空間資産" を記述およびカタログ化するための共通の構造を提供します。この構造により、空間と時間の両方にわたってデータのインデックス作成と整理を行うことができます。
STAC を使用すると、組織は、幅広いユーザーが地理空間資産にアクセスできるようにすることができます。 STAC カタログを使用すると、次のようなさまざまな種類の地理空間資産データを整理できます。
- 衛星、航空写真、ドローンの画像
- LID データと SAR データ
- フル モーション ビデオ
- ハイパースペクトルデータ
- その他の派生データ形式
さらに、STAC は、クラウド最適化 GeoTIFFs (COG) や GeoParquet などの既存および新しいクラウドネイティブ データ形式で使用できます。
2018 年のリリース以来、多くの組織では、空間データを整理するために STAC を迅速に採用しました。 これらの組織には、衛星オペレーター、政府機関、市民社会グループ、および商業企業が含まれます。
STAC 仕様は、地理空間資産を記述し、それらの資産をグループに編成し、共通 API を使用してそれらの資産を検索できるようにする 4 つの補完的な標準で構成されています。 具体的には、次の STAC 標準が含まれます。
プラネタリーコンピュータプロは、データ管理のすべての側面にわたってSTAC仕様を使用しています。
STAC カタログ
GeoCatalogs の概要
プラネタリー コンピューター Pro サービスを使用すると、Azure サブスクリプションに GeoCatalog リソースを作成 して、地理空間データセットの 取り込み、管理、検索、配布を行えます。 GeoCatalog は、STAC API の観点から見ると、STAC カタログと論理的に同等の Azure リソースです。 STAC カタログは、STAC コレクションと STAC アイテムを論理的にグループ化する STAC 階層内の最上位オブジェクトです。 JSON Web ビューアーを使用し、 https://<your geocatalog uri>/json-api?path=/に移動すると、特定の GeoCatalog の STAC カタログ JSON を確認できます。 STAC カタログ仕様の詳細については、 STAC カタログ仕様を参照してください。
GeoCatalog は、次の情報を使用して定義されます。
| フィールド | 説明 |
|---|---|
| サブスクリプション | GeoCatalog インスタンスをデプロイする Azure サブスクリプション |
| リソース グループ | GeoCatalog インスタンスをデプロイする Azure リソース グループ |
| 名前 | GeoCatalog インスタンスの名前 |
| リージョン | GeoCatalog インスタンスをデプロイする Azure リージョン |
現在、プラネタリ コンピューター Pro は、次の Azure リージョンに GeoCatalogs をデプロイできます。
- 米国東部
- 米国中北部
- 西ヨーロッパ
- カナダ中部
- 英国南部
- 米国政府バージニア州
GeoCatalog は、Azure portal または Azure REST API を使用してデプロイできます。 Azure サブスクリプションに GeoCatalog をデプロイする方法については、 GeoCatalog リソースの作成に関するページを参照してください。
STAC コレクション
コレクションの概要
GeoCatalog を使用すると、Azure に地理空間データセットを格納および整理するためのコレクションを作成できます。 共通の地理的領域やセンサーなど、プロパティとメタデータを共有する STAC 項目のグループを記述するには、STAC コレクションを使用します。 STAC コレクションの概念の詳細については、「 STAC コレクションの仕様」を参照してください。
コレクション定義
プラネタリー コンピューター Pro は、STAC コレクション仕様に準拠しています。この仕様では、データセットと含まれるアイテムを記述するための一連の共通フィールドが定義されています。
コレクション内では、そのコレクションに格納されているデータの型と構造を指定できます。 また、プラネタリー コンピューター Pro の Explorer を使用して、コレクション内のデータを視覚化する レンダリング構成設定 を追加することもできます。
GeoCatalog のコレクションは JSON 形式で定義します。 定義には、次のフィールドが含まれています。
| フィールド | 説明 |
|---|---|
| ID | 必須 - プロバイダー全体で一意のコレクションの識別子。 |
| タイプ | 必須 - STAC 要素の種類は "collection" である必要があります。 |
| タイトル | コレクションの短い説明的な 1 行のタイトル。 |
| 説明 | 必須 - コレクションを完全に説明するための詳細な複数行の説明。 |
| ライセンス | 必須: コレクションのライセンス。 |
| エクステント | 必須 - コレクションの空間 (経度/緯度) 範囲とテンポラル (日付範囲) の範囲を記述します。 |
| プロバイダー | コレクションのコンテンツをキャプチャまたは処理する組織。 |
| 概要 | 含まれているアイテムのプロパティの概要を提供するキーと値のペアの一覧。 |
| コレクション アセット | サムネイル画像など、コレクションに直接関連付けられているデータ ファイル。 |
| アイテム アセット | コレクションの Items に含まれるデータ ファイルに関する詳細情報。 詳細については、「 項目アセット」を参照してください。 |
| リンクス | 必須 - リソースおよび関連 URL へのリンク オブジェクトの一覧。 |
| キーワード | コレクションを記述するキーワードの一覧。 |
| STAC バージョン | 必須 - コレクションで使用される STAC バージョン。 |
アイテム資産
コレクション レベルの item_assets フィールドには、すべての子アイテムで使用できる資産 (データ ファイル) が表示されます。 このフィールドに一覧表示されている資産は、すべての資産がすべてのアイテムで使用できるわけではありません。 このフィールドには、積集合ではなく、使用可能な資産の和集合が表示されます。 STAC 仕様の item_assets拡張機能 を使用して、GeoCatalog でこのフィールドを有効にします。 GeoCatalog エクスプローラーでアイテムを視覚化する場合は、アイテムアセット拡張機能が必要です。
item_assets フィールドは、次のフィールドのうち少なくとも 2 つを含むオブジェクトです。
| フィールド | タイプ | 説明 |
|---|---|---|
| タイトル | 文字列 | クライアントとユーザーに表示されるタイトル。 |
| 説明 | 文字列 | 資産の処理方法や作成方法など、詳細を提供する資産の説明。 |
| 型 | 文字列 | 資産のメディアの種類。 |
| roles | 文字列のリスト | リンクでの rel の使用と同様に、資産のセマンティック ロール。 |
コレクション JSON の例
次の例は、最小限のコレクション JSON を示しています。 その他のフィールドについては、 STAC コレクションの仕様を参照してください。
{
"id": "example-collection",
"type": "Collection",
"title": "Example collection",
"description": "An example collection",
"license": "CC-BY-4.0",
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2018-01-01T00:00:00Z",
"2018-12-31T23:59:59Z"
]
]
}
},
"links": [],
"stac_version": "1.0.0"
}
もう少し複雑な JSON の例については、この例を参照して、 National Agriculture Imagery Program (NAIP) のオープン データセットについて説明します。
コレクションの構成
GeoCatalog エクスプローラーでコレクションを視覚化するには、次のようないくつかの構成を定義する必要があります。
STAC アイテム
STAC 項目の概要
GeoCatalog は、地理空間データセットをコレクションに格納して整理します。 STAC 項目は、GeoCatalog のコレクション内のコア オブジェクトです。 これには、シーンのメタデータと、そのシーンのアセット (サテライト イメージなど) へのリンクが含まれています。 項目のメタデータを使用すると、GeoCatalog で空間資産を検索およびクエリできます。 STAC 項目の詳細については、「 STAC 項目仕様」を参照してください。
項目の定義
プラネタリーコンピュータプロは、時間範囲やアイテムに関連する資産など、項目を記述するための一連の共通フィールドを定義するSTAC項目仕様に準拠しています。 JSON 形式で項目を定義し、それらを柔軟に拡張して、より多くのメタデータを含めることができます。
有効な STAC 項目には、次のフィールドが必要です。
| フィールド | 説明 |
|---|---|
| ID | 必須 - Item の親コレクション全体で一意である Item の識別子 |
| タイプ | 必須 - GeoJSON オブジェクトの種類。は "Feature" である必要があります |
| 幾何学 | 必須 - この項目によって表される資産の完全なフットプリントを GeoJSON Geometry オブジェクトとして定義します |
| 境界ボックス | 必須 - このアイテムによって表されるアセットの境界ボックスの座標 |
| プロパティ | 必須 - 項目のその他のメタデータ |
| 資産 | 必須 - 項目に関連付けられているデータ資産(それぞれ一意のキーを持つ) |
| 徴収 | 必須 - アイテムの親コレクションの ID |
| リンクス | 必須 - リソースと関連 URL へのリンク オブジェクトの一覧 |
| STAC バージョン | 必須 - 項目で使用される STAC バージョン |
これらの必須フィールド以外のアイテムの一般的なメタデータには、日付と時刻、ライセンス、プロバイダー、インストルメントなどが含まれます。
項目の JSON の例
次の例は、基本的な項目 JSON を示しています。
{
"stac_version": "1.0.0",
"stac_extensions": [],
"type": "Feature",
"id": "20201211_223832_CS2",
"bbox": [
172.91173669923782,
1.3438851951615003,
172.95469614953714,
1.3690476620161975
],
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
172.91173669923782,
1.3438851951615003
],
[
172.95469614953714,
1.3438851951615003
],
[
172.95469614953714,
1.3690476620161975
],
[
172.91173669923782,
1.3690476620161975
],
[
172.91173669923782,
1.3438851951615003
]
]
]
},
"properties": {
"datetime": "2020-12-11T22:38:32.125000Z"
},
"collection": "simple-collection",
"links": [
{
"rel": "collection",
"href": "./collection.json",
"type": "application/json",
"title": "Simple example collection"
},
{
"rel": "root",
"href": "./collection.json",
"type": "application/json",
"title": "Simple example collection"
},
{
"rel": "parent",
"href": "./collection.json",
"type": "application/json",
"title": "Simple example collection"
}
],
"assets": {
"visual": {
"href": "[URL]",
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"title": "3-Band Visual",
"roles": [
"visual"
]
},
"thumbnail": {
"href": "[URL]",
"title": "Thumbnail",
"type": "image/jpeg",
"roles": [
"thumbnail"
]
}
}
}
STAC 拡張機能
現在、GeoCatalog では、取り込まれたすべてのコレクションに次の拡張機能が自動的に追加されます。
STAC アイテム レベルで STAC 拡張機能を使用することもできます。
注
拡張機能を含む STAC 項目は、 PySTAC ライブラリを使用して検証されます。 STAC 検証エラーが発生した場合は、拡張機能を削除してみてください。
各拡張機能の成熟度を含む STAC 拡張機能の完全な一覧については、 GitHub の STAC 拡張機能のページを参照してください。
STAC API
プラネタリー コンピューター Pro の API は STAC API 仕様に準拠しているため、ペタバイト規模のデータセットをすばやく簡単に検索して、ニーズに合った特定のデータ資産を見つけることができます。 これらの資産を特定したら、GeoCatalog の API を使用して資産を表示またはダウンロードできます。