共用方式為


Microsoft行星計算機專業版中的數據立方體

支援的資料類型中所述,Microsoft Planetary Computer Pro 支援擷取、雲端最佳化,以及 NetCDF、HDF5、Zarr 和 GRIB2 格式的資料多維數據集檔案視覺化。 儘管在本地儲存設備上看似複雜且從歷史上看曾經麻煩,但這些資產已針對 Planetary Computer Pro 的雲端環境進行最佳化,進一步增強了它們作為有效工具,能結構並儲存如衛星影像和氣候模型等多維數據的能力。

資料 Cube 的擷取

數據立方體檔案可以如同其他光柵數據類型一樣被導入到「行星電腦專業版」中。 如同其他日期格式,資產和相關聯的SpatioTemporal Asset Catalog (STAC) 項目必須先儲存在 Azure Blob 記憶體中。 然而,與其他二維光柵資產不同,擷取某些資料 Cube 格式 (NetCDF 和 HDF5) 時會進行更多的雲端最佳化步驟。

備註

GRIB2 資料的擷取方式與其他二維點陣資料相同 (沒有其他雲端最佳化步驟),因為它們本質上是 2D 點陣的集合,其中包含相關聯的索引檔案,可在雲端環境中有效地參考資料。 同樣地,Zarr 已經是雲端原生格式,因此擷取時不會進行最佳化。

資料立方體的雲端最佳化

擷取包含NetCDF或HDF5資產的STAC項目時,資產會進行雲端最佳化,不是透過轉換資料本身,而是透過產生參考檔案來啟用更有效率的資料存取。

透過 Kerchunk 資訊清單進行雲端最佳化

與擷取到 Planetary Computer Pro 時轉換為雲端最佳化 Geotiff (COG) 的 2D 光柵資料不同,資料 Cube 資產會透過產生參考檔或 Kerchunk 資訊清單來進行最佳化。 Kerchunk 是一個開放原始碼 Python 函式庫,可建立這些區塊資訊清單,或 JSON 檔案,使用 Zarr 樣式的區塊鍵來描述資料立方體及其區塊的結構,這些區塊鍵映射到這些區塊所在的原始檔案中的位元組範圍。 產生之後,Kerchunk 檔案會與資產一起儲存在 Blob 儲存體中,而 STAC 項目會擴充以包含這些資訊清單的參考,以最佳化雲端環境的資料存取。

觸發雲端最佳化的 STAC 項目屬性

在集合的 STAC 項目中,必須符合下列條件,才能將資料 Cube 資產進行雲端最佳化:

  • 資產格式是下列其中一種類型:
    • application/netcdf
    • application/x-netcdf
    • application/x-hdf5
  • 該資源的 roles 欄位在其角色清單中包含 datavisual

如果符合這些條件,則會在資產旁邊的 Blob 儲存體中產生 Kerchunk 資訊清單 (assetid-kerchunk.json)。

備註

資產格式類型application/x-hdf 通常對應至 HDF4 資產。 GeoCatalog 擷取目前不支援為 HDF4 建立虛擬 Kerchunk 資訊清單,因為它增加了複雜性並存在多種變體。

STAC 項目擴充處理

對於 STAC 項目中的每個最佳化資產,都會新增下列欄位:

  • msft:datacube_converted: true – 表示已套用擴充處理。
  • cube:dimensions – 字典,列出數據集維度及其屬性。
  • cube:variables – 描述資料集變數及其屬性的字典。

這些變數應用於渲染配置,以確保您在瀏覽器中對數據立方體資產的可視化能夠最有效地讀取和渲染數據。

雲端最佳化數據立方體的優點

資料立方體雲端最佳化可改善資料存取效能,特別是視覺化工作流程。 當 Kerchunk 資訊清單存在時,與載入整個資料集檔案相比,它允許更快的存取。

如果 Kerchunk 資訊清單存在於與原始資產相同的 Blob 儲存體目錄中,Microsoft Planetary Computer Pro Explorer 和 Tiling API 會優先使用該 Kerchunk 資訊清單來進行資料讀取作業。

使用區塊化參考型方法讀取數據的速度較快,因為它可避免將整個檔案讀取到記憶體中。

停用資料立方體雲端最佳化

如果您決定不想使用雲端最佳化資料 Cube 資產,請在擷取之前從 STAC 項目的 JSON 檔中的資產 data 清單中移除 visualroles,以停用雲端最佳化。

Zarr 擷取和資料更新

如前所述,Zarr 本質上是一種雲原生格式,因此在攝取時不會發生額外的優化,也不需要修改其 STAC 項目。 不過,如果您打算動態更新 Zarr 資產並重新擷取 STAC 項目以使用最新版本,則需要注意兩種更新方法:追加同步。

Append

如果您將新資料新增至本機儲存的 Zarr 存放區,但想要更新儲存在 Planetary Computer Pro 中的版本,則需要重新擷取 STAC 項目。 重新擷取該項目時,預設行為是檢閱資產是否有任何新資料,並將它新增至儲存在雲端中的資料。 在重新擷取之前,不需要修改 STAC 項目。

同步

如果您從本機儲存的 Zarr 存放區移除資料,則重新擷取相同的 STAC 項目將不允許雲端式版本與您電腦上的版本相符,因為 附加 功能會尋找新資料,但不會根據任何遺失的資料進行調整。 這就是 同步 發揮作用的地方。 透過修改 STAC 項目以包含指示您要同步的參數,將現有資料與新資料同步,並重新擷取該經修改的 STAC 項目,Planetary Computer Pro 中將只會提供來自 Zarr 存放區的最新資料。 STAC 項目的修改應如下所示:

{
    ...
    "assets": {
        "pr": {
            "href": "https://managedstorage.azure.com/collection-container/somestuff/pr.zarr",
            "msft:ingestion": {
              "directory": "sync"
            }
        }
    }
}