你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft Planetary Computer Pro 的 STAC 概述

本文概述了时空资产目录 (STAC) 规范以及 Microsoft Planetary Computer Pro 如何使用它。

STAC 规范

STAC 规范是一种开放、社区驱动的标准,便于查找、合并和使用地理空间数据。 STAC 提供了用于描述和编录“空间空间资产”的通用结构。使用此结构,可以跨空间和时间为数据编制索引和组织。

借助 STAC,组织可以使其地理空间资产可供广大用户访问。 可以使用 STAC 目录来组织多种类型的地理空间资产数据,包括:

  • 卫星、空中和无人机图像
  • LIDAR 和 SAR 数据
  • 全动作视频
  • 超光谱数据
  • 其他派生数据格式

此外,还可以将 STAC 与现有的和新兴的云原生数据格式(如云优化地理TIFF(COG)和 GeoParquet 配合使用。

自 2018 年发布以来,许多组织迅速采用 STAC 来组织其空间数据。 这些组织包括卫星运营商、政府机构、民间团体和商业公司。

STAC 规范由四个补充标准组成,用于描述地理空间资产、将这些资产组织成组,以及使这些资产可通过通用 API 进行搜索。 具体而言,这些 STAC 标准包括:

行星计算机专业版在数据管理的各个方面都使用 STAC 规范。

显示 STAC 规范组件及其关系的关系图,包括 STAC 目录、STAC 集合、STAC 项和 STAC API,箭头显示它们互连的方式。

STAC 目录

GeoCatalogs 简介

使用行星计算机专业版服务,可以在 Azure 订阅 中创建 GeoCatalog 资源 ,以便 引入、管理、搜索和分发地理空间数据集。 GeoCatalog 是一种 Azure 资源,从 STAC API 的角度来看,在逻辑上等效于 STAC 目录。 STAC 目录是 STAC 层次结构中的顶级对象,在逻辑上对 STAC 集合和 STAC 项进行分组。 可以使用 JSON Web 查看器查看特定 GeoCatalog 的 STAC 目录 JSON,然后转到 https://<your geocatalog uri>/json-api?path=/。 有关 STAC 目录规范的详细信息,请参阅 STAC 目录规格

使用以下信息定义 GeoCatalog:

字段 DESCRIPTION
订阅 部署 GeoCatalog 实例的 Azure 订阅
资源组 部署 GeoCatalog 实例的 Azure 资源组
名称 GeoCatalog 实例的名称
区域 部署 GeoCatalog 实例的 Azure 区域

目前,行星计算机专业人员可以在以下 Azure 区域中部署 GeoCatalog:

  • 美国东部
  • 美国中北部
  • 西欧
  • 加拿大中部
  • 英国南部
  • 美国政府弗吉尼亚州

可以使用 Azure 门户或 Azure REST API 部署 GeoCatalog。 若要了解如何将 GeoCatalog 部署到 Azure 订阅,请参阅 创建 GeoCatalog 资源

STAC 集合

集合简介

通过 GeoCatalog,可以创建集合来存储和组织 Azure 上的地理空间数据集。 使用 STAC 集合描述一组共享属性和元数据的 STAC 项,例如公共地理区域或传感器。 有关 STAC 集合概念的详细信息,请参阅 STAC 集合规范

集合定义

行星计算机专业版遵循 STAC 集合规范,该规范定义了一组用于描述数据集和包含项的常见字段。

在集合中,可以指定存储在该集合中的数据的类型和结构。 还可以添加 呈现配置设置 ,以使用行星计算机专业版资源管理器可视化集合中的数据。

以 JSON 格式以 GeoCatalog 定义集合。 定义包括以下字段:

字段 DESCRIPTION
ID 必需 - 在提供程序中唯一的集合标识符。
类型 必需 - STAC 元素类型,必须是“集合”。
标题 集合的简短描述性单行标题。
DESCRIPTION 必填 - 使用详细的多行说明以完全解释集合。
许可证 必需 - 集合的许可证。
盘区 必需 - 描述集合的空间(经度/纬度)和时态(日期范围)范围。
提供者 捕获或处理集合内容的组织。
Summaries 键值对列表,概述了包含的项的属性。
集合资产 与集合直接关联的数据文件,例如缩略图。
项目资产 有关集合项中包含的数据文件的详细信息。 有关详细信息,请参阅 项目资产
链接 必需 - 资源和相关 URL 的链接对象列表。
关键字 描述集合的关键字列表。
STAC 版本 必需 - 集合使用的 STAC 版本。

项资产

item_assets集合级别的字段显示任何子项中可用的资产(数据文件)。 此字段中列出的资产并不意味着所有资产都可用于所有项。 该字段显示可用资源的并集,而不是交集。 可以通过 STAC 规范 的 item_assets 扩展 在 GeoCatalog 中启用此字段。 如果要在 GeoCatalog 资源管理器中可视化项目,则需要项目资产扩展。

item_assets 字段是至少具有以下两个字段的对象:

字段 类型 DESCRIPTION
标题 字符串 为客户端和用户显示的标题。
description 字符串 资产的说明提供了更多详细信息,例如处理或创建资产的方式。
类型 字符串 资产的媒体类型
角色 字符串列表 资产的语义角色,类似于在链接中使用 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 资源管理器中可视化集合,必须定义多个配置,包括:

STAC 项

STAC 项目简介

GeoCatalog 将地理空间数据集存储并组织到集合中。 STAC 项是 GeoCatalog 集合中的核心对象。 其中包含场景的元数据以及指向该场景中的资源(如卫星图像)的链接。 项的元数据允许 GeoCatalog 搜索和查询空间资产。 有关 STAC 项的详细信息,请参阅 STAC 项规格

项目定义

行星计算机专业人员遵循 STAC 项目规范,该规范定义了一组用于描述项的常见字段,例如时间范围和与项目相关的资产。 可以定义 JSON 格式的项,并可以灵活扩展它们以包含更多元数据。

有效的 STAC 项需要以下字段:

字段 DESCRIPTION
ID 必需 - 用于表明该项在所属父集合中唯一性的标识符
类型 必需 - GeoJSON 对象类型;必须是“功能”
几何学 必需 - 将此项表示资产的完整占用情况定义为 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

行星计算机专业版 API 符合 STAC API 规范,因此可以快速轻松地搜索 PB 级数据集,以查找满足需求的特定数据资产。 识别这些资产后,可以使用 GeoCatalog 的 API 查看或下载资产。

后续步骤