Microsoft 플래네터리 컴퓨터 프로 에 대한 STAC 개요

이 문서에서는 STAC(SpatioTemporal Asset Catalog) 사양 및 Microsoft 플래네터리 컴퓨터 프로 에서 사용하는 방법에 대한 개요를 제공합니다.

STAC 사양

STAC 사양은 지리 공간적 데이터를 쉽게 찾고, 결합하고, 사용할 수 있도록 하는 개방형 커뮤니티 기반 표준입니다. STAC는 "spatiotemporal 자산"을 설명하고 카탈로그화하기 위한 일반적인 구조를 제공합니다. 이 구조를 사용하면 공간과 시간 모두에서 데이터를 인덱싱하고 구성할 수 있습니다.

STAC를 사용하면 조직은 광범위한 사용자가 지리 공간적 자산에 액세스할 수 있도록 할 수 있습니다. STAC 카탈로그를 사용하여 다음을 비롯한 다양한 유형의 지리 공간적 자산 데이터를 구성할 수 있습니다.

  • 위성, 항공 및 드론 이미지
  • LIDAR 및 SAR 데이터
  • 전체 동작 비디오
  • 하이퍼 스펙트럼 데이터
  • 기타 파생 데이터 형식

또한 COG(클라우드 최적화 GeoTIFF) 및 GeoParquet과 같은 기존 및 새로운 클라우드 네이티브 데이터 형식과 함께 STAC를 사용할 수 있습니다.

2018년에 출시된 이후 많은 조직에서 STAC를 신속하게 채택하여 공간 데이터를 구성했습니다. 이러한 조직에는 위성 운영자, 정부 기관, 시민 사회 단체 및 상업 회사가 포함됩니다.

STAC 사양은 지리 공간적 자산을 설명하고, 해당 자산을 그룹으로 구성하고, 공통 API를 통해 해당 자산을 검색할 수 있도록 하기 위한 네 가지 보완 표준으로 구성됩니다. 특히 이러한 STAC 표준은 다음과 같습니다.

Planetary Computer Pro는 데이터 관리의 모든 측면에서 STAC 사양을 사용합니다.

flowchart LR
    subgraph GC["GeoCatalog (Azure resource)"]
        direction TB
        subgraph C1["STAC Collection"]
            I1["STAC Items"]
        end
        subgraph C2["STAC Collection"]
            I2["STAC Items"]
        end
        subgraph C3["STAC Collection"]
            I3["STAC Items"]
        end
    end

    API["STAC API"]
    GC -- exposes --> API

    classDef resource fill:#0a3d62,stroke:#0a3d62,color:#ffffff;
    classDef collection fill:#e8f1fb,stroke:#0a3d62,color:#0a3d62;
    classDef items fill:#ffffff,stroke:#0a3d62,color:#0a3d62;
    classDef api fill:#1e824c,stroke:#1e824c,color:#ffffff;

    class GC resource;
    class C1,C2,C3 collection;
    class I1,I2,I3 items;
    class API api;

비고

Microsoft 플래네터리 컴퓨터 프로 현재 STAC 1.0.0 사양을 대상으로 하며 아직 STAC 1.1.0과 호환되지 않습니다. STAC 1.1.0에 대한 지원은 예정된 릴리스에 대해 계획되어 있습니다.

GeoCatalogs 및 STAC

GeoCatalogs 소개

Planetary Computer Pro 서비스를 사용하면 Azure 구독에서 지리 공간적 데이터 세트를 수집, 관리, 검색 및 배포하는 GeoCatalog 리소스를 만들 수 있습니다. GeoCatalog는 관리하는 지리 공간적 데이터에 대한 STAC 규격 API를 노출하는 Azure 리소스입니다. STAC API 지원 외에도 GeoCatalog는 수집, 관리 스토리지, ID 기반 액세스 제어, 시각화 및 STAC 사양 자체에 속하지 않는 기타 Azure 네이티브 기능을 제공합니다.

STAC API 관점에서 GeoCatalog는 STAC 컬렉션 및 STAC 항목을 그룹화한 최상위 STAC 카탈로그 개체를 제공합니다. 에서 JSON 웹 뷰어를 사용하여 특정 GeoCatalog에 대한 최상위 STAC 카탈로그 JSON을 볼 수 있습니다 https://<your geocatalog uri>/json-api?path=/. STAC 카탈로그 사양에 대한 자세한 내용은 STAC 카탈로그 사양을 참조하세요.

GeoCatalog는 다음 정보를 사용하여 정의됩니다.

분야 설명
구독 GeoCatalog 인스턴스를 배포하는 Azure 구독
리소스 그룹 GeoCatalog 인스턴스를 배포하는 Azure 리소스 그룹
이름 GeoCatalog 인스턴스의 이름
지역 GeoCatalog 인스턴스를 배포하는 Azure 지역

현재 Planetary Computer Pro는 다음 Azure 지역에 GeoCatalogs를 배포할 수 있습니다.

  • 미국 동부
  • 미국 중북부
  • 서유럽
  • 캐나다 중부
  • UK South
  • 미국 정부 버지니아

Azure Portal 또는 Azure REST API를 사용하여 GeoCatalog를 배포할 수 있습니다. GeoCatalog를 Azure 구독에 배포하는 방법을 알아보려면 GeoCatalog 리소스 만들기를 참조하세요.

STAC 컬렉션

컬렉션 소개

GeoCatalog를 사용하면 Azure에서 지리 공간적 데이터 세트를 저장하고 구성하는 컬렉션을 만들 수 있습니다. STAC 컬렉션을 사용하여 공통 지리적 영역 또는 센서와 같은 속성 및 메타데이터를 공유하는 STAC 항목 그룹을 설명합니다. STAC 컬렉션 개념에 대한 자세한 내용은 STAC 컬렉션 사양을 참조하세요.

컬렉션 정의

Planetary Computer Pro는 데이터 세트 및 포함된 항목을 설명하는 공통 필드 집합을 정의하는 STAC 컬렉션 사양을 준수합니다.

컬렉션 내에서 해당 컬렉션에 저장된 데이터의 형식과 구조를 지정할 수 있습니다. Planetary Computer Pro의 탐색기를 사용하여 컬렉션 내에서 데이터를 시각화하는 렌더링 구성 설정을 추가할 수도 있습니다.

JSON 형식으로 GeoCatalog에서 컬렉션을 정의합니다. 정의에는 다음 필드가 포함됩니다.

분야 설명
아이디 필수 - 공급자 전체에서 고유한 컬렉션의 식별자입니다.
유형 필수 - STAC 요소 형식; 는 "collection"이어야 합니다.
제목 컬렉션에 대한 간단한 설명이 포함된 한 줄 제목입니다.
설명 필수 - 컬렉션을 완전히 설명하기 위한 자세한 여러 줄 설명입니다.
라이센스 필수 - 컬렉션의 라이선스입니다.
익스텐트 필수 - 컬렉션의 공간(경도/위도) 및 시간(날짜 범위) 범위를 설명합니다.
공급자 컬렉션의 콘텐츠를 캡처하거나 처리하는 조직입니다.
요약 포함된 항목의 속성에 대한 개요를 제공하는 키-값 쌍 목록입니다.
수집 자산 썸네일 이미지와 같이 컬렉션과 직접 연결된 데이터 파일입니다.
항목 자산 컬렉션의 항목에 포함된 데이터 파일에 대한 세부 정보입니다. 자세한 내용은 항목 자산을 참조하세요.
링크 필수 - 리소스 및 관련 URL에 대한 링크 개체 목록입니다.
키워드 컬렉션을 설명하는 키워드 목록입니다.
STAC 버전 필수 - 컬렉션에서 사용되는 STAC 버전입니다.

아이템 자산

컬렉션 수준의 필드에는 item_assets 모든 자식 항목에서 사용할 수 있는 자산(데이터 파일)이 표시됩니다. 이 필드에 나열된 자산이 모든 항목에 대해 모든 자산을 사용할 수 있음을 의미하지는 않습니다. 이 필드는 사용 가능한 자산의 합집합을 나타내며, 교집합을 나타내는 것이 아닙니다. STAC 사양의 item_assets 확장을 통해 GeoCatalog에서 이 필드를 사용하도록 설정합니다. GeoCatalog 탐색기에서 항목을 시각화하려면 항목 자산 확장이 필요합니다.

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(National Agriculture Imagery Program)에서 열린 데이터 세트를 설명하는 이 예제를 참조하세요.

데이터 구성

GeoCatalog 탐색기에서 컬렉션을 시각화하려면 다음을 비롯한 여러 구성을 정의해야 합니다.

STAC 항목

STAC 항목 소개

GeoCatalog는 지리 공간적 데이터 세트를 컬렉션으로 저장하고 구성합니다. STAC 항목은 GeoCatalog 컬렉션의 핵심 개체입니다. 장면에 대한 메타데이터와 위성 이미지와 같은 해당 장면의 자산에 대한 링크를 포함합니다. 항목의 메타데이터를 사용하면 GeoCatalog에서 공간 자산을 검색하고 쿼리할 수 있습니다. STAC 항목에 대한 자세한 내용은 STAC 항목 사양을 참조하세요.

항목 정의

Planetary Computer Pro는 시간 범위 및 항목과 관련된 자산과 같은 항목을 설명하는 공통 필드 집합을 정의하는 STAC 항목 사양을 준수합니다. JSON 형식으로 항목을 정의하고 더 많은 메타데이터를 포함하도록 유연하게 확장할 수 있습니다.

유효한 STAC 항목에는 다음 필드가 필요합니다.

분야 설명
아이디 필수 - 항목의 부모 컬렉션에서 고유한 항목의 식별자입니다.
유형 필수 - 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

Planetary Computer Pro의 API는 STAC API 사양을 준수하므로 페타바이트 규모의 데이터 세트를 빠르고 쉽게 검색하여 요구 사항에 맞는 특정 데이터 자산을 찾을 수 있습니다. 이러한 자산을 식별하면 GeoCatalog의 API를 사용하여 자산을 보거나 다운로드할 수 있습니다.

다음 단계