浮点型转栅格 (转换)
摘要
将表示栅格数据的二进制浮点型值文件转换为栅格数据集。
用法
-
输入文件为 IEEE 浮点格式,32 位带符号二进制文件。
-
需要两个输入文件:带有 .flt 扩展名的二进制浮点型文件 (<in_float_file>.flt) 和带有 .hdr 扩展名的 ASCII 头文件 (<in_float_file>.hdr)。您只需指定 .flt 文件;但必须在同一目录中存在文件名相同的 .hdr 文件。
-
ASCII 文件由包含一系列关键字的文件头信息组成。
ASCII 文件有两种结构。一种用左下角栅格像元的左下角坐标来标识原点,另一种用左下角栅格像元的中心来标识原点。
文件的格式一般为:
NCOLS xxx NROWS xxx XLLCORNER xxx YLLCORNER xxx CELLSIZE xxx NODATA_VALUE xxx BYTEORDER <MSBFIRST | LSBFIRST>
关键字的定义如下:
NCOLS 和 NROWS 是由二进制文件所定义的栅格的列数和行数。
XLLCORNER 和 YLLCORNER 是左下角栅格像元的左下角坐标。
也可使用 XLLCENTER 和 YLLCENTER 根据左下角栅格像元的中心坐标指定原点。
CELLSIZE 是栅格像元的大小。
NODATA_VALUE 是用于表示 NoData 像元的值。
BYTEORDER 表示多字节二进制数如何存储在生成二进制文件的系统上。在基于 Intel 的系统中,字节顺序是 LSBFIRST(也称为“大字节”)。在其他大多数计算机架构(除 Alpha 外的所有 UNIX 系统以及配有 Motorola CPU 的老式 Macintosh),字节顺序是 MSBFIRST(也称为“小字节”)。
-
NODATA_VALUE 是输入文件中的值,用于确定在输出栅格中应分配 NoData 值的像元。NoData 通常是为真值未知的像元保留的。
-
在浮点型二进制文件中,将以 32 位带符号的二进制浮点数形式写入值。文件的第一条记录与栅格的第一行对应。从左到右,第一个 32 位表示第一个像元,下一个 32 位表示第二个像元,以此类推,直到本条记录(行)的结尾。第二条记录(栅格的第二行)重复第一条记录的过程,以此类推,直到最后一条记录(栅格的最后一行)。
-
此工具支持用左下角像元的左下角确定原点,也支持用左下角像元的中心确定原点。栅格转浮点型只将左下角像元的左下角作为原点。
创建完输出栅格后,使用定义投影工具为其设定合适的坐标系。
语法
参数 | 说明 | 数据类型 |
in_float_file |
输入的浮点型二进制文件。 该文件的扩展名必须是 .flt。必须存在一个与浮点型二进制文件相关联的、带有 .hdr 扩展名的头文件。 | File |
out_raster | 要创建的输出栅格数据集。 如果不保存到地理数据库,请为 TIFF 文件格式指定 .tif,为 ERDAS IMAGINE 文件格式指定 .img,而对于 Esri 的格网栅格格式,无需指定扩展名。 | Raster Dataset |
代码实例
将表示栅格数据的二进制浮点型值文件转换为栅格数据集。
import arcpy
arcpy.FloatToRaster_conversion("c:/data/elevation.flt", "c:/output/elev")
将表示栅格数据的二进制浮点型值文件转换为栅格数据集。
# Name: FloatToRaster_Ex_02.py
# Description: Converts a file of binary floating-point values representing
# raster data to a raster dataset.
# Import system modules
import arcpy
# Set local variables
inASCII = "c:/data/elevation.flt"
outRaster = "c:/output/elev02"
# Execute FloatToRaster
arcpy.FloatToRaster_conversion("c:/data/elevation.flt", "c:/output/elev02")