Формат ASCIIGRID с примерами: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 71: Строка 71:
Альтернативой привязки по углу, т.е. использования <code>xllcorner</code> и <code>yllcorner</code> является привязка по центру ячейки, в этом случае нужно использовать <code>xllcenter</code> и <code>yllcenter</code>. Результатом, при неизменных координатах будет сдвиг растра на половину ячейки вниз и влево (по диагонали).
Альтернативой привязки по углу, т.е. использования <code>xllcorner</code> и <code>yllcorner</code> является привязка по центру ячейки, в этом случае нужно использовать <code>xllcenter</code> и <code>yllcenter</code>. Результатом, при неизменных координатах будет сдвиг растра на половину ячейки вниз и влево (по диагонали).


 
<pre>
xllcenter    -40.5
yllcenter    25.25</pre>


[[Файл:Raster example 8x6 xllcenter.gif|400px|Пример сдвига]]
[[Файл:Raster example 8x6 xllcenter.gif|400px|Пример сдвига]]

Версия от 19:30, 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. Результатом, при неизменных координатах будет сдвиг растра на половину ячейки вниз и влево (по диагонали).

xllcenter    -40.5
yllcenter    25.25

Пример сдвига