Формат ASCIIGRID с примерами: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 6: | Строка 6: | ||
Поддерживается чтение и запись в этот формат с помощью GDAL. | Поддерживается чтение и запись в этот формат с помощью GDAL. | ||
=== Заголовок === | |||
<code>ncols</code> - количество | <code>ncols</code> - количество колонок (целочисленное);<br /> | ||
<code>nrows</code> - количество | <code>nrows</code> - количество рядов (целочисленное);<br /> | ||
<code>xllcorner</code> - х-координата левого нижнего угла, долгота (десятичные градусы) или смещение на восток (метры) (целочисленное или с плавающей точкой)<br /> | <code>xllcorner</code> - х-координата левого нижнего угла, долгота (десятичные градусы) или смещение на восток (метры) (целочисленное или с плавающей точкой)<br /> | ||
<code>yllcorner</code> - y-координата левого нижнего угла, широта (десятичные градусы) или смещение на север (метры) (целочисленное или с плавающей точкой)<br /> | <code>yllcorner</code> - y-координата левого нижнего угла, широта (десятичные градусы) или смещение на север (метры) (целочисленное или с плавающей точкой)<br /> | ||
Строка 15: | Строка 15: | ||
<code>nodata_value</code> - значение "нет данных", этот параметр не обязателен, он нужен для того, чтобы программное обеспечение автоматически делало все ячейки с этим значением прозрачными (целочисленное или с плавающей точкой).<br /> | <code>nodata_value</code> - значение "нет данных", этот параметр не обязателен, он нужен для того, чтобы программное обеспечение автоматически делало все ячейки с этим значением прозрачными (целочисленное или с плавающей точкой).<br /> | ||
=== Данные === | |||
Данные описываются просто как строка значений разделенных пробелами. Разделение на строки не имеет значения (т.е. все данные могут быть в одной строке, а могут имитировать табличную структуру). | Данные описываются просто как строка значений разделенных пробелами. Разделение на строки не имеет значения (т.е. все данные могут быть в одной строке, а могут имитировать табличную структуру). | ||
=== Примеры === | |||
==== Стандартный заголовок ==== | |||
[[Файл:Raster example 8x6.gif|400px|Пример растрового изображения в псевдоцветах]] | [[Файл:Raster example 8x6.gif|400px|Пример растрового изображения в псевдоцветах]] | ||
Строка 52: | Строка 54: | ||
-62 -9999 -805 -9999 -9999 -9999 -9999 -497 | -62 -9999 -805 -9999 -9999 -9999 -9999 -497 | ||
-9999 -9999 332 1240 -9999 -9999 -9999 -9999</pre> | -9999 -9999 332 1240 -9999 -9999 -9999 -9999</pre> | ||
==== Неквадратная ячейка ==== | |||
В примере приведенном выше, ячейка растра квадратная (т.е. высота равна широте). Если необходима прямоугольная ячейка, где высота не равна широте, вместо параметра cellsize можно использовать DX и DY, например: | В примере приведенном выше, ячейка растра квадратная (т.е. высота равна широте). Если необходима прямоугольная ячейка, где высота не равна широте, вместо параметра cellsize можно использовать DX и DY, например: | ||
Строка 63: | Строка 67: | ||
[[Файл:Raster example 8x6 dx-dy.gif|400px|Пример растрового изображения в псевдоцветах]] | [[Файл:Raster example 8x6 dx-dy.gif|400px|Пример растрового изображения в псевдоцветах]] | ||
==== Привязка по центру ячейки, а не углу ==== | |||
Альтернативой привязки по углу, т.е. использования <code>xllcorner</code> и <code>yllcorner</code> является привязка по центру ячейки, в этом случае нужно использовать <code>xllcenter</code> и <code>yllcenter</code>. Результатом, при неизменных координатах будет сдвиг растра на половину ячейки вниз и влево (по диагонали). | |||
[[Файл:Raster example 8x6 xllcenter.gif|400px|Пример сдвига]] |
Версия от 19:29, 27 января 2012
Формат ASCIIGRID это форма представления регулярно-сетевых данных (растров). Исходно этот формат использовался как обменный в ГИС ARC/INFO (файлы в этом формате создавались командой GRIDASCII), сейчас его основная часть поддерживается всеми основными ГИС (QGIS, ArcGIS). Файл в формате ASCIIGRID представляет собой текстовый файл в котором содержимое разделяется на две части: 1) заголовок, где записывается общая информация о растре, его размеры, географическая привязка и т.д., 2) собственно данные, где записываются данные.
Данные в этом формате удобны прежде всего удобством быстрого визуального анализа содержимого. Разумеется, в этом формате не рекомендуется хранить большие растры.
Поддерживается чтение и запись в этот формат с помощью GDAL.
Заголовок
ncols
- количество колонок (целочисленное);
nrows
- количество рядов (целочисленное);
xllcorner
- х-координата левого нижнего угла, долгота (десятичные градусы) или смещение на восток (метры) (целочисленное или с плавающей точкой)
yllcorner
- y-координата левого нижнего угла, широта (десятичные градусы) или смещение на север (метры) (целочисленное или с плавающей точкой)
cellsize
- линейный размер квадратной ячейки (целочисленное или с плавающей точкой)
nodata_value
- значение "нет данных", этот параметр не обязателен, он нужен для того, чтобы программное обеспечение автоматически делало все ячейки с этим значением прозрачными (целочисленное или с плавающей точкой).
Данные
Данные описываются просто как строка значений разделенных пробелами. Разделение на строки не имеет значения (т.е. все данные могут быть в одной строке, а могут имитировать табличную структуру).
Примеры
Стандартный заголовок
Это же изображение в табличном виде:
-9999 | -9999 | -2080 | -1909 | -9999 | -601 | -9999 | -1362 |
-510 | -387 | -350 | -182 | -9999 | -9999 | -9999 | 27 |
13 | -92 | -9999 | -33 | 54 | 28 | -182 | -750 |
59 | -165 | 18 | 167 | -182 | -9999 | -608 | 666 |
-62 | -9999 | -805 | -9999 | -9999 | -9999 | -9999 | -497 |
-9999 | -9999 | 332 | 1240 | -9999 | -9999 | -9999 | -9999 |
И непосредственно в формате ASCIIGRID
ncols 8 nrows 6 xllcorner -40.5 yllcorner 25.25 cellsize 10 NODATA_value -9999 -9999 -9999 -2080 -1909 -9999 -601 -9999 -1362 -510 -387 350 -182 -9999 -9999 -9999 27 13 -92 -9999 -33 54 28 -182 -750 59 -165 18 167 -182 -9999 -608 666 -62 -9999 -805 -9999 -9999 -9999 -9999 -497 -9999 -9999 332 1240 -9999 -9999 -9999 -9999
Неквадратная ячейка
В примере приведенном выше, ячейка растра квадратная (т.е. высота равна широте). Если необходима прямоугольная ячейка, где высота не равна широте, вместо параметра cellsize можно использовать DX и DY, например:
dx 11.600000000000 dy 5.025000000000
ASCIIGRID файлы с параметрами DX и DY вместо CELLSIZE не поддерживаются многими пакетами GIS (в т.ч. ArcGIS), но поддерживаются QGIS.
Вот как будет выглядеть файл выше, где cellsize заменен на DX, DY:
Привязка по центру ячейки, а не углу
Альтернативой привязки по углу, т.е. использования xllcorner
и yllcorner
является привязка по центру ячейки, в этом случае нужно использовать xllcenter
и yllcenter
. Результатом, при неизменных координатах будет сдвиг растра на половину ячейки вниз и влево (по диагонали).