创建随机栅格 (空间分析)
摘要
基于“分析”窗口的范围和像元大小创建一个具有介于 0.0 与 1.0 之间的随机浮点值的栅格。
插图
用法
创建随机栅格工具可为输出栅格中的每个像元生成相应值。
此工具中的输出栅格始终为浮点型。
像元值最高可精确到小数点后 7 位数。
-
重复使用同一个种子值或默认值不会生成相同的栅格。
您可以通过参数更改种子,从而确保随机数生成器每次使用的起始值各不相同。
-
要生成值,应结合使用随机数生成器和 Microsoft 中的标准 C 库。在 Visual Studio 6 中,资源代码包含在 RAND.c 文件中,该文件通常位于 Program Files/Microsoft Visual Studio/VC98/CRT/SRC。
“数据管理”工具箱中的创建随机栅格工具可为值的分布提供更多选项。
语法
参数 | 说明 | 数据类型 |
seed_value (可选) |
该值用于向随机数生成器重新提供种子。 可以是整数或浮点数。不允许将栅格作为输入。 随机数生成器会使用系统时钟的当前值(自 1970 年 1 月 1 日后的秒数)来进行自动播种。种子值的允许值范围是 -231+1 到 231(或 -2,147,483,647 到 2,147,483,648)。 | Double |
cell_size (可选) |
输出栅格数据集的像元大小。 如果专门进行设置,则是环境中的值。如果未进行专门设置,则该值为输出空间参考中环境范围的宽度或高度中的较小值除以 250。 | Analysis Cell Size |
extent (可选) | 输出栅格数据集的范围。 范围是一个 Python 类。 在该工具中,其形式为:Extent(XMin, YMin, XMax, YMax)
指定给坐标的地图单位与输出坐标系环境设置的地图单位相同。 如果专门进行设置,则范围将为环境中的值。如果未进行专门设置,默认值将为 0、0、250、250。 | Extent |
返回值
名称 | 说明 | 数据类型 |
out_raster |
值随机分布的输出栅格,范围介于 0.0 到 1.0 之间 | Raster |
代码实例
本例将基于定义的像元大小和范围创建具有随机值的输出栅格。
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")
本例将基于定义的像元大小和范围创建具有随机值的输出栅格。
# 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")