您的位置:首页 > 其它

ArcGIS教程:创建正态栅格

2015-09-14 11:48 477 查看
  摘要

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

  插图

  



  用法

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

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

  · 像元值最高可精确到小数点后 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")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息