创建常量栅格 (Spatial Analyst)

需要 Spatial Analyst 许可。

描述

基于分析窗口的范围和像元大小创建值为常量的栅格。

插图

创建常量栅格图示
OutRas = CreateConstantRaster(2)

使用方法

  • 创建常量栅格工具可将指定值分配到输出栅格的每个像元中。

  • 常量值必须是数值。接受以科学记数法表示的值(例如,3.048e-4 表示 0.003048)。

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

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

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

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

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

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

语法

CreateConstantRaster(constant_value, {data_type}, {cell_size}, {extent})
参数说明数据类型
constant_value

用于填充输出栅格中所有像元的常量值。

Double
data_type
(可选)

输出栅格数据集的数据类型。

  • INTEGER将创建整型栅格。
  • FLOAT将创建浮点栅格。

如果指定的数据类型为浮点型,则无论采用何种输出格式,输出栅格中像元的值仅精确到具有 7 个小数位的常量值。

String
cell_size
(可选)

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

此参数可以通过数值进行定义,也可以从现有栅格数据集获取。如果未将像元大小明确指定为参数值,则将使用环境像元大小值(如果已指定);否则,将使用其他规则通过其他输出计算像元大小。有关详细信息,请参阅用法部分。

Analysis Cell Size
extent
(可选)

输出栅格数据集的范围。

Extent 是一个 Python 类。

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

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

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

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

Extent

返回值

名称说明数据类型
out_raster

各像元均将具有指定常量值的输出栅格。

Raster

代码示例

CreateConstantRaster 示例 1(Python 窗口)

本示例将在定义的像元大小和范围内创建具有特定值的浮点型栅格。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outConstRaster = CreateConstantRaster(12.7, "FLOAT", 2, Extent(0, 0, 250, 250))
outConstRaster.save("C:/sapyexamples/output/outconst2")
CreateConstantRaster 示例 2(独立脚本)

本示例将在定义的像元大小和范围内创建具有特定值的整型栅格。

# Name: CreateConstantRaster_Ex_02.py
# Description: Creates a raster from a constant value
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy.sa import *

# Set local variables
constantValue = 12
cellSize = 2
outExtent = Extent(0, 0, 250, 250)

# Execute CreateConstantRaster
outConstRaster = CreateConstantRaster(constantValue, "FLOAT", cellSize,
                                      outExtent)

# Save the output 
outConstRaster.save("C:/sapyexamples/output/outconst")

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题