本文概述了時空資產目錄(STAC)規範,以及 Microsoft Planetary Computer Pro 如何使用它。
STAC 規格
STAC 規格是開放式社群導向的標準,可讓您輕鬆地尋找、結合及使用地理空間數據。 STAC 提供了描述與編目「時空資產」的共同結構。這種結構讓你能在空間和時間上索引並組織資料。
透過 STAC,組織能讓其地理空間資產對廣泛的使用者開放。 您可以使用 STAC 目錄來整理多種類型的地理空間資產資料,包括:
- 衛星、空中和無人機圖像
- LIDAR 和 SAR 數據
- 完整動作視訊
- 高光譜數據
- 其他衍生的數據格式
此外,你也可以將 STAC 與現有及新興的雲端原生資料格式結合,如雲端優化 GeoTIFFs(COGs)和 GeoParquet。
自 2018 年發行以來,許多組織迅速採用 STAC 來組織其空間數據。 這些組織包括衛星運營商、政府機構、民間團體和商業公司。
STAC 規格包含四個互補標準,可用來描述地理空間資產、將這些資產組織成群組,以及透過一般 API 搜尋這些資產。 具體來說,這些 STAC 標準包括:
行星計算機專業版會跨數據管理的所有層面使用 STAC 規格。
STAC 目錄
GeoCatalogs 簡介
Planetary Computer Pro 服務允許您在 Azure 訂閱中建立 GeoCatalog 資源,以擷取、管理、搜尋及分發地理空間資料集。 GeoCatalog 是 Azure 資源,從 STAC API 的觀點來看,其邏輯上相當於 STAC 目錄。 STAC 目錄是 STAC 階層中的最上層物件,會以邏輯方式將 STAC 集合和 STAC 專案分組。 您可以使用 JSON 網頁檢視器查看特定 GeoCatalog 的 STAC 資料,並前往 https://<your geocatalog uri>/json-api?path=/。 欲了解更多關於 STAC 目錄規範的資訊,請參閱 STAC 目錄規範。
GeoCatalog 是使用下列資訊來定義:
| 領域 | 說明 |
|---|---|
| 訂閱 | 您用於部署 GeoCatalog 實例的 Azure 訂閱 |
| 資源群組 | Azure 資源群組,你部署 GeoCatalog 實例的地方 |
| 名稱 | GeoCatalog 實例名稱 |
| 區域 | 你部署 GeoCatalog 實例的 Azure 區域 |
目前,行星計算機專業人員可以在下列 Azure 區域中部署 GeoCatalogs:
- 美國東部
- 美國中北部
- 西歐
- 加拿大中部
- 英國南部
- 美國維吉尼亞政府
你可以透過 Azure 入口網站或 Azure REST API 來部署 GeoCatalog。 欲了解如何將 GeoCatalog 部署至 Azure 訂閱中,請參閱 建立 GeoCatalog 資源。
STAC 集合
集合簡介
GeoCatalog 可讓您建立集合,以在 Azure 上儲存及組織地理空間數據集。 使用 STAC 集合來描述一組共享屬性與元資料的 STAC 項目,例如共同的地理區域或感測器。 欲了解更多關於STAC收藏概念的資訊,請參閱 STAC收藏規範。
集合定義
Planetary Computer Pro 遵循 STAC 集合規範,該規範定義了一組共同欄位以描述資料集及所包含項目。
在集合中,您可以指定儲存在該集合中的數據類型和結構。 您也可以新增 轉譯組態設定 ,以使用行星計算機專業版的 Explorer 將集合中的數據可視化。
你可以在 GeoCatalog 中以 JSON 格式定義收藏。 定義包括以下欄位:
| 領域 | 說明 |
|---|---|
| ID | 必填 - 集合識別碼,提供者間唯一。 |
| 類型 | 必填 - STAC 元素類型;必須為「collection」。 |
| 標題 | 集合的簡短描述性單行標題。 |
| 說明 | 必要 - 詳細的多行描述,以完整說明集合。 |
| 許可證 | 必填 - 集合的授權資訊。 |
| 範圍 | 必要 - 描述集合的空間(經度/緯度)和時態性(日期範圍)範圍。 |
| 供應商 | 捕捉或處理收藏內容的組織。 |
| 摘要 | 鍵值對的清單,提供所包含項目屬性的概覽。 |
| 集合資產 | 與收藏直接相關的資料檔案,例如縮圖圖片。 |
| 項目資產 | 集合項目中所包含數據檔的詳細資訊。 如需詳細資訊,請參閱 項目資產。 |
| 連結 | 必填 - 指向資源及相關 URL 的連結物件清單。 |
| 關鍵字 | 描述集合的關鍵詞清單。 |
| STAC 版本 | 必填 - 集合使用的 STAC 版本。 |
物品資產
收藏層級的 item_assets 欄位顯示任何子項目中可用的資產(資料檔案)。 此欄位列出的資產並不代表所有資產都能用於所有物品。 欄位顯示的是可用資產的聯集,而非交集。 你可以透過 STAC 規範的 item_assets擴充 ,在 GeoCatalog 中啟用這個欄位。 如果你想在 GeoCatalog Explorer 中視覺化項目,你需要 item assets 擴充功能。
場 item_assets 是一個至少包含以下兩個場的物件:
| 領域 | 類型 | 說明 |
|---|---|---|
| 標題 | 字串 | 用於客戶端與使用者顯示的標題。 |
| 說明 | 字串 | 提供更多詳細數據的資產描述,例如資產的處理方式或建立方式。 |
| 型別 | 字串 | 資產的媒體類型 。 |
| 角色 | 字串清單 | 資產的語義角色,類似於連結中的 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 範例,請參考 此範例,描述國家農業影像計畫(NAIP)的一個開放資料集。
集合組態
要在 GeoCatalog Explorer 中視覺化收藏,您必須定義多種配置,包括:
STAC 項目
STAC 項目簡介
GeoCatalog 將地理空間資料集儲存並組織成集合。 STAC 項目是 GeoCatalog 收藏中的核心物件。 它包含場景的元資料,並連結到該場景的資產,例如衛星影像。 物件的元數據可讓 GeoCatalog 搜尋及查詢空間資產。 欲了解更多關於 STAC 項目的資訊,請參閱 STAC 項目規格。
項目定義
Planetary Computer Pro 遵循 STAC 項目規範,該規範定義了一組常見欄位來描述物品,例如時間範圍及與物品相關的資產。 你可以以 JSON 格式定義項目,並能靈活擴充以包含更多元資料。
有效的 STAC 專案需要下列欄位:
| 領域 | 說明 |
|---|---|
| ID | 必填 - 項目識別碼,在其父集合中唯一 |
| 類型 | 必要 - GeoJSON 物件類型;必須是「功能」 |
| 幾何學 | 必填 - 定義此項目所代表資產的完整範圍,作為 GeoJSON 幾何物件 |
| 邊界框 | 必填 - 此項目所代表資產的邊界框座標 |
| 屬性 | 必要 - 物品的其他元資料 |
| 資產 | 必要 - 與專案相關聯的數據資產,每個資產都有唯一索引鍵 |
| 集合 | 必要 - 項目的父集合識別碼 |
| 連結 | 必填 - 指向資源及相關 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
Planetary Computer Pro 的 API 符合 STAC API 規範,因此您可以快速且輕鬆地搜尋拍字節級的資料集,找到符合需求的特定資料資產。 一旦您辨識出這些資產,就可以使用 GeoCatalog 的 API 查看或下載這些資產。