创建随机栅格 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

基于“分析”窗口的范围和像元大小创建一个具有介于 0.0 与 1.0 之间的随机浮点值的栅格。

“数据管理”工具框中的创建随机栅格工具提供了增强的功能或性能。

插图

创建随机栅格图示
OutRas = CreateRandomRaster()
请注意:此输出具有代表性。 每次执行工具时,实际值都会不同。

使用情况

  • 创建随机栅格工具可为输出栅格中的每个像元生成相应值。

  • 此工具中的输出栅格始终为浮点型。

  • 像元值最高可精确到小数点后 7 位数。

  • 重复使用相同种子值或默认值不会产生相同的栅格。

  • 您可以通过参数更改种子以确保为随机数生成器获得不同的起点。

  • 要生成这些值,请使用 ACM algorithm 599 随机数生成器。

  • 输出像元大小参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(如果已指定环境)。 如果参数像元大小和环境像元大小均未指定,但已设置了捕捉栅格环境,则将使用捕捉栅格的像元大小。 如果未指定任何内容,则像元大小为 1。

  • 如果使用数值指定了像元大小,工具将直接将其用于输出栅格。

    如果使用栅格数据集指定了像元大小,则参数将显示栅格数据集的路径而不是像元大小值。 该栅格数据集的像元大小将直接用于分析,前提是数据集的空间参考与输出空间参考相同。 如果数据集的空间参考与输出空间参考不同,将根据指定的像元大小方法值进行投影。

  • 由于该工具未包含任何输入,因此输出空间参考将以特定顺序从其他设置中获取。 首先,将使用输出坐标系环境(如果已指定),随后使用地图视图的坐标系。 如果上述条件都不满足,则输出空间参考将被设置为“未知”。

  • 系统将根据像元大小计算默认输出范围,以创建由 250 行和 250 列组成的栅格。 因此,对于默认值为 1 的像元大小,输出范围为 (0, 0, 250, 250)。 该范围值将基于像元大小捕捉栅格输出坐标系环境(如果已指定)进行调整。

  • “数据管理”工具箱中的创建随机栅格工具可为值的分布提供更多选项。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
种子值
(可选)

用于重新填充随机数生成器的值。

可以是整数或浮点数。 栅格不可以作为输入。

随机数生成器会使用系统时钟的当前值(自 1970 年 1 月 1 日后的秒数)来进行自动播种。 种子值的允许值范围是 -231 + 1 到 231(或 -2,147,483,647 到 2,147,483,648)。

Double
输出像元大小
(可选)

将创建的输出栅格的像元大小。

该参数可以通过数值定义,也可以从现有的栅格数据集获取。 在像元大小未明确指定为参数值的情况下,如果指定了环境像元大小值,则将使用该值;否则,将使用附加规则,根据其他输入来计算该值。 有关详细信息,请参阅使用方法部分。

Analysis Cell Size
输出范围
(可选)

输出栅格数据集的范围。

如果专门进行设置,则范围将为环境中的值。 如果未进行专门设置,默认值将为 0、0、250、250。

Envelope; Extent

返回值

标注说明数据类型
输出栅格

0.0 到 1.0 之间随机分布值的输出栅格

Raster

CreateRandomRaster({seed_value}, {cell_size}, {extent})
名称说明数据类型
seed_value
(可选)

用于重新填充随机数生成器的值。

可以是整数或浮点数。 栅格不可以作为输入。

随机数生成器会使用系统时钟的当前值(自 1970 年 1 月 1 日后的秒数)来进行自动播种。 种子值的允许值范围是 -231 + 1 到 231(或 -2,147,483,647 到 2,147,483,648)。

Double
cell_size
(可选)

将创建的输出栅格的像元大小。

该参数可以通过数值定义,也可以从现有的栅格数据集获取。 在像元大小未明确指定为参数值的情况下,如果指定了环境像元大小值,则将使用该值;否则,将使用附加规则,根据其他输入来计算该值。 有关详细信息,请参阅使用方法部分。

Analysis Cell Size
extent
(可选)

输出栅格数据集的范围。

Extent 是一个 Python 类。

在该工具中,其形式为 Extent(XMin, YMin, XMax, YMax)

  • XMinYMin 定义范围左下方的坐标,且 XMaxYMax 定义右上方的坐标。

指定给坐标的地图单位与输出坐标系环境设置的地图单位相同。

如果专门进行设置,则范围将为环境中的值。 如果未进行专门设置,默认值将为 0、0、250、250。

Envelope; Extent

返回值

名称说明数据类型
out_raster

0.0 到 1.0 之间随机分布值的输出栅格

Raster

代码示例

CreateRandomRaster 示例 1(Python 窗口)

本例将以定义的像元大小和范围创建随机值的输出栅格。

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")
CreateRandomRaster 示例 2(独立脚本)

本例将以定义的像元大小和范围创建随机值的输出栅格。

# 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)

# Execute CreateRandomRaster
outRandomRaster = CreateRandomRaster(seedValue, cellSize, extent) 

# Save the output 
outRandomRaster.save("C:/sapyexamples/output/outrand")

相关主题