В мире Esri .asc
файл обычно ссылается на вывод, созданный командой GRIDASCII (ArcInfo Workstation) или инструментом Растр в ASCII (ArcGIS for Desktop). На практике это может означать практически любой формат, обычно простой текст, то есть из .asc
расширения нельзя предположить, как он выглядит внутри.
Это формат обмена, то есть он (обычно) не используется в качестве входных данных для анализа или основного хранилища, а для обмена с другими программами.
Формат Esri ASCII Raster может использовать целые числа или числа с плавающей запятой для значения 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 Binary Grid, состоит из нескольких файлов в одном каталоге ( .hdr
, .adf
, ...) и содержание которого является непрозрачными (выглядит как абракадабра в текстовом редакторе). Спецификация сетки не опубликована, но была очень успешно переработана . Бинарная сетка является растровым форматом по умолчанию для рабочей станции ArcInfo (фактически происходит из ее программы GRID) и используется в качестве основного хранилища и входных данных для анализа.
Вы не спрашивали об этом, но для полноты: существует также формат файла обмена сетки с плавающей запятой Esri . Он не используется для первичного хранения или анализа.
Сетки с плавающей точкой создаются с помощью команды GRIDFLOAT (ArcInfo Workstation) или инструмента Raster to Float (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 из gdal, и он, как правило, сможет обнаружить, что это такое:
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.
Форматы сетки Esri являются проприетарными двоичными файлами. Нет такой вещи как ASCII-версия файлов сетки. Существует формат передачи ASCII, на который ссылается ваш пост.
Я никогда не пробовал загружать данные с плавающей точкой в файл ASCII, но я знаю, что 16-разрядные подписанные данные будут приняты (целочисленные сетки - это 32-разрядные подписанные данные). Данные ASCII при импорте преобразуются в сетку, которую затем можно экспортировать в любой из дюжины различных 16-битных двоичных форматов.
Обратите внимание, что расширение «.asc» не является обязательным или исключительным, поэтому путать ссылки на «расширение .asc» непонятно.
источник