栅格转浮点型 (转换)

摘要

将栅格数据集转换为表示栅格数据的二进制浮点值文件。

使用情况

  • 输入栅格数据集可以是任何有效的栅格数据集。

  • 将创建两个输出:IEEE 浮点格式 32 位带符号二进制文件(扩展名为 .flt)和 ASCII 头文件(扩展名为 .hdr)。这两种文件将使用相同的输出浮点型栅格文件名。

  • ASCII 文件由包含一组关键字的标题信息组成。

    文件的格式一般为:

        NCOLS xxx
        NROWS xxx
        XLLCORNER xxx
        YLLCORNER xxx
        CELLSIZE xxx
        NODATA_VALUE xxx
        BYTEORDER <MSBFIRST | LSBFIRST>

    关键字的定义如下:

    • NCOLSNROWS 是由二进制文件所定义的栅格的列数和行数。

    • XLLCORNERYLLCORNER 是左下角栅格像元的左下角坐标。

      栅格转浮点型不支持使用 XLLCENTERYLLCENTER

    • CELLSIZE 是栅格的像元大小。

    • NODATA_VALUE 是用于表示 NoData 像元的值。

    • BYTEORDER 表示多字节二进制数如何存储于生成二进制文件的系统。 在基于 Intel CPU 的系统中,字节顺序是 LSBFIRST(也称为“小字节”)。 在其他大多数计算机架构中(除 Alpha 外的多数 UNIX 系统以及配有 Motorola CPU 的老式 Macintosh),字节顺序是 MSBFIRST(也称为“大字节”)。

  • NODATA_VALUE 是输出文件中被指定给输入栅格中包含 NoData 的像元的值。此值通常留给那些“真”值未知的像元专用。

  • 默认情况下,输入栅格中的 NoData 值在输出的浮点型文件中被替换为 -9999。如果要使用其他值表示 NoData,可以按类似于下面的步骤进行操作:

    1. 在原始栅格上运行 ArcGIS Spatial Analyst extension IsNull 工具。输出将为二进制值栅格,其中 1 对应原始栅格上的 NoData,0 表示任何其他值。
    2. 运行 ArcGIS Spatial Analyst extension Con 工具,将 IsNull 结果指定为输入条件栅格,将 NoData 值要指定的新值指定为输入条件为真的值,将原始栅格指定为输入条件为假的栅格,并将条件表达式的值指定为 1。
    3. 使用栅格转浮点型Con 输出栅格转换为浮点型二进制文件。
    4. 将 ASCII 头文件中的 NODATA_VALUE 值更改为 NoData 所转换的值。

  • 此工具只将左下角像元的左下角作为原点写入。复制栅格工具也支持将左下角像元的中心作为原点。

参数

标注说明数据类型
输入栅格

输入栅格数据集。

栅格可以是整型或浮点型。

Raster Layer
输出浮点栅格文件

输出浮点栅格文件。

文件名的扩展名必须是 .flt

File

arcpy.conversion.RasterToFloat(in_raster, out_float_file)
名称说明数据类型
in_raster

输入栅格数据集。

栅格可以是整型或浮点型。

Raster Layer
out_float_file

输出浮点栅格文件。

文件名的扩展名必须是 .flt

File

代码示例

RasterToFloat 示例 1(Python 窗口)

将栅格数据集转换为可表示栅格数据的二进制浮点值文件。

import arcpy
arcpy.env.workspace = "C:/data"
inRaster = "elevation"
outFloat = "c:/output/elevation.flt"
arcpy.conversion.RasterToFloat("elevation", "c:/output/elevation.flt")
RasterToFloat 示例 2(独立脚本)

将栅格数据集转换为可表示栅格数据的二进制浮点值文件。

# Name: RasterToFloat_Ex_02.py
# Description: Converts a raster dataset to a file of binary floating-point
#     values representing raster data.
# Requirements: None

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set local variables
inRaster = "elevation"
outFloat = "c:/output/elevation.flt"

# Run RasterToFloat
arcpy.conversion.RasterToFloat(inRaster, outFloat)

相关主题