Skip to main content

Implémentation de types raster personnalisés en Python

Les types raster peuvent être personnalisés et implémentés en Python selon le type de données raster que vous souhaitez ajouter. Les types raster peuvent être comparés à un ensemble de fonctions qui reconnaissent le format de la structure de métadonnées associée à vos données. Le type raster peut également analyser les métadonnées pour récupérer des informations telles que les chemins des fichiers de données, les références spatiales et les métadonnées (nom du capteur, élévation du soleil, azimut du soleil, distance du soleil, date d’acquisition, rayonnement et paramètres de réflectance).

En plus d’analyser et de lire les informations sur les métadonnées du fichier de métadonnées, un type raster définit également les modèles de traitement applicables au type de données lues. Les modèles de traitement peuvent combiner différentes informations issues des données sources pour générer une sortie plus significative et pratique à des fins d’affichage et d’analyse ultérieure. Le modèle de traitement multispectral est défini pour la plupart des types raster basés sur des données de capteur. De nombreux autres modèles peuvent être définis en fonction du type de données disponibles pour un produit. Par exemple, le type raster Landsat 8 définit divers modèles tels que Multispectral, Panchromatique, Avec affinage panchromatique, Végétation, Cirrus et Neige/Glace.

Pour en savoir plus sur les types raster ArcGIS implémentés en Python, consultez Types raster Github.

Propriétés d’un type raster

Un type raster est créé en définissant une ou plusieurs des propriétés suivantes à partir de ses données sources :

  • Propriétés de la bande : nom de la bande, longueur d’onde minimale et maximale, rayonnement solaire

  • Modèles de traitement : modèles de fonctions raster contenant des entrées, des fonctions et des valeurs ou variables

  • Champs auxiliaires : ajoutés à un jeu de données mosaïque

  • Entrées auxiliaires : informations supplémentaires requises par le type raster pour décrire pleinement la source de données, comme un MNE qui doit être appliqué au jeu de données source pour orthorectifier l’image

Implémentation de type raster personnalisé

Les détails d’implémentation d’un type raster dans un module Python sont décrits ci-dessous. Un type raster est une couche qui facilite l’interaction avec l’application pour divers aspects des données. Les types raster sont également essentiels pour ajouter des rasters à un jeu de données mosaïque en utilisant l’outil Ajouter des rasters au jeu de données mosaïque.

Le cadre ArcGIS identifie les types raster en utilisant le modèle d’usine bien connu. Une usine de types raster contient un ensemble de types raster, qui peuvent être organisés selon des critères spécifiques, ou être un simple conteneur pour tous les types raster.

Trois composants d’un type raster sont implémentés en Python :

Comment cela fonctionne-t-il ?

L’architecture d’implémentation d’un type raster en Python est un traitement intuitif. ArcGIS fournit un adaptateur de type raster qui interagit avec le système ArcGIS et le module Python pour l’implémentation du type raster. L’adaptateur charge le module Python et recherche RasterTypeFactory pour identifier les types raster qui participent à ce module. RasterTypeFactory doit contenir au moins une fonction publique, getRasterTypesInfo, qui renvoie des informations sur tous les types raster de l’usine. La fonction getRasterTypesInfo renvoie un dictionnaire de RasterTypeDefinitions. L’adaptateur récupère ensuite des informations sur les RasterTypes et traite les types raster basés sur Python de la même manière que tous les autres types raster contenus dans ArcGIS. Le cadre ArcGIS interagit ensuite avec le type raster basé sur Python à l’aide de l’API Builder et de l’API Crawler.

Une fois que vous avez implémenté votre type raster en Python, placez le module Python dans le dossier [InstallDirectory]\Resources\Raster\Types.

Le cadre de types raster dans ArcGIS extrait tous les fichiers *.py de cet emplacement et vérifie s’ils contiennent des types raster valides. Si des types raster valides sont trouvés, ils sont ajoutés à la liste des types raster pris en charge dans l’outil Ajouter des rasters au jeu de données mosaïque.

Pour en savoir plus sur la manière d’implémenter un type raster dans un module Python, consultez Anatomie du type raster Python.