Werkzeuge, die die Umgebungseinstellung "Zufallszahlengenerator" berücksichtigen, verwenden Algorithmen, die anhand von Startwerten (Seed) und der Verteilung eine Reihe von Zufallszahlen erzeugen.
Verwendungshinweise
- Wenn ein Werkzeug, in dem Zufallswerte verwendet werden (z. B. Zufälliges Raster erstellen, Zufällige Punkte erstellen oder Wert berechnen), zweimal mit demselben Startwert ausgeführt wird, ist die Ausgabe identisch. Durch Festlegen des Startwertes können Sie Ergebnisse reproduzieren.
- Wenn ein Zufallszahlengenerator global festgelegt wird, wird ein Datenstrom mit Zufallswerten erstellt. Jedes nachfolgende Werkzeug in einem ModelBuilder-Modell ruft bei Bedarf den nächsten verfügbaren Wert aus dem Datenstrom ab.
- In einem ModelBuilder-Modell können mehrere Zufallszahlengenerator-Datenströme verwendet werden, indem diese lokal für die gewünschten Werkzeuge erstellt werden, in denen Zufallszahlen verwendet werden. Jedem Werkzeug kann ein eigener Datenstrom zugewiesen werden, aus dem es bei Bedarf Zufallswerte abruft. Nur das Werkzeug, zu dem dieser lokale Datenstrom gehört, kann Werte daraus abrufen. Die Anzahl der lokalen Datenströme ist nicht begrenzt.
Dialogfeldsyntax
- Ursprung – Der Startwert ist ein Ganzzahlwert, mit dem der Zufallszahlengenerator gestartet wird. Der Standardwert ist 0.
- Zufallsgeneratortyp – Der Algorithmus für den Zufallsgenerator.
- ACM599 – ACM-Sammelalgorithmus (Standardeinstellung)
- MERSENNE_TWISTER – Mersenne Twister mt19937
- STANDARD_C – Standard-C Rand
Skriptsyntax
arcpy.env.randomGenerator = random_generator_option
random_generator_option | Erläuterung |
---|---|
Ursprung {distribution} |
|
Ein RandomNumberGenerator kann mit der Funktion CreateRandomValueGenerator erstellt oder von der randomGenerator-Umgebung zurückgegeben werden. |
Erstellen Sie mit dem Werkzeug "Wert berechnen" einen Zufallswert.
import arcpy
# Set the randomGenerator environment to 4 MERSENNE_TWISTER
arcpy.env.randomGenerator = "4 MERSENNE_TWISTER"
# Calculate a random number using the arcgis.rand() function
result = arcpy.CalculateValue_management("arcgis.rand('normal 0.0 10.0')")
# Get the value from the result object from CalculateValue and print
randomValue = float(result[0])
print(randomValue)