Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit une vue d’ensemble de la spécification SpatioTemporal Asset Catalog (STAC) et de la façon dont Microsoft Planetary Computer Pro l’utilise.
Spécification STAC
La spécification STAC est une norme ouverte basée sur la communauté qui facilite la recherche, la combinaison et l’utilisation de données géospatiales. STAC fournit une structure commune pour décrire et cataloguer les « ressources spatiotemporales ». Cette structure vous permet d’indexer et d’organiser les données dans l’espace et le temps.
Avec STAC, les organisations peuvent rendre leurs ressources géospatiales accessibles à un large éventail d’utilisateurs. Vous pouvez utiliser des catalogues STAC pour organiser de nombreux types de données de ressources géospatiales, notamment :
- Images satellite, aérienne et drone
- Données LIDAR et SAR
- Vidéo en mouvement intégral
- Données hyperspectrales
- Autres formats de données dérivés
En outre, vous pouvez également utiliser STAC avec des formats de données cloud natifs existants et émergents, tels que les COGs (Cloud Optimized GeoTIFFs) et GeoParquet.
Depuis sa publication en 2018, de nombreuses organisations ont rapidement adopté STAC pour organiser leurs données spatiales. Ces organisations incluent des opérateurs satellites, des agences gouvernementales, des groupes de la société civile et des entreprises commerciales.
La spécification STAC se compose de quatre normes complémentaires pour décrire les ressources géospatiales, organiser ces ressources en groupes et rendre ces ressources pouvant faire l’objet d’une recherche via des API courantes. Plus précisément, ces normes STAC incluent :
Planetary Computer Pro utilise la spécification STAC sur tous les aspects de la gestion des données.
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;
Note
Microsoft Planetary Computer Pro cible actuellement la spécification STAC 1.0.0 et n'est pas encore compatible avec STAC 1.1.0. La prise en charge de STAC 1.1.0 est prévue pour une prochaine version.
GeoCatalogs et STAC
Présentation de GeoCatalogs
Le service Planetary Computer Pro vous permet de créer une ressource GeoCatalog dans votre abonnement Azure pour ingérer, gérer, rechercher et distribuer des jeux de données géospatiaux. Un GeoCatalog est une ressource Azure qui expose une API compatible STAC pour les données géospatiales que vous gérez avec elle. En plus de la prise en charge de l'API STAC, un GeoCatalog fournit l'ingestion, le stockage managé, le contrôle d'accès basé sur l'identité, la visualisation et d'autres fonctionnalités natives Azure qui ne font pas partie de la spécification STAC elle-même.
Du point de vue de l’API STAC, un GeoCatalog présente un objet catalogue STAC de niveau supérieur qui regroupe ses collections STAC et ses éléments STAC. Vous pouvez afficher ce json de catalogue STAC de niveau supérieur pour un GeoCatalog spécifique à l’aide de la visionneuse web JSON à l’adresse https://<your geocatalog uri>/json-api?path=/. Pour plus d’informations sur la spécification du catalogue STAC, consultez spécifications du catalogue STAC.
Un GeoCatalog est défini à l’aide des informations suivantes :
| Champ | Descriptif |
|---|---|
| Abonnement | Abonnement Azure où vous déployez l’instance GeoCatalog |
| Groupe de ressources | Groupe de ressources Azure où vous déployez l’instance GeoCatalog |
| Nom | Nom de l’instance GeoCatalog |
| Région | Région Azure où vous déployez l’instance GeoCatalog |
Actuellement, Planetary Computer Pro peut déployer des geoCatalogs dans les régions Azure suivantes :
- USA Est
- Centre-Nord des États-Unis
- Europe Ouest
- Centre du Canada
- UK South
- Gouvernement des États-Unis Virginie
Vous pouvez déployer un GeoCatalog à l’aide du portail Azure ou de l’API REST Azure. Pour savoir comment déployer un GeoCatalog dans votre abonnement Azure, consultez créer une ressource GeoCatalog.
Collections de STAC
Présentation des collections
Un GeoCatalog vous permet de créer des collections pour stocker et organiser des jeux de données géospatiaux sur Azure. Utilisez une collection STAC pour décrire un groupe d’éléments STAC qui partagent des propriétés et des métadonnées, comme une zone géographique ou un capteur commun. Pour plus d’informations sur le concept de collection STAC, consultez Spec de collection STAC.
Définition de collection
Planetary Computer Pro respecte la spécification de la collection STAC, qui définit un ensemble de champs communs pour décrire le jeu de données et les éléments inclus.
Dans une collection, vous pouvez spécifier le type et la structure des données stockées dans cette collection. Vous pouvez également ajouter des paramètres de configuration de rendu pour visualiser les données dans la collection à l’aide de l’Explorateur Planetary Computer Pro.
Vous définissez des collections au format JSON dans GeoCatalog. La définition inclut les champs suivants :
| Champ | Descriptif |
|---|---|
| id | Obligatoire : identificateur de la collection unique au sein du fournisseur. |
| Type | Obligatoire - Type d’élément STAC ; doit être « collection ». |
| Titre | Titre descriptif court d’une ligne pour la collection. |
| Descriptif | Obligatoire : description détaillée multiligne pour expliquer entièrement la collection. |
| Licences | Obligatoire : licences de collection. |
| Étendue | Obligatoire : décrit les étendues spatiales (longitude/latitude) et temporelles (plage de dates) de la collection. |
| Fournisseurs | Organisations qui capturent ou traitent le contenu de la collection. |
| Résumés | Liste des paires clé-valeur qui fournissent une vue d’ensemble des propriétés des éléments inclus. |
| Ressources de collection | Fichiers de données directement associés à la collection, tels qu’une image miniature. |
| Éléments multimédias | Informations détaillées sur les fichiers de données inclus dans les éléments de la collection. Pour plus d’informations, consultez ressources d’éléments. |
| Liens | Obligatoire : liste des objets de liaison vers des ressources et des URL associées. |
| Mots clés | Liste de mots clés décrivant la collection. |
| Version STAC | Obligatoire : version STAC utilisée par la collection. |
Éléments multimédias
Le champ item_assets au niveau de la collection indique les ressources (fichiers de données) disponibles dans tout élément enfant. Les ressources répertoriées dans ce champ n’impliquent pas que toutes les ressources sont disponibles pour tous les éléments. Le champ affiche l’union des ressources disponibles, et non l’intersection. Vous activez ce champ dans un GeoCatalog via l’extension item_assets de la spécification STAC. Vous avez besoin de l’extension Ressources si vous souhaitez visualiser les éléments dans l’explorateur GeoCatalog.
Le item_assets champ est un objet avec au moins deux des champs suivants :
| Champ | Type | Descriptif |
|---|---|---|
| titre | ficelle | Titre affiché pour les clients et les utilisateurs. |
| descriptif | ficelle | Description de la ressource fournissant plus de détails, telles que la façon dont elle a été traitée ou créée. |
| type | ficelle | Type de média de la ressource. |
| Rôles | Liste de chaînes | Les rôles sémantiques de la ressource, similaires à l’utilisation de « rel » dans les liens. |
Exemples JSON de collection
L’exemple suivant montre un JSON de collection minimal. Pour plus de champs, consultez la spécification de la collection 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"
}
Pour obtenir un exemple légèrement plus complexe JSON, consultez cet exemple décrivant un jeu de données ouvert à partir du Programme national d’imagerie agricole (NAIP).
Configuration de la collecte
Pour visualiser des collections dans l’Explorateur GeoCatalog, vous devez définir plusieurs configurations, notamment :
Éléments STAC
Présentation des éléments STAC
Un GeoCatalog stocke et organise les jeux de données géospatiaux en collections. Un élément STAC est l’objet principal d’une collection GeoCatalog. Il contient des métadonnées pour une scène et des liens vers des ressources de cette scène, telles qu’une image satellite. Les métadonnées d’un élément permettent à GeoCatalog de rechercher et d’interroger des ressources spatiales. Pour plus d’informations sur les éléments STAC, consultez STAC Item Spec.
Définition de l’élément
Le Pro de l’ordinateur planétaire respecte la spécification de l’élément STAC, qui définit un ensemble de champs communs pour décrire un élément, tel que l’intervalle de temps et les ressources associées à l’élément. Vous définissez des éléments au format JSON et pouvez les développer de manière flexible pour inclure davantage de métadonnées.
Un élément STAC valide nécessite les champs suivants :
| Champ | Descriptif |
|---|---|
| id | Obligatoire : identificateur de l’élément, qui est unique dans l'ensemble de la collection parente de l’élément. |
| Type | Obligatoire - Type d’objet GeoJSON ; doit être « Fonctionnalité » |
| Géométrie | Obligatoire : définit l’empreinte complète de l'actif représenté par cet élément en tant qu’objet de géométrie GeoJSON |
| Cadre englobant | Obligatoire : coordonnées du cadre englobant de la ressource représentée par cet élément |
| Propriétés | Obligatoire : autres métadonnées pour l’élément |
| Actifs | Obligatoire : ressources de données associées à l’élément, chacune avec une clé unique |
| Collection | Obligatoire - ID de la collection parente de l’élément |
| Liens | Obligatoire : liste des objets de liaison aux ressources et aux URL associées |
| Version STAC | Obligatoire : version STAC utilisée par l’élément |
Les métadonnées courantes pour les éléments au-delà de ces champs obligatoires incluent la date et l’heure, les licences, les fournisseurs, l’instrument, etc.
Exemple JSON d’élément
L’exemple suivant montre un JSON d’élément de base.
{
"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"
]
}
}
}
Extensions STAC
Actuellement, un GeoCatalog ajoute automatiquement les extensions suivantes à toutes les collections ingérées :
Vous pouvez également utiliser des extensions STAC au niveau de l’élément STAC.
Note
Les éléments STAC, y compris les extensions, sont validés à l’aide de la bibliothèque PySTAC. Si vous rencontrez des erreurs de validation STAC, essayez de supprimer l’extension.
Pour obtenir la liste complète des extensions STAC, y compris la maturité de chacun d’eux, consultez la page des extensions STAC sur GitHub.
API STAC
Les API planetary Computer Pro sont conformes à la spécification de l’API STAC, ce qui vous permet de rechercher rapidement et facilement des jeux de données à l’échelle pétaabyte pour rechercher des ressources de données spécifiques répondant à vos besoins. Une fois que vous avez identifié ces ressources, vous pouvez afficher ou télécharger les ressources à l’aide des API de GeoCatalog.