Créer un raster normal (Spatial Analyst)
Récapitulatif
Crée un raster de valeurs aléatoires avec une répartition normale (Gauss) dans l'étendue et la taille de cellule de la fenêtre d'analyse.
Illustration
Utilisation
-
L'outil Créer un raster normal génère des valeurs pour chaque cellule dans le 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.
-
Les valeurs en sortie ont une moyenne de 0 et un écart type de 1. Si vous souhaitez employer un écart type différent, multipliez le raster en sortie par cette valeur. Si vous souhaitez obtenir une moyenne différente, ajoutez cette valeur au raster. Vous pouvez par exemple créer un raster dans lequel les valeurs sont associées à une moyenne de 39 et à un écart type standard de 2,5. Multipliez le résultat obtenu via Créer un raster normal par 2,5, puis rajoutez 39.
L'outil Algèbre spatiale vous permet d'effectuer les opérations suivantes :
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/data" outNorm = CreateNormalRaster(1, Extent(0, 0, 100, 100)) * 2.5 + 39 outNorm.save("C:/output/norm2")
-
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). Lorsque vous reparamétrez l'outil Créer un raster aléatoire, il en va de même avec l'outil Créer un raster normal.
Syntaxe
Paramètre | Explication | Type de données |
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 |
Le raster de valeurs en sortie qui sont normalement réparties avec une moyenne de 0 et un écart type de 1. | Raster |
Exemple de code
Cet exemple indique comment créer un raster en sortie de valeurs distribuées normalement, conformément à la taille de cellule et à l'étendue.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNormalRaster = CreateNormalRaster(2, Extent(0, 0, 150, 150))
outNormalRaster.save("C:/sapyexamples/output/outnormal")
Cet exemple indique comment créer un raster en sortie de valeurs distribuées normalement, conformément à la taille de cellule et à l'étendue.
# Name: CreateNormalRaster_Ex_02.py
# Description: Creates a raster of random values from a normal distribution
# 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
cellSize = 2
extent = Extent(0, 0, 150, 150)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CreateNormalRaster
outNormalRaster = CreateNormalRaster(cellSize, extent)
# Save the output
outNormalRaster.save("C:/sapyexamples/output/outnormraster")