『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS教程:创建随机栅格

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

摘要

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

插图


用法

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

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

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

·      重复使用同一个种子值或默认值不会生成相同的栅格。

·      您可以通过参数更改种子,从而确保随机数生成器每次使用的起始值各不相同。

·      要生成值,应结合使用随机数生成器和 Microsoft 中的标准 C 库。在 Visual Studio 6 中,资源代码包含在 RAND.c 文件中,该文件通常位于 Program Files/Microsoft Visual Studio/VC98/CRT/SRC

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

语法

    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

(可选)

输出栅格数据集的像元大小。

如果专门进行设置,则是环境中的值。如果未进行专门设置,则该值为输出空间参考中环境范围的宽度或高度中的较小值除以 250

Analysis Cell Size

extent

(可选)

输出栅格数据集的范围。

范围是一个 Python 类。

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

·         其中 XMin  YMin 定义范围的左下坐标,XMax  YMax 定义右上坐标。

将指定坐标使用与 in_raster 相同的地图单位。

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

Extent

返回值

名称

说明

数据类型

out_raster

值随机分布的输出栅格,范围介于 0.0 1.0 之间

Raster

代码实例

    CreateRandomRaster 示例 1Python 窗口)

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

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)

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

      京ICP备2025132830号-1 京公网安备 号