ASCII 转栅格 (转换)
摘要
将表示栅格数据的 ASCII 文件转换为栅格数据集。
用法
输入文件是一个 ASCII 格式的文本文件。
-
ASCII 文件的结构由包含一系列关键字的文件头信息组成,后跟以行优先顺序排列的像元值。
ASCII 文件有两种结构。一种用左下角栅格像元的左下角坐标来标识原点,另一种用左下角栅格像元的中心来标识原点。
文件的格式一般为:
NCOLS xxx NROWS xxx XLLCORNER xxx YLLCORNER xxx CELLSIZE xxx NODATA_VALUE xxx row 1 row 2 . . row n
关键字的定义如下:
NCOLS 和 NROWS 是由 ASCII 文件所定义的栅格的列数和行数。
XLLCORNER 和 YLLCORNER 是左下角栅格像元的左下角坐标。
也可使用 XLLCENTER 和 YLLCENTER 根据左下角栅格像元的中心坐标指定原点。
CELLSIZE 是栅格像元的大小。
NODATA_VALUE 是用于表示 NoData 像元的值。
像元值应由空格分隔。ASCII 文件中每行的末尾不必使用回车。文件头中的列数用于确定何时开始新的一行。
以下是 ASCII 栅格文件的一个示例:
NCOLS 480 NROWS 450 XLLCORNER 378922 YLLCORNER 4072345 CELLSIZE 30 NODATA_VALUE -32768 43 2 45 7 3 56 2 5 23 65 34 6 32 54 57 34 35 45 65 34 2 6 78 4 2 6 89 3 2 7 45 23 5 ...
-
NODATA_VALUE 是 ASCII 文件中要指定给输出栅格中 NoData 像元的值。此值通常留给那些 true 值未知的像元专用。创建输出栅格时,将使用系统生成的 NoData 值来替代 NODATA_VALUE。栅格数据集中的 NoData 主题包含有关在创建栅格后如何更改 NoData 值的信息。
-
文件中所包含的像元值数目必须等于行数与列数的乘积,否则将报错。
-
输出数据类型可以是浮点型或整型。
创建完输出栅格后,使用定义投影工具为其设定合适的坐标系。
语法
参数 | 说明 | 数据类型 |
in_ascii_file |
要转换的输入 ASCII 文件。 | File |
out_raster | 要创建的输出栅格数据集。 如果不保存到地理数据库,请为 TIFF 文件格式指定 .tif,为 ERDAS IMAGINE 文件格式指定 .img,而对于 Esri 的格网栅格格式,无需指定扩展名。 | Raster Dataset |
data_type (可选) |
输出栅格数据集的数据类型。
| String |
代码实例
将表示栅格数据的 ASCII 文件转换为栅格数据集。
import arcpy
arcpy.ASCIIToRaster_conversion("c:/data/elevation.asc", "c:/output/elevation",
"INTEGER")
将表示栅格数据的 ASCII 文件转换为栅格数据集。
# Name: ASCIIToRaster_Ex_02.py
# Description: Converts an ASCII file representing raster data to a raster
# dataset.
# Import system modules
import arcpy
# Set local variables
inASCII = "c:/data/elevation.asc"
outRaster = "c:/output/elevation02"
rasterType = "INTEGER"
# Execute ASCIIToRaster
arcpy.ASCIIToRaster_conversion(inASCII, outRaster, rasterType)