Créer un raster aléatoire (Spatial Analyst)
Récapitulatif
Crée un raster de valeurs aléatoires à virgule flottante comprises entre 0.0 et 1.0, dans l'étendue et la taille de cellule de la fenêtre d'analyse.
Illustration
Utilisation
L'outil Créer un raster aléatoire génère des valeurs pour chaque cellule du raster en sortie.
Le raster en sortie généré par cet outil est toujours à virgule flottante.
Les valeurs de cellule auront jusqu'à 7 chiffres de précision après le séparateur décimal.
-
L'utilisation répétée de la même valeur germe ou de la valeur par défaut ne produit pas le même raster.
Vous pouvez modifier la valeur germe à l'aide d'un paramètre, pour être certain d'obtenir différents points de démarrage pour le générateur de nombres aléatoires.
-
Pour générer les valeurs, le générateur de nombres aléatoires accompagnant les bibliothèques standard C de Microsoft est utilisé. Dans Visual Studio 6, le code source est contenu dans le fichier RAND.c, qui est généralement situé dans le répertoire Program Files/Microsoft Visual Studio/VC98/CRT/SRC.
La boîte à outils de gestion des données, Data Management, comporte un outil Créer un raster aléatoire qui offre davantage d'options pour la distribution des valeurs.
Syntaxe
Paramètre | Explication | Type de données |
seed_value (Facultatif) |
Valeur à utiliser comme nouvelle valeur de départ du générateur de nombres aléatoires. Il peut s'agir d'un nombre entier ou à virgule flottante. Les rasters ne sont pas autorisés en tant qu'entrées. Le générateur de nombres aléatoires démarre automatiquement avec la valeur actuelle de l'horloge système (en secondes depuis le 1er janvier 1970). La plage des valeurs autorisées pour la valeur germe est comprise entre -231+1 et 231 (ou -2 147 483 647 et 2 147 483 648). | Double |
cell_size (Facultatif) |
Taille de cellule pour le jeu de données raster en sortie. Il s'agit de la valeur contenue dans l'environnement, si spécifiquement définie. En l'absence de spécifications, il s'agit de la largeur ou de la hauteur la plus courte de l'étendue d'environnement, dans la référence spatiale en sortie, divisée par 250. | Analysis Cell Size |
extent (Facultatif) | Etendue du jeu de données raster en sortie. L'étendue est une classe Python. Dans cet outil, elle se présente sous la forme : Extent(XMin, YMin, XMax, YMax)
Les coordonnées sont spécifiées dans les mêmes unités de carte que le paramètre in_raster. L'étendue est la valeur définie spécifiquement dans l'environnement, le cas échéant. Si elle n'est pas définie spécifiquement, la valeur par défaut est 0, 0, 250, 250. | Extent |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster |
Raster en sortie de valeurs distribuées de manière aléatoire avec une plage comprise entre 0.0 et 1.0. | Raster |
Exemple de code
Cet exemple indique comment créer un raster en sortie de valeurs aléatoires, conformément à la taille de cellule et à l'étendue définies.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outRandRaster = CreateRandomRaster(100, 2, Extent(0, 0, 150, 150))
outRandRaster.save("C:/sapyexamples/output/outrandom")
Cet exemple indique comment créer un raster en sortie de valeurs aléatoires, conformément à la taille de cellule et à l'étendue définies.
# Name: CreateRandomRaster_Ex_02.py
# Description: Creates a raster of random floating point values
# between 0 and 1
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
seedValue = 1
cellSize = 2
extent = Extent(0, 0, 150, 150)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CreateRandomRaster
outRandomRaster = CreateRandomRaster(seedValue, cellSize, extent)
# Save the output
outRandomRaster.save("C:/sapyexamples/output/outrand")