了解Esri的.asc文件吗?


17

阅读ArcGIS帮助:受支持的栅格数据集文件格式,我了解到ASCII Grid文件类型使用单数文件扩展名.asc来寻址16位带符号整数(用于离散数据)和32位浮点文件(用于连续数据) )。

他们在Esri网格格式部分中说:

网格是Esri固有的栅格数据存储格式。有两种类型的网格:整数网格和浮点网格。

然后描述两种格式。

我的困惑在下一个帮助部分Esri ASCII栅格格式中。在那里,他们只提到浮点格式。因此,我想知道:

  1. 除网格外,离散数据的16位带符号整数格式是否也被视为栅格格式?
  2. 在“ ESRI网格格式-网格数据存储”部分,他们引用了其他几个扩展名,例如.bnd,.hrd等。16位带符号整数的.asc文件是Esri离散数据网格格式的ASCII版本吗?

这个问题的动机是描述/理解什么是扩展名为.asc的文件。

Answers:


20

在Esri世界中,.asc文件通常是指GRIDASCII命令(ArcInfo Workstation)或“ 栅格转ASCII”工具(ArcGIS for Desktop)创建的输出。在实践中,它几乎可以表示任何格式,通常是纯文本格式,这意味着不能从.asc扩展名中假设其内部是什么样。

这是一种交换格式,这意味着(通常)不将其用作分析或主存储的输入,而是与其他程序进行交换。

Esri ASCII栅格格式可以为Z(单元格)值使用整数或浮点数。这些都是有效的:

NCOLS 480
NROWS 450
XLLCORNER 378922
YLLCORNER 4072345
CELLSIZE 30
NODATA_VALUE -9999
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 ...

NCOLS 480
NROWS 450
XLLCORNER 378922
YLLCORNER 4072345
CELLSIZE 30
NODATA_VALUE -32768
43.245 7.356 2.523 6.534 6.325 57.34
35.456 34.267 4.268 32.745 23.5 ...

ESRI GRID格式,也叫ARCINFO二进制网格,在一个目录中包含多个文件(.hdr.adf,...),其内容是不透明的(看起来像一个文本编辑器官样文章)。网格规范尚未发布,但是已经非常成功地进行了反向工程。Binary Grid是ArcInfo Workstation的默认栅格格式(实际上来自其GRID程序),并且用作主要存储和分析输入。

您并不是问这个问题,而是为了完整性:还有Esri浮点网格交换文件格式。它不用于主存储或分析。

浮点网格是从GRIDFLOAT(ArcInfo Workstation)命令或“ 栅格到浮点”(ArcGIS for Desktop)工具创建的,通常具有.flt原始值的扩展名(二进制编码)和.hdr描述格式的辅助汽车文件。.hdr是纯文本,类似于.asc文件的开头:

ncols         382
nrows         425
xllcorner     217996.296875
yllcorner     708952.625
cellsize      300.0741885626
NODATA_value  -9999
byteorder     LSBFIRST

实际上,如果您有一个未知格式的文件,认为您可能是栅格文件,则将其从显示给gdalinfo,通常可以发现它是什么:

D:\> gdalinfo strange_file.raw

Driver: AAIGrid/Arc/Info ASCII Grid
Files: strange_file.raw
Size is 382, 425
Coordinate System is `'
Origin = (217996.296875000000000,836484.155139103760000)
Pixel Size = (300.074188562596990,-300.074188562596990)
Corner Coordinates:
Upper Left  (  217996.297,  836484.155)
Lower Left  (  217996.297,  708952.625)
Upper Right (  332624.637,  836484.155)
Lower Right (  332624.637,  708952.625)
Center      (  275310.467,  772718.390)
Band 1 Block=382x1 Type=Int32, ColorInterp=Undefined
  NoData Value=-2147483648

D:\>gdalinfo strange_file_too.raw

Driver: EHdr/ESRI .hdr Labelled
Files: strange_file_too.flt
       strange_file_too.hdr
       strange_file_too.prj
Size is 382, 425
  ...snip...
Band 1 Block=382x1 Type=Float32, ColorInterp=Undefined
  NoData Value=-9999

...然后使用gdal_translate将其转换成有用的东西(如果您没有方便的ArcGIS for Desktop)。


3
...为完整起见,我还添加了一些有关GRIDFLOAT的信息
matt wilkie 2013年

3

Esri网格格式是专有的二进制文件。没有Grid文件的ASCII版本。您的帖子引用了一种ASCII传输格式。

我从未尝试将浮点数据加载到ASCII文件中,但是我知道可以接受16位带符号数据(整数网格是32位带符号数据)。ASCII数据在导入时转换为网格,然后可以将其导出为十二种不同的16位二进制格式中的任何一种。

请注意,“。asc”扩展名不是必需的,也不是排他的,因此引用“ extension .asc”会造成混淆。


1
任何文件都可以是二进制文件,包括任何带有“ .txt”后缀的文件。坦白说,如果您仍然需要编写文件,则最好创建一个.bsq / .bil / .bip文件,并使用一个符合help.arcgis.com/en/arcgisdesktop/10.0/help/index的.hdr文件。.html#//… -生成的二进制文件将是.asc大小的一小部分,并且可以直接使用。
文斯2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.