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

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


== ОПИСАНИЕ ==
== Вызов ==


Этот инструмент создает регулярную сеть (растр) из рассеянных данных считываемых из источника данных OGR. Для заполнения ячеек сети значениями исходные данные интерполируются, можно выбирать разные методы интерполяции.
<pre>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></pre>


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


'''-ot type:'''<br />
'''-ot type:'''<br />
Тип данных выходных растров.
Задает тип данных для выходных слоев.  


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


'''-txe xmin xmax:'''<br />
'''-txe xmin xmax:'''<br />
Установить спроецированное значение ширины охвата выходного файла.
Задает горизонтальные (по оси X) границы (охват) выходного файла в спроецированных единицах.


'''-tye ymin ymax:'''<br />
'''-tye ymin ymax:'''<br />
Установить спроецированное значение высоты охвата выходного файла.
Задает вертикальные (по оси Y) границы (охват) выходного файла в спроецированных единицах.


'''-outsize xsize ysize:'''<br />
'''-outsize xsize ysize:'''<br />
Установить размер выходного файла в пикселях и линиях.
Задает число столбцов (пикселей) и строк выходного файла.  


'''-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). Это значение будет использоваться вместо значения 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 />
Задает алгорит интерполяции или название метрики и (опционально) её параметры. Подробнее см. далее разделы АЛГОРИТМЫ ИНТЕРПОЛЯЦИИ и МЕТРИКИ.
Задает алгоритм интерполяции, имя метрики данных и (необязательно) их параметры. См. разделы АЛГОРИТМЫ ИНТЕРПОЛЯЦИИ и МЕТРИКИ ДАННЫХ с более подробным описанием допустимых вариантов.  


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


'''-clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent:'''<br />
'''-clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent:'''<br />
Добавляет пространственный фильтр позволяющий выбрать только значения попадающие в указанный охват (выраженный в исходной СК), геометрию WKT (POLYGON или MULTIPOLYGON), набор данных или пространственный охват указанный с помощью опции -spat если вы используете ключевое слово spat_extent. Если вы указываете набор данных, то обычно нужно также использовать комбинацию опций -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 для выборки из источника данных.


'''-clipsrcwhere expression:'''<br />
'''-clipsrcwhere expression:'''<br />
Строка 47: Строка 69:


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


'''-where expression:'''<br />
'''-where expression:'''<br />
Опциональное выражение в стиле SQL WHERE, которое нужно применить для выборки объектов из исходного слоя или слоёв.
Дополнительное выражение вида SQL WHERE, которое будет применено для выборки объектов из указанного слоя (слоев).  


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


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


'''-q:'''<br />
'''-q:'''<br />
Строка 62: Строка 84:


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


'''dst_filename:'''<br />
'''dst_filename:'''<br />
Выходной файл поддерживаемый GDAL.
Поддерживаемый GDAL выходной файл.
 
==Алгоритмы интерполяции==
 
Имеется несколько алгоритмов интерполяции.
 
'''invdist'''
 
Обратное расстояние (в степени). Используется по умолчанию. Имеет следующие параметры:
 
'''power:'''<br />
Степень, в которую возводится расстояние (по умолчанию 2.0).  <br />
'''smoothing:'''<br />
Параметр сглаживания (по умолчанию 0.0). <br />
'''radius1:'''<br />
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0.  <br />
'''radius2:'''<br />
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0.  <br />
'''angle:'''<br />
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0).  <br />
'''max_points:'''<br />
Максимальное число точек, которое может быть использовано. Если найдено заданное число точек, то дальнейший поиск не производится.Используется только если задан эллипс поиска (оба радиуса не равны нулю).Нулевое значениепароаметра означает, что будут использованы все данные. Значение по умолчанию 0. <br />
'''min_points:'''<br />
минимальное число точек, которое должно быть использовано. Если найдено меньше точек в заданном эллипсе, то в соответствующую ячейку записывается значение NODATA. Используется только если задан эллипс поиска (оба радиуса не равны нулю). Значение по умолчанию 0.<br />
'''nodata:'''<br />
Значение NODATA (по умолчанию 0.0).
 
'''average'''
 
Алгоритм «скользящего окна». Имеет следующие параметры: 
 
'''radius1:'''<br />
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0.  <br />
'''radius2:'''<br />
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0. 
<br />
'''angle:'''<br />
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0).  <br />
'''min_points:'''<br />
Минимальное число точек, которое должно быть использовано. Если найдено меньше точек в заданном эллипсе, то в соответствующую ячейку записывается значение NODATA. Значение по умолчанию 0.<br />
'''nodata:'''<br />
Значение NODATA (по умолчанию 0.0).
 
Заметим, что важно задать эллипс для данного алгоритма, поскольку именно он определяет окно, в котором осредняются данные.
 
'''nearest'''
 
Алгоритм ближайшего соседа. Он имеет следующие апраметры:
 
'''radius1:'''<br />
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0.  <br />
'''radius2:'''<br />
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0.  <br />
'''angle:'''<br />
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0).  <br />
'''nodata:'''<br />
Значение NODATA (по умолчанию 0.0).
 
==Метрики данных==
 
Наряду с интерполяцией, gdal_grid может быть использован для вычисления некоторых метрик (статистик) данных с использованием заданного локального окна и геометрии выходной сетки. К этим метрикам (статистикам) относятся:
 
'''minimum:'''<br />
Минимальное значение, найденное в эллипсе поиска (grid node search ellipse).
 
'''maximum:'''<br />
Максимальное значение, найденное в эллипсе поиска.
 
'''range:'''<br />
Разность между минимальным и максимальным значениями, найденными в эллипсе поиска.
 
'''count:'''<br />
Количество точек данных, найденных в эллипсе поиска.
 
'''average_distance:'''<br />
Среднее расстояние между ячейкой сетки (центром эллипса поиска) и точками данных, найденными в эллипсе поиска.
 
'''average_distance_pts:'''<br />
Среднее расстояние между точками данных, найденными в эллипсе поиска. Расстояние между всеми парами точек, попавшими в эллипс, вычисляется, усредняется и записывается в ячейку выходной сетки.
 
У всех метрик есть следующие параметры:
 
'''radius1:'''<br />
Первый радиус (вдоль оси X, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0. <br />
'''radius2:'''<br />
Второй радиус (вдоль оси Y, если угол вращения равен 0) эллипса поиска данных. Если данный параметр равен нулю, то используются все точки данных. Значение по умолчанию  0.0. <br />
'''angle:'''<br />
Угол вращения эллипса поиска данных (против часовой стрелки, по умолчанию равен 0).<br />
'''min_points:'''<br />
Минимальное число точек, которое должно быть использовано. Если найдено меньше точек в заданном эллипсе, то в соответствующую ячейку записывается значение NODATA. Значение по умолчанию 0.<br />
'''nodata:'''<br />
Значение NODATA (по умолчанию 0.0).
 
==Чтение данных из текстовых файлов с разделителями==
 
Часто имеются текстовые файлы со значениями XYZ, разделенными запятыми (так называемые CSV-файлы). Вы можете легко использовать этот тип данных в gdal_grid. Вам нужно создать виртуальный заголовок набора данных (VRT) для вашего CSV-файла и использовать его как источник данных для gdal_grid. Детали создания VRT можно найти на странице описания Virtual Format.
 
Вот небольшой пример. Допустим, у нас есть файл CSV с названием dem.csv следующего содержания:
 
<pre>Easting,Northing,Elevation
86943.4,891957,139.13
87124.3,892075,135.01
86962.4,892321,182.04
87077.6,891995,135.01
...</pre>
 
Для приведенного выше набора данных заголовок dem.vrt имеет вид:
 
<pre><OGRVRTDataSource>
    <OGRVRTLayer name="dem">
        <SrcDataSource>dem.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<GeometryField encoding="PointFromColumns" x="Easting" y="Northing" z="Elevation"/>
    </OGRVRTLayer>
</OGRVRTDataSource></pre>
 
Он описывает так называемую 2.5D-геометрию с тремя координатами X, Y и Z. Значение Z будет использовано для интерполяции. Теперь можно использовать dem.vrt как источник данных для всех программ, использующих библиотеку OGR  (начните с ''ogrinfo'', чтобы проверить, что все работает правильно). Полученный источник данных содержит один слой с именем "dem", заполненный точечными объектами, созданными из CSV-файла. Использование такого приема позволяет работать с CSV-файлами, содержащими более 3 столбцов, переставлять столбцы, и т.д.
 
Если в вашем CSV-файле нет заголовков столбцов, то с ним можно работать следующим образом:
 
<pre><GeometryField encoding="PointFromColumns" x="field_1" y="field_2" z="field_3"/></pre>
 
Страница с описанием формата Comma Separated Value содержит детали поддержки CSV-формата в GDAL/OGR.
 
==Пример==
 
В следующем примере создается растровый 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>
 
Следующая команда делает то же самое, что и предыдущая, но берет интерполируемые значения из поля, заданного параметром –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>
 
==Общие опции и ключи==
 
'''--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 />
Выводит обобщенную справку об основных опциях командной строки и завершает работу.

Текущая версия от 22: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
Выводит обобщенную справку об основных опциях командной строки и завершает работу.