La fonction raster Python permet de créer des fonctions raster personnalisées. Vous pouvez écrire des algorithmes de traitement d'images en Python, et les appliquer aux mosaïques et aux jeux de données raster. La fonction raster Python peut être insérée dans une chaîne de fonctions, comme tout autre fonction. Elle accepte une des deux entrées suivantes : un fichier .py ou un fichier .pyd (Cython compilé). Les paramètres de la fonction sont spécifiés dans le script Python. Lorsque vous pointez sur un script, la table est renseignée avec les paramètres disponibles.
La fonction raster Python peut être insérée dans une chaîne de fonctions en cliquant avec le bouton droit sur une fonction existante dans la boîte de dialogue de la fonction. À la différence des fonctions prêtes à l'emploi, elle est contenue dans le premier menu contextuel, celui qui s'affiche dès que vous cliquez avec le bouton droit sur une fonction existante.
Il existe trois entrées dans cette fonction :
- Module Python
- Nom de la classe
- Paramètres
Module Python
Le module Python est le chemin vers le script Python. L'entrée peut être au format d'un fichier Python (.py) ou d'un fichier Cython compilé (.pyd). Le code Python contient de méthodes, qui servent à décrire les informations relatives à la fonction, aux paramètres et à la sortie. Une fois ce paramètre spécifié, les sections Nom de la classe et Paramètre sont renseignées.
Pour plus d'informations sur la fonction raster Python, reportez-vous à la rubrique Référentiel de fonctions raster ArcGIS dans GitHub..
Nom de la classe
Nom de la classe est le nom donné à un bloc de code utilisé à partir du script Python. Une entrée Python possède généralement une classe, mais elle peut en avoir plusieurs. Lorsque vous précisez un Nom de la classe, les paramètres sont automatiquement renseignés avec les paramètres disponibles.
Paramètres
Une fois le Nom de la classe spécifié, la table Paramètre est renseignée avec les noms et les valeurs des paramètres définis par le script Python. Vous pouvez modifier le champ Value pour personnaliser votre sortie.
Il existe cinq types de données pouvant être utilisées en tant que paramètres : numérique, chaîne, raster, rasters et booléenne. Vous pouvez créer des domaines pour les paramètres, au sein de votre script Python, afin de restreindre la liste des valeurs en entrée dans lesquelles un utilisateur peut faire son choix. Dans ce cas, lorsque vous cliquez sur la valeur, un menu déroulant s'affiche. La méthode getParameterInfo() dans le script Python contrôle les paramètres en entrée qui sont définis. Plus d'informations sur la méthode getParameterInfo() sont disponibles dans GitHub.
Si le type de paramètre est défini sur rasters, vous pouvez cliquer sur la section Value du paramètre pour qu'une fenêtre s'ouvre. Cette fenêtre permet d'ajouter des rasters provenant de plusieurs sources. Les options suivantes sont disponibles lorsque vous ajoutez des rasters à partir de cette boîte de dialogue.
- Ajouter un raster depuis le disque : ajoute un raster se trouvant sur un disque. Vous pouvez ajouter des jeux de données raster, des mosaïques et des produits raster.
- Ajouter une chaîne de fonctions : ajoute une chaîne de fonctions comme entrée.
- Ajouter une valeur scalaire : ajoute une valeur scalaire. Les valeurs scalaires doivent être numériques.
- Ajouter une référence à l'entrée sélectionnée : ajoute une copie référencée du raster sélectionné ou de l'entrée de chaîne de fonctions sélectionnée. Toute modification apportée au raster ou à la chaîne de fonction référencé(e) sera répercutée dans cette copie référencée. Cela peut s'avérer utile lors de la création de nombreuses fonctions pouvant utiliser la même entrée référencée.
- Ajouter une copie de l'entrée sélectionnée : ajoute une copie statique de l'entrée de chaîne de fonctions sélectionnée. Toute modification apportée à la chaîne de fonction copiée ne sera pas répercutée dans cette copie statique. Cela peut s'avérer utile lors de la création de nombreuses fonctions similaires comportant une légère modification dans les chaînes de fonction.