ArcGIS教程:创建正态栅格

  摘要

  基于“分析”窗口的范围和像元大小创建具有正态(高斯)分布随机值的栅格。

  插图

  

  用法

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

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

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

  · 输出值的平均值为 0.0,标准差为 1.0。如果希望输出栅格具有其他标准差,则可将它乘以该值。如果希望栅格具有其他平均值,则可该值与其相加。例如,要创建具有平均值为 39、标准差为 2.5 这种值特征的栅格,可以将创建正态栅格的结果乘以 2.5,然后加上 39。

  · 在“地图代数”中,您可以执行如下操作:

  · import arcpy

  · from arcpy import env

  · from arcpy.sa import *

  · env.workspace = "C:/data"

  ·outNorm = CreateNormalRaster(1, Extent(0, 0, 100, 100)) * 2.5 + 39

  ·outNorm.save("C:/output/norm2")

  · 随机数生成器会使用系统时钟的当前值(自 1970 年 1 月 1 日后的秒数)来进行自动播种。对创建随机栅格工具执行种子重新设定将导致创建正态栅格的种子重新设定。

  代码实例

  CreateNormalRaster 示例 1(Python 窗口)

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

  import arcpy

  from arcpy import env

  from arcpy.sa import *

  env.workspace = "C:/sapyexamples/data"

  outNormalRaster = CreateNormalRaster(2, Extent(0, 0, 150, 150))

  outNormalRaster.save("C:/sapyexamples/output/outnormal")

  CreateNormalRaster 示例 2(独立脚本)

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

  # Name: CreateNormalRaster_Ex_02.py

  # Description: Creates a raster of random values from a normal distribution

  # 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

  cellSize = 2

  extent = Extent(0, 0, 150, 150)

  # Check out the ArcGIS Spatial Analyst extension license

  arcpy.CheckOutExtension("Spatial")

  # Execute CreateNormalRaster

  outNormalRaster = CreateNormalRaster(cellSize, extent)

  # Save the output

  outNormalRaster.save("C:/sapyexamples/output/outnormraster")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值