Документация по gdal grid: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 9 промежуточных версий 3 участников)
Строка 1: Строка 1:
'''gdal_grid'''
{{Статья|Опубликована|../docs/gdal/gdal_grid-manual}}
{{Аннотация|Создание регулярных растровых матриц из нерегулярных векторных данных ([http://www.gdal.org/gdal_grid.html источник]).}}


создание регулярных растровых матриц из рассеянных векторных данных.
== Вызов ==
 
== SYNOPSIS ==


<pre>gdal_grid [-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/
<pre>gdal_grid [-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/
           CInt16/CInt32/CFloat32/CFloat64}]
           CInt16/CInt32/CFloat32/CFloat64}]
  [-of format] [-co "NAME=VALUE"]
  [-of format] [-co "NAME=VALUE"]
  [-zfield field_name]
  [-zfield field_name] [-z_increase increase_value] [-z_multiply multiply_value]
  [-a_srs srs_def] [-spat xmin ymin xmax ymax]
  [-a_srs srs_def] [-spat xmin ymin xmax ymax]
           [-clipsrc <xmin ymin xmax ymax>|WKT|datasource|spat_extent]
           [-clipsrc <xmin ymin xmax ymax>|WKT|datasource|spat_extent]
Строка 18: Строка 17:
  <src_datasource> <dst_filename></pre>
  <src_datasource> <dst_filename></pre>


== ОПИСАНИЕ ==
== Описание ==


Этот инструмент создает регулярную сеть (растр) из нерегулярных данных, считываемых из источника данных OGR. Входные данные интерполируются для заполнения ячеек сетки значениями, можно выбирать разные методы интерполяции.  
Этот инструмент создает регулярную сеть (растр) из нерегулярных данных, считываемых из источника данных OGR. Входные данные интерполируются для заполнения ячеек сетки значениями, можно выбирать разные методы интерполяции.  
Строка 40: Строка 39:


'''-a_srs srs_def:'''<br />
'''-a_srs srs_def:'''<br />
Задает проекцию для выходного файла. Значение srs_def может быть задано в обычном для GDAL/OGR виде, как то полное описание WKT, PROJ.4, EPSG:n или имя файла, содержащего WKT.  
Задает проекцию для выходного файла. Значение srs_def может быть задано в обычном для GDAL/OGR виде (полное описание WKT, PROJ.4, EPSG:n, или имя файла, содержащего WKT).  


'''-zfield field_name:'''<br />
'''-zfield field_name:'''<br />
Задает поле с атрибутом, значения которого будут использоваться для интерполяции (как величина  Z). Это значение будет использоваться вместо значения Z, которое содержится в геометрии объекта (если оно там есть; в противном случае вы должны задать имя поля в обязательном порядке)
Задает поле с атрибутом, значения которого будут использоваться для интерполяции (как величина  Z). Это значение будет использоваться вместо значения Z, которое содержится в геометрии объекта (если оно там есть; в противном случае вы должны в обязательном порядке задать имя поля).
 
'''-z_increase increase_value:'''<br />
Задает число, которое будет прибавлено к величине Z. Параметр принимает на вход число с плавающей точкой. Значение по-умолчанию равно 0.
 
'''-z_multiply multiply_value:'''<br />
Задает число, на которое будет умножено значение Z. Параметр принимает на вход число с плавающей точкой. Значение по-умолчанию равно 1. Общая формула вычисления результирующего значения величины Z имеет следующий вид: (Z + Z_increase) * Z_multiply


'''-a [algorithm[:parameter1=value1][:parameter2=value2]...]:'''<br />
'''-a [algorithm[:parameter1=value1][:parameter2=value2]...]:'''<br />
Строка 52: Строка 57:


'''-clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent:'''<br />
'''-clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent:'''<br />
Задает пространственный фильтр для выбора объектов, содержащихся в охватывающем прямоугольнике (заданном в исходной системе координат SRS), геометрии, заданной в виде WKT (POLYGON или MULTIPOLYGON), заданном источником данных datasource или пространственным экстентом, указанным с помощью параметра -spat если вы используете ключевое слово spat_extent. В случае указания источника данных datasource, он обычно используется в сочетании с параметрами -clipsrclayer, -clipsrcwhere или -clipsrcsql.
Задает пространственный фильтр для выбора объектов, содержащихся в охватывающем прямоугольнике (заданном в исходной системе координат SRS); в геометрии, заданной в виде WKT (POLYGON или MULTIPOLYGON); в заданном источником данных datasource; пространственным экстентом, указанным с помощью параметра -spat, если вы используете ключевое слово spat_extent. В случае указания источника данных datasource, он обычно используется в сочетании с параметрами -clipsrclayer, -clipsrcwhere или -clipsrcsql.


'''-clipsrcsql sql_statement:'''<br />
'''-clipsrcsql sql_statement:'''<br />
Использует запрос SQL для выбора исходных данных (объектов) для интерполяции.  
Использует SQL-запрос для выбора исходных данных (объектов) для интерполяции.  


'''-clipsrclayer layername:'''<br />
'''-clipsrclayer layername:'''<br />
Использует именованный слой layername для выборки из источника данных.
Использует именованный слой layername для выборки из источника данных.


'''-clipsrcwhere expression:'''<br />
'''-clipsrcwhere expression:'''<br />
Строка 70: Строка 75:


'''-sql select_statement:'''<br />
'''-sql select_statement:'''<br />
SQL выражение, которое должно быть вычислено для источника данных datasource чтобы создать виртуальный слой объектов, подлежащих обработке.
SQL-выражение, которое должно быть вычислено для источника данных datasource, чтобы создать виртуальный слой объектов, подлежащих обработке.


'''-co "NAME=VALUE":'''<br />
'''-co "NAME=VALUE":'''<br />
Строка 79: Строка 84:


'''src_datasource:'''<br />
'''src_datasource:'''<br />
Любой источник данных чтение которого поддерживается OGR.
Любой источник данных, чтение которого поддерживается OGR.


'''dst_filename:'''<br />
'''dst_filename:'''<br />
Поддерживаемый GDAL выходной файл.
Поддерживаемый GDAL выходной файл.


==INTERPOLATION ALGORITHMS (Александр Мурый)==
==Алгоритмы интерполяции==


There are number of interpolation algorithms to choose from.
Имеется несколько алгоритмов интерполяции.


'''invdist'''
'''invdist'''


Inverse distance to a power. This is default algorithm. It has following parameters:
Обратное расстояние (в степени). Используется по умолчанию. Имеет следующие параметры:  


'''power:'''<br />
'''power:'''<br />
Weighting power (default 2.0). <br />
Степень, в которую возводится расстояние (по умолчанию 2.0).   <br />
'''smoothing:'''<br />
'''smoothing:'''<br />
Smoothing parameter (default 0.0). <br />
Параметр сглаживания (по умолчанию 0.0). <br />
'''radius1:'''<br />
'''radius1:'''<br />
The first radius (X axis if rotation angle is 0) of search ellipse. Set this parameter to zero to use whole point array. Default is 0.0. <br />
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0. <br />
'''radius2:'''<br />
'''radius2:'''<br />
The second radius (Y axis if rotation angle is 0) of search ellipse. Set this parameter to zero to use whole point array. Default is 0.0. <br />
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0.   <br />
'''angle:'''<br />
'''angle:'''<br />
Angle of search ellipse rotation in degrees (counter clockwise, default 0.0). <br />
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0). <br />
'''max_points:'''<br />
'''max_points:'''<br />
Maximum number of data points to use. Do not search for more points than this number. This is only used if search ellipse is set (both radii are non-zero). Zero means that all found points should be used. Default is 0. <br />
Максимальное число точек, которое может быть использовано. Если найдено заданное число точек, то дальнейший поиск не производится.Используется только если задан эллипс поиска (оба радиуса не равны нулю).Нулевое значениепароаметра означает, что будут использованы все данные. Значение по умолчанию 0. <br />
'''min_points:'''<br />
'''min_points:'''<br />
Minimum number of data points to use. If less amount of points found the grid node considered empty and will be filled with NODATA marker. This is only used if search ellipse is set (both radii are non-zero). Default is 0. <br />
минимальное число точек, которое должно быть использовано. Если найдено меньше точек в заданном эллипсе, то в соответствующую ячейку записывается значение NODATA. Используется только если задан эллипс поиска (оба радиуса не равны нулю). Значение по умолчанию 0.<br />
'''nodata:'''<br />
'''nodata:'''<br />
NODATA marker to fill empty points (default 0.0).  
Значение NODATA (по умолчанию 0.0).


'''average'''
'''average'''


Moving average algorithm. It has following parameters:
Алгоритм «скользящего окна». Имеет следующие параметры:


'''radius1:'''<br />
'''radius1:'''<br />
The first radius (X axis if rotation angle is 0) of search ellipse. Set this parameter to zero to use whole point array. Default is 0.0. <br />
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0.   <br />
'''radius2:'''<br />
'''radius2:'''<br />
The second radius (Y axis if rotation angle is 0) of search ellipse. Set this parameter to zero to use whole point array. Default is 0.0. <br />
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0.
<br />
'''angle:'''<br />
'''angle:'''<br />
Angle of search ellipse rotation in degrees (counter clockwise, default 0.0). <br />
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0). <br />
'''min_points:'''<br />
'''min_points:'''<br />
Minimum number of data points to use. If less amount of points found the grid node considered empty and will be filled with NODATA marker. Default is 0. <br />
Минимальное число точек, которое должно быть использовано. Если найдено меньше точек в заданном эллипсе, то в соответствующую ячейку записывается значение NODATA. Значение по умолчанию 0.<br />
'''nodata:'''<br />
'''nodata:'''<br />
NODATA marker to fill empty points (default 0.0).  
Значение NODATA (по умолчанию 0.0).


Note, that it is essential to set search ellipse for moving average method. It is a window that will be averaged when computing grid nodes values.
Заметим, что важно задать эллипс для данного алгоритма, поскольку именно он определяет окно, в котором осредняются данные.


'''nearest'''
'''nearest'''


Nearest neighbor algorithm. It has following parameters:
Алгоритм ближайшего соседа. Он имеет следующие апраметры:  


'''radius1:'''<br />
'''radius1:'''<br />
The first radius (X axis if rotation angle is 0) of search ellipse. Set this parameter to zero to use whole point array. Default is 0.0. <br />
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0. <br />
'''radius2:'''<br />
'''radius2:'''<br />
The second radius (Y axis if rotation angle is 0) of search ellipse. Set this parameter to zero to use whole point array. Default is 0.0. <br />
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0.   <br />
'''angle:'''<br />
'''angle:'''<br />
Angle of search ellipse rotation in degrees (counter clockwise, default 0.0). <br />
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0). <br />
'''nodata:'''<br />
'''nodata:'''<br />
NODATA marker to fill empty points (default 0.0).
Значение NODATA (по умолчанию 0.0).


==МЕТРИКИ ДАННЫХ ==
==Метрики данных==


Наряду с интерполяцией, gdal_grid может быть использован для вычисления некоторых метрик (статистик) данных с использованием заданного локального окна и геометрии выходной сетки. К этим метрикам (статистикам) относятся:  
Наряду с интерполяцией, gdal_grid может быть использован для вычисления некоторых метрик (статистик) данных с использованием заданного локального окна и геометрии выходной сетки. К этим метрикам (статистикам) относятся:  


'''minimum:'''<br />
'''minimum:'''<br />
Минимальное значение найденное в эллипсе поиска (grid node search ellipse).
Минимальное значение, найденное в эллипсе поиска (grid node search ellipse).


'''maximum:'''<br />
'''maximum:'''<br />
Максимальное значение найденное в эллипсе поиска.
Максимальное значение, найденное в эллипсе поиска.


'''range:'''<br />
'''range:'''<br />
Разность между минимальным и максимальным значением найденными в эллипсе поиска.
Разность между минимальным и максимальным значениями, найденными в эллипсе поиска.


'''count:'''<br />
'''count:'''<br />
Количество точек данных найденных в эллипсе поиска.
Количество точек данных, найденных в эллипсе поиска.


'''average_distance:'''<br />
'''average_distance:'''<br />
Строка 159: Строка 165:


'''average_distance_pts:'''<br />
'''average_distance_pts:'''<br />
Среднее расстояние между точками данных, найденными в эллипсе поиска. Расстояние между всеми парами точек, попавшими в эллипс, вычисляется, усредняется, и записывается в ячейку выходной сетки.  
Среднее расстояние между точками данных, найденными в эллипсе поиска. Расстояние между всеми парами точек, попавшими в эллипс, вычисляется, усредняется и записывается в ячейку выходной сетки.  


У всех метрик есть следующие параметры:
У всех метрик есть следующие параметры:
Строка 174: Строка 180:
Значение NODATA (по умолчанию 0.0).
Значение NODATA (по умолчанию 0.0).


==ЧТЕНИЕ ФАЙЛОВ С ДАННЫМИ, РАЗДЕЛЕННЫМИ ЗАПЯТЫМИ==
==Чтение данных из текстовых файлов с разделителями==


Часто имеются текстовые файлы со значениями XYZ, разделенными запятыми (так называемые CSV файлы). Вы можете легко использовать этот тип данных в gdal_grid. Вам нужно создать виртуальный заголовок набора данных (VRT) для вашего CSV файла, и использовать его как источник данных для gdal_grid. Детали создания VRT можно найти на странице описания Virtual Format.
Часто имеются текстовые файлы со значениями XYZ, разделенными запятыми (так называемые CSV-файлы). Вы можете легко использовать этот тип данных в gdal_grid. Вам нужно создать виртуальный заголовок набора данных (VRT) для вашего CSV-файла и использовать его как источник данных для gdal_grid. Детали создания VRT можно найти на странице описания Virtual Format.


Вот небольшой пример. Допустим у нас есть файл CSV с названием dem.csv следующего содержания:
Вот небольшой пример. Допустим, у нас есть файл CSV с названием dem.csv следующего содержания:


<pre>Easting,Northing,Elevation
<pre>Easting,Northing,Elevation
Строка 197: Строка 203:
</OGRVRTDataSource></pre>
</OGRVRTDataSource></pre>


Он описывает так называемую 2.5D геометрию с тремя координатами X, Y и Z. Значение Z будет использовано для интерполяции. Теперь можно использовать dem.vrt как источник данных для всех OGR программ (начните с ogrinfo чтобы проверить, что все работает правильно). Соданный источник данных содержит один слой с именем "dem" заполненный точечными объектами, созданными из CSV файла. Использование такого приема позволяет работать с CSV файлами с более чем с тремя столбцами, переставлять столбцы, и т.д.
Он описывает так называемую 2.5D-геометрию с тремя координатами X, Y и Z. Значение Z будет использовано для интерполяции. Теперь можно использовать dem.vrt как источник данных для всех программ, использующих библиотеку OGR (начните с ''ogrinfo'', чтобы проверить, что все работает правильно). Полученный источник данных содержит один слой с именем "dem", заполненный точечными объектами, созданными из CSV-файла. Использование такого приема позволяет работать с CSV-файлами, содержащими более 3 столбцов, переставлять столбцы, и т.д.


Если в вашем CSV нет заголовков столбцов, то с ним можно работать следующим образом:  
Если в вашем CSV-файле нет заголовков столбцов, то с ним можно работать следующим образом:  


<pre><GeometryField encoding="PointFromColumns" x="field_1" y="field_2" z="field_3"/></pre>
<pre><GeometryField encoding="PointFromColumns" x="field_1" y="field_2" z="field_3"/></pre>


Страница с описанием формата Comma Separated Value содержит детали поддержки CSV формата в GDAL/OGR.
Страница с описанием формата Comma Separated Value содержит детали поддержки CSV-формата в GDAL/OGR.


== ПРИМЕР ==
==Пример==


В следующем примере создается растровый TIFF file файл из источника данных VRT, описанного в разделе ЧТЕНИЕ ФАЙЛОВ С ДАННЫМИ, РАЗДЕЛЕННЫМИ ЗАПЯТЫМИ с использование метода обратного расстояния. Интерполируемые значения берутся из Z значений геометрических объектов.
В следующем примере создается растровый TIFF file файл из источника данных VRT, описанного в разделе ЧТЕНИЕ ФАЙЛОВ С ДАННЫМИ, РАЗДЕЛЕННЫМИ ЗАПЯТЫМИ с использование метода обратного расстояния. Интерполируемые значения берутся из Z-значений геометрических объектов.


<pre>gdal_grid -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 -tye 894000 890000 -outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt dem.tiff</pre>
<pre>gdal_grid -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 -tye 894000 890000 -outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt dem.tiff</pre>


Следующая команда делает то же самое, как и предыдущая, но берет интерполируемые значения из поля, заданного параметром –zfield, а не из геометрии объектов. В этом случае значения координат X и Y берутся из геометрии, а значение Z из поля "Elevation". Параметр GDAL_NUM_THREADS используется для распараллеливания вычислений.  
Следующая команда делает то же самое, что и предыдущая, но берет интерполируемые значения из поля, заданного параметром –zfield, а не из геометрии объектов. В этом случае значения координат X и Y берутся из геометрии, а значение Z из поля "Elevation". Параметр GDAL_NUM_THREADS используется для распараллеливания вычислений.  


<pre>gdal_grid -zfield "Elevation" -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 -tye 894000 890000 -outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt dem.tiff --config GDAL_NUM_THREADS ALL_CPUS</pre>
<pre>gdal_grid -zfield "Elevation" -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 -tye 894000 890000 -outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt dem.tiff --config GDAL_NUM_THREADS ALL_CPUS</pre>
==Общие опции и ключи==
'''--version'''<br />
Выводит версию библиотеки и утилиты после чего завершает работу.
'''--formats'''<br />
Выводит список всех поддерживаемых растровых форматов (для чтения и записи) и после этого завершает работу программы. Поддержка форматов имеет следующую индикацию: 'ro' драйвер только для чтения; 'rw' драйвер с возможностью записи (т.е. поддерживает CreateCopy); 'rw+' драйвер для чтения, записи, модификации (т.е. поддерживает Create). Буква 'v' добавляется к описанию форматов, которые поддерживают virtual IO (/vsimem, /vsigzip, /vsizip и др.). Буква 's' добавляется к описанию форматов, которые поддерживают вложенные наборы данных (subdatasets). Примечание: Форматы для результатов работы gdalwarp должны поддерживать метод Create (отмеченный как rw+), а не только метод CreateCopy.
'''--format формат'''<br />
Выводит детальную информацию об отдельном драйвере. Формат должен быть коротким именем, полученным при помощи ключа --formats, например GTiff.
'''--optfile файл'''<br />
Читает файл и преобразует его содержимое в список опций командной строки. Строки, начинающиеся с символа # игнорируются. Аргументы, содержащие пробелы, должны заключаться в кавычки.
'''--config ключ значение'''<br />
Набор опций, которые применяются в качестве переменных среды. Часть общих опций включает в себя: GDAL_CACHEMAX (использование памяти для кэширования в Мб) и GDAL_DATA (путь до директории с "данными" GDAL). Отдельные драйверы могут конфигурироваться другими опциями.
'''--debug значение'''<br />
Контролирует вывод отладочной информации. Значение ON включает вывод отладочной информации. Значение OFF отключает вывод отладочной информации. Значение, отличное от ранее перечисленных, фильтрует вывод отладочной информации по соответствующему префиксу.
'''--help-general'''<br />
Выводит обобщенную справку об основных опциях командной строки и завершает работу.

Текущая версия от 21:16, 15 марта 2014

Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/../docs/gdal/gdal_grid-manual.html


Создание регулярных растровых матриц из нерегулярных векторных данных (источник).

Вызов

gdal_grid [-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/
          CInt16/CInt32/CFloat32/CFloat64}]
	  [-of format] [-co "NAME=VALUE"]
	  [-zfield field_name] [-z_increase increase_value] [-z_multiply multiply_value]
	  [-a_srs srs_def] [-spat xmin ymin xmax ymax]
          [-clipsrc <xmin ymin xmax ymax>|WKT|datasource|spat_extent]
          [-clipsrcsql sql_statement] [-clipsrclayer layer]
          [-clipsrcwhere expression]
	  [-l layername]* [-where expression] [-sql select_statement]
	  [-txe xmin xmax] [-tye ymin ymax] [-outsize xsize ysize]
	  [-a algorithm[:parameter1=value1]*] [-q]
	  <src_datasource> <dst_filename>

Описание

Этот инструмент создает регулярную сеть (растр) из нерегулярных данных, считываемых из источника данных OGR. Входные данные интерполируются для заполнения ячеек сетки значениями, можно выбирать разные методы интерполяции.

Начиная с GDAL 1.10, имеется возможность установить конфигурационный параметр GDAL_NUM_THREADS для использования параллельной обработки. Значение, которое задается, определяет число рабочих потоков, либо задает (если равно ALL_CPUS) использование всех ядер/процессоров компьютера.

-ot type:
Задает тип данных для выходных слоев.

-of format:
Задает формат выходного файла. По умолчанию - GeoTIFF (GTiff). Используйте короткое имя форматов.

-txe xmin xmax:
Задает горизонтальные (по оси X) границы (охват) выходного файла в спроецированных единицах.

-tye ymin ymax:
Задает вертикальные (по оси Y) границы (охват) выходного файла в спроецированных единицах.

-outsize xsize ysize:
Задает число столбцов (пикселей) и строк выходного файла.

-a_srs srs_def:
Задает проекцию для выходного файла. Значение srs_def может быть задано в обычном для GDAL/OGR виде (полное описание WKT, PROJ.4, EPSG:n, или имя файла, содержащего WKT).

-zfield field_name:
Задает поле с атрибутом, значения которого будут использоваться для интерполяции (как величина Z). Это значение будет использоваться вместо значения Z, которое содержится в геометрии объекта (если оно там есть; в противном случае вы должны в обязательном порядке задать имя поля).

-z_increase increase_value:
Задает число, которое будет прибавлено к величине Z. Параметр принимает на вход число с плавающей точкой. Значение по-умолчанию равно 0.

-z_multiply multiply_value:
Задает число, на которое будет умножено значение Z. Параметр принимает на вход число с плавающей точкой. Значение по-умолчанию равно 1. Общая формула вычисления результирующего значения величины Z имеет следующий вид: (Z + Z_increase) * Z_multiply

-a [algorithm[:parameter1=value1][:parameter2=value2]...]:
Задает алгоритм интерполяции, имя метрики данных и (необязательно) их параметры. См. разделы АЛГОРИТМЫ ИНТЕРПОЛЯЦИИ и МЕТРИКИ ДАННЫХ с более подробным описанием допустимых вариантов.

-spat xmin ymin xmax ymax:
Задает пространственный фильтр для выбора только тех объектов, которые попадают в прямоугольник (xmin, ymin) - (xmax, ymax).

-clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent:
Задает пространственный фильтр для выбора объектов, содержащихся в охватывающем прямоугольнике (заданном в исходной системе координат SRS); в геометрии, заданной в виде WKT (POLYGON или MULTIPOLYGON); в заданном источником данных datasource; пространственным экстентом, указанным с помощью параметра -spat, если вы используете ключевое слово spat_extent. В случае указания источника данных datasource, он обычно используется в сочетании с параметрами -clipsrclayer, -clipsrcwhere или -clipsrcsql.

-clipsrcsql sql_statement:
Использует SQL-запрос для выбора исходных данных (объектов) для интерполяции.

-clipsrclayer layername:
Использует именованный слой layername для выборки из источника данных.

-clipsrcwhere expression:
Ограничить выборку геометрий с помощью атрибутивной выборки.

-l layername:
Указывает слой (слои) в источнике данных datasource, из которых будут выбираться объекты для интерполяции. Может указываться несколько раз, но в любом случае должно быть указано хотя бы одно имя слоя или параметр -sql.

-where expression:
Дополнительное выражение вида SQL WHERE, которое будет применено для выборки объектов из указанного слоя (слоев).

-sql select_statement:
SQL-выражение, которое должно быть вычислено для источника данных datasource, чтобы создать виртуальный слой объектов, подлежащих обработке.

-co "NAME=VALUE":
Передает параметры создания файла драйверу выходного формата. Может использоваться несколько раз для задания нескольких параметров. См. документацию соответствующих драйверов для полного списка параметров.

-q:
Подавление вывода в консоль любых сообщений, кроме сообщений об ошибках.

src_datasource:
Любой источник данных, чтение которого поддерживается OGR.

dst_filename:
Поддерживаемый GDAL выходной файл.

Алгоритмы интерполяции

Имеется несколько алгоритмов интерполяции.

invdist

Обратное расстояние (в степени). Используется по умолчанию. Имеет следующие параметры:

power:
Степень, в которую возводится расстояние (по умолчанию 2.0).
smoothing:
Параметр сглаживания (по умолчанию 0.0).
radius1:
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию 0.0.
radius2:
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию 0.0.
angle:
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0).
max_points:
Максимальное число точек, которое может быть использовано. Если найдено заданное число точек, то дальнейший поиск не производится.Используется только если задан эллипс поиска (оба радиуса не равны нулю).Нулевое значениепароаметра означает, что будут использованы все данные. Значение по умолчанию 0.
min_points:
минимальное число точек, которое должно быть использовано. Если найдено меньше точек в заданном эллипсе, то в соответствующую ячейку записывается значение NODATA. Используется только если задан эллипс поиска (оба радиуса не равны нулю). Значение по умолчанию 0.
nodata:
Значение NODATA (по умолчанию 0.0).

average

Алгоритм «скользящего окна». Имеет следующие параметры:

radius1:
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию 0.0.
radius2:
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию 0.0.
angle:
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0).
min_points:
Минимальное число точек, которое должно быть использовано. Если найдено меньше точек в заданном эллипсе, то в соответствующую ячейку записывается значение NODATA. Значение по умолчанию 0.
nodata:
Значение NODATA (по умолчанию 0.0).

Заметим, что важно задать эллипс для данного алгоритма, поскольку именно он определяет окно, в котором осредняются данные.

nearest

Алгоритм ближайшего соседа. Он имеет следующие апраметры:

radius1:
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию 0.0.
radius2:
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию 0.0.
angle:
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0).
nodata:
Значение NODATA (по умолчанию 0.0).

Метрики данных

Наряду с интерполяцией, gdal_grid может быть использован для вычисления некоторых метрик (статистик) данных с использованием заданного локального окна и геометрии выходной сетки. К этим метрикам (статистикам) относятся:

minimum:
Минимальное значение, найденное в эллипсе поиска (grid node search ellipse).

maximum:
Максимальное значение, найденное в эллипсе поиска.

range:
Разность между минимальным и максимальным значениями, найденными в эллипсе поиска.

count:
Количество точек данных, найденных в эллипсе поиска.

average_distance:
Среднее расстояние между ячейкой сетки (центром эллипса поиска) и точками данных, найденными в эллипсе поиска.

average_distance_pts:
Среднее расстояние между точками данных, найденными в эллипсе поиска. Расстояние между всеми парами точек, попавшими в эллипс, вычисляется, усредняется и записывается в ячейку выходной сетки.

У всех метрик есть следующие параметры:

radius1:
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию 0.0.
radius2:
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию 0.0.
angle:
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0).
min_points:
Минимальное число точек, которое должно быть использовано. Если найдено меньше точек в заданном эллипсе, то в соответствующую ячейку записывается значение NODATA. Значение по умолчанию 0.
nodata:
Значение NODATA (по умолчанию 0.0).

Чтение данных из текстовых файлов с разделителями

Часто имеются текстовые файлы со значениями XYZ, разделенными запятыми (так называемые CSV-файлы). Вы можете легко использовать этот тип данных в gdal_grid. Вам нужно создать виртуальный заголовок набора данных (VRT) для вашего CSV-файла и использовать его как источник данных для gdal_grid. Детали создания VRT можно найти на странице описания Virtual Format.

Вот небольшой пример. Допустим, у нас есть файл CSV с названием dem.csv следующего содержания:

Easting,Northing,Elevation
86943.4,891957,139.13
87124.3,892075,135.01
86962.4,892321,182.04
87077.6,891995,135.01
...

Для приведенного выше набора данных заголовок dem.vrt имеет вид:

<OGRVRTDataSource>
    <OGRVRTLayer name="dem">
        <SrcDataSource>dem.csv</SrcDataSource> 
	<GeometryType>wkbPoint</GeometryType> 
	<GeometryField encoding="PointFromColumns" x="Easting" y="Northing" z="Elevation"/> 
    </OGRVRTLayer>
</OGRVRTDataSource>

Он описывает так называемую 2.5D-геометрию с тремя координатами X, Y и Z. Значение Z будет использовано для интерполяции. Теперь можно использовать dem.vrt как источник данных для всех программ, использующих библиотеку OGR (начните с ogrinfo, чтобы проверить, что все работает правильно). Полученный источник данных содержит один слой с именем "dem", заполненный точечными объектами, созданными из CSV-файла. Использование такого приема позволяет работать с CSV-файлами, содержащими более 3 столбцов, переставлять столбцы, и т.д.

Если в вашем CSV-файле нет заголовков столбцов, то с ним можно работать следующим образом:

<GeometryField encoding="PointFromColumns" x="field_1" y="field_2" z="field_3"/>

Страница с описанием формата Comma Separated Value содержит детали поддержки CSV-формата в GDAL/OGR.

Пример

В следующем примере создается растровый TIFF file файл из источника данных VRT, описанного в разделе ЧТЕНИЕ ФАЙЛОВ С ДАННЫМИ, РАЗДЕЛЕННЫМИ ЗАПЯТЫМИ с использование метода обратного расстояния. Интерполируемые значения берутся из Z-значений геометрических объектов.

gdal_grid -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 -tye 894000 890000 -outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt dem.tiff

Следующая команда делает то же самое, что и предыдущая, но берет интерполируемые значения из поля, заданного параметром –zfield, а не из геометрии объектов. В этом случае значения координат X и Y берутся из геометрии, а значение Z из поля "Elevation". Параметр GDAL_NUM_THREADS используется для распараллеливания вычислений.

gdal_grid -zfield "Elevation" -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 -tye 894000 890000 -outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt dem.tiff --config GDAL_NUM_THREADS ALL_CPUS

Общие опции и ключи

--version
Выводит версию библиотеки и утилиты после чего завершает работу.

--formats
Выводит список всех поддерживаемых растровых форматов (для чтения и записи) и после этого завершает работу программы. Поддержка форматов имеет следующую индикацию: 'ro' драйвер только для чтения; 'rw' драйвер с возможностью записи (т.е. поддерживает CreateCopy); 'rw+' драйвер для чтения, записи, модификации (т.е. поддерживает Create). Буква 'v' добавляется к описанию форматов, которые поддерживают virtual IO (/vsimem, /vsigzip, /vsizip и др.). Буква 's' добавляется к описанию форматов, которые поддерживают вложенные наборы данных (subdatasets). Примечание: Форматы для результатов работы gdalwarp должны поддерживать метод Create (отмеченный как rw+), а не только метод CreateCopy.

--format формат
Выводит детальную информацию об отдельном драйвере. Формат должен быть коротким именем, полученным при помощи ключа --formats, например GTiff.

--optfile файл
Читает файл и преобразует его содержимое в список опций командной строки. Строки, начинающиеся с символа # игнорируются. Аргументы, содержащие пробелы, должны заключаться в кавычки.

--config ключ значение
Набор опций, которые применяются в качестве переменных среды. Часть общих опций включает в себя: GDAL_CACHEMAX (использование памяти для кэширования в Мб) и GDAL_DATA (путь до директории с "данными" GDAL). Отдельные драйверы могут конфигурироваться другими опциями.

--debug значение
Контролирует вывод отладочной информации. Значение ON включает вывод отладочной информации. Значение OFF отключает вывод отладочной информации. Значение, отличное от ранее перечисленных, фильтрует вывод отладочной информации по соответствующему префиксу.

--help-general
Выводит обобщенную справку об основных опциях командной строки и завершает работу.