ASCII 转栅格 (转换)

描述

将表示栅格数据的 ASCII 文件转换为栅格数据集。

旧版本:

此工具已弃用。现在可以使用复制栅格工具将表示栅格数据的 ASCII 文件转换为栅格数据集。

如果要使用复制栅格工具上的浏览按钮 浏览 文本框,并且输入文件的扩展名不是 .asc,则可以重命名文件以包含该扩展名,也可以将输入栅格对话框中的过滤器从所有支持的类型更改为文件。建议重命名文件。

使用方法

  • 输入文件是 ASCII 格式的文本文件。

  • ASCII 文件的结构由包含一系列关键字的文件头信息组成,后跟以行优先顺序排列的像元值。

    ASCII 文件有两种结构。一种用左下角栅格像元的左下角坐标来标识原点,另一种用左下角栅格像元的中心来标识原点。

    文件的格式一般为:

        NCOLS xxx
        NROWS xxx
        XLLCORNER xxx
        YLLCORNER xxx
        CELLSIZE xxx
        NODATA_VALUE xxx
        row 1
        row 2
        .
        .
        row n

    关键字的定义如下:

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

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

      也可使用 XLLCENTERYLLCENTER 根据左下角栅格像元的中心坐标指定原点。

    • 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 像元的值。此值通常留给那些“真”值未知的像元专用。创建输出栅格时,将使用系统生成的 NoData 值来替代 NODATA_VALUE

  • 文件中包含的像元值数目必须等于行数与列数的乘积,否则系统将返回一条错误。

  • 输出数据类型可以是浮点型或整型。

  • 创建完输出栅格后,使用定义投影工具为其设定合适的坐标系。

语法

arcpy.conversion.ASCIIToRaster(in_ascii_file, out_raster, {data_type})
参数说明数据类型
in_ascii_file

要转换的输入 ASCII 文件。

File
out_raster

要创建的输出栅格数据集。

如果不希望将输出栅格保存到地理数据库,请为 TIFF 文件格式指定 .tif,为 CRF 文件格式指定 .CRF,为 ERDAS IMAGINE 文件格式指定 .img,而对于 Esri Grid 栅格格式,无需指定扩展名。

Raster Dataset
data_type
(可选)

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

  • INTEGER将创建整型栅格数据集。
  • FLOAT将创建浮点栅格数据集。
String

代码示例

ASCIIToRaster 示例 1(Python 窗口)

将表示栅格数据的 ASCII 文件转换为栅格数据集。

import arcpy
arcpy.ASCIIToRaster_conversion("c:/data/elevation.asc", "c:/output/elevation", 
                               "INTEGER")
ASCIIToRaster 示例 2(独立脚本)

将表示栅格数据的 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)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题