创建随机栅格 (数据管理)

在 Advanced 许可等级下可用。

摘要

使用您定义的分布创建随机值的栅格数据集。

使用情况

  • 您可以将输出保存到 Esri Grid、CRF、IMG、TIFF 或任意地理数据库栅格数据集。

  • 赋予输出栅格每个像元的值均通过随机数生成器和所选的分布类型得到。有以下几种随机数生成器。查看随机数生成器环境,以确定要使用的环境。随机数生成器根据生成器类型和种子值开启随机数流。这些数是随机确定的且值在 0 到 1 之间。每个值都独立于其他值。

    在分配(或转换)输出栅格中的值时,随机数生成器可以使用多种分布类型。不同的分布类型通常会产生不同的结果,具体使用哪种分布将由栅格的最终用途决定。如果要通过随机栅格对某一自然现象建模,则所选分布类型应该能够尽可能好地表达这些现象发生的过程。

    有关分布类型及通常如何使用这些分布类型的说明,请参阅用于分配随机值的分布法

  • 均匀分布、整数分布、正态分布和指数分布的处理时间与其各自的参数无关,而泊松分布、Gamma 分布、二项分布、几何分布和帕斯卡分布的处理时间则会因参数的不同相差很大。

  • 若未能为像元大小参数提供值,则将为其计算出一个默认值。该值将根据范围的大小进行计算。

  • 在工具对话框中,输出范围参数中的值位于地图坐标系中。在工具执行期间,如果在环境设置中指定了输出坐标系,则会将范围投影到该坐标系。

参数

标注说明数据类型
输出位置

存储输出栅格数据集的文件夹以及地理数据库。

Workspace
具有扩展名的栅格数据集名称

要创建的栅格数据集的名称和格式。

要将输出存储为地理数据库中的栅格数据集,请勿在栅格数据集名称中添加文件扩展名。

对于基于文件的栅格,使用相应扩展名来指定要创建的格式,如下所示:

  • .tif - TIFF 栅格
  • .img - ERDAS IMAGINE 栅格
  • .crf - CRF 栅格
  • Esri Grid 无扩展名
String
分布
(可选)

指定要使用的随机值分布方法。

每种类型都有一个或两个设置来控制分布。

  • 均匀 - 最小最大值之间已定义范围的均匀分布。最小值的默认值为 0.0,最大值的默认值为 1.0。这是默认设置。
  • 整数 - 最小最大值之间已定义范围的整数分布。最小值的默认值为 1,最大值的默认值为 10。
  • 正态 - 已定义平均值标准差值的正态分布。平均值的默认值为 0.0,标准差的默认值为 1.0。
  • 指数 - 已定义平均值的指数分布。默认值为 1.0。
  • 泊松 - 已定义平均值的泊松分布。默认值为 1.0。
  • Gamma - 已定义 AlphaBeta 值的 Gamma 分布。Alpha 和 Beta 的默认值都是 1.0。
  • 二项 - 已定义 N概率值的二项分布。N 的默认值为 10,概率的默认值为 0.5。
  • 几何 - 已定义概率值的几何分布。默认值为 0.5。
  • 负二项 - 已定义 r概率值的帕斯卡分布。r 的默认值为 10.0,概率的默认值为 0.5。

要编辑默认值,请单击表中的值,然后输入新值。

String
输出范围
(可选)

输出栅格数据集的范围。

  • 默认 - 该范围将基于所有参与输入的最大范围设定。这是默认设置。
  • 当前显示范围 - 该范围与数据框或可见显示范围相等。如果没有活动地图,则该选项将不可用。
  • 如下面的指定 - 该范围将基于指定的最小和最大范围值。
  • 浏览 - 该范围将基于现有数据集。
Extent
像元大小
(可选)

输出栅格数据集的空间分辨率。

Double
构建栅格属性表
(可选)

指定该工具是否将无条件地为输出栅格构建栅格属性表,其中所选分布将生成整数输出栅格。

如果输出栅格为浮点,则此参数无效。

  • 选中 - 将为整数输出栅格无条件构建栅格属性表。这是默认设置。
  • 未选中 - 如果唯一值数量大于或等于 65535,则不会为整数输出栅格构建栅格属性表。如果唯一值数量小于 65535,则将构建栅格属性表。
Boolean

派生输出

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

输出栅格数据集。

栅格数据集

arcpy.management.CreateRandomRaster(out_path, out_name, {distribution}, {raster_extent}, {cellsize}, {build_rat})
名称说明数据类型
out_path

存储输出栅格数据集的文件夹以及地理数据库。

Workspace
out_name

要创建的栅格数据集的名称和格式。

要将输出存储为地理数据库中的栅格数据集,请勿在栅格数据集名称中添加文件扩展名。

对于基于文件的栅格,使用相应扩展名来指定要创建的格式,如下所示:

  • .tif - TIFF 栅格
  • .img - ERDAS IMAGINE 栅格
  • .crf - CRF 栅格
  • Esri Grid 无扩展名
String
distribution
(可选)

指定要使用的随机值分布方法。

每种类型都有一个或两个设置来控制分布。

  • UNIFORM {Minimum}, {Maximum} - 已定义范围的均匀分布。{Minimum} 的默认值为 0.0,{Maximum} 的默认值为 1.0。这两个值均为双精度型。
  • INTEGER {Minimum}, {Maximum} - 已定义范围的的整数分布。{Minimum} 的默认值为 1,{Maximum} 的默认值为 10。这两个值均为长整型。
  • NORMAL {Mean}, {Standard Deviation} - 已定义 {Mean}{Standard Deviation} 值的正态分布。{Mean} 的默认值为 0.0,{Standard Deviation} 的默认值为 1.0。这两个值均为双精度型。
  • EXPONENTIAL {Mean} - 已定义 {Mean} 值的指数分布。默认值为 1.0。该值为双精度型。
  • POISSON {Mean} - 已定义 {Mean} 值的泊松分布。默认值为 1.0。该值为双精度型。
  • GAMMA {Alpha}, {Beta} - 已定义 {Alpha}{Beta} 值的 Gamma 分布。{Alpha} 的默认值为 1.0,{Beta} 的默认值为 1.0。这两个值均为双精度型。
  • BINOMIAL {N}, {Probability} - 已定义 {N}{Probability} 值的二项分布。{N} 值是长整型,默认值是 10。{Probability} 值是双精度型,默认值是 0.5。
  • GEOMETRIC {Probability} - 已定义 {Probability} 值的几何分布。默认值为 0.5。该值为双精度型。
  • NEGATIVE BINOMIAL {r}, {Probability} - 已定义 {r}{Probability} 值的帕斯卡分布。{r} 值是双精度型,默认值是 10.0。{Probability} 值是双精度型,默认值是 0.5。
String
raster_extent
(可选)

输出栅格数据集的范围。

  • MAXOF - 将使用所有输入的最大范围。
  • MINOF - 将使用所有输入共有的最小区域。
  • DISPLAY - 该范围与可见显示范围相等。
  • 图层名称 - 将使用指定图层的范围。
  • Extent 对象 - 将使用指定对象的范围。
  • 以空格分隔的坐标字符串 - 将使用指定字符串的范围。坐标以 x-min,y-min,x-max,y-max 的顺序表示。
Extent
cellsize
(可选)

输出栅格数据集的空间分辨率。

Double
build_rat
(可选)

指定该工具是否将无条件地为输出栅格构建栅格属性表,其中所选分布将生成整数输出栅格。

如果输出栅格为浮点,则此参数无效。

  • BUILD将为整数输出栅格无条件构建栅格属性表。这是默认设置。
  • DO_NOT_BUILD如果唯一值数量大于或等于 65535,则不会为整数输出栅格构建栅格属性表。如果唯一值数量小于 65535,则将构建栅格属性表。
Boolean

派生输出

名称说明数据类型
out_raster_dataset

输出栅格数据集。

栅格数据集

代码示例

CreateRandomRaster 示例 1(Python 窗口)

本例将基于定义的范围和像元大小创建随机值符合正态分布的输出栅格。

import arcpy
arcpy.CreateRandomRaster_management("c:/output", "randrast", 
                                    "NORMAL 3.0", "0 0 500 500", 50)
CreateRandomRaster 示例 2(独立脚本)

本例将基于定义的范围和像元大小创建随机值符合泊松分布的输出栅格。

# Name: CreateRandomRaster_Ex_02.py
# Description: Creates a random raster dataset based on a 
#              user-specified distribution and extent.
# Requirements: None

# Import system modules
import arcpy

# Set local variables
outPath = "c:/output"
outFile = "randrast02"
distribution = "POISSON 6.4"
outExtent = "250 250 750 750"
cellSize = 25

# Execute CreateRandomRaster
arcpy.CreateRandomRaster_management(outPath, outFile, distribution, 
                                    outExtent, cellSize)

许可信息

  • Basic: 需要 3D Analyst 或 Spatial Analyst
  • Standard: 需要 3D Analyst 或 Spatial Analyst
  • Advanced: 是

相关主题