Provided by: gdal-bin_3.9.3+dfsg-1build1_amd64 bug

NAME

       gdal_grid - Creates regular grid from the scattered data.

SYNOPSIS

          gdal_grid [--help] [--help-general]
                    [-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/
                    CInt16/CInt32/CFloat32/CFloat64}]
                    [-oo <NAME>=<VALUE>]...
                    [-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>] [-tr <xres> <yres>] [-outsize <xsize> <ysize>]
                    [-a {<algorithm>[[:<parameter1>=<value1>]...]}] [-q]
                    <src_datasource> <dst_filename>

DESCRIPTION

       This  program  creates  a  regular grid (raster) from the scattered data read from the OGR
       datasource. Input data will be interpolated to fill grid nodes with values, you can choose
       from various interpolation methods.

       It  is  possible  to  set  the  GDAL_NUM_THREADS  configuration  option to parallelize the
       processing. The value to specify is the number of worker threads, or ALL_CPUS to  use  all
       the cores/CPUs of the computer.

       --help Show this help message and exit

       --help-general
              Gives a brief usage message for the generic GDAL commandline options and exit.

       -ot <type>
              Force  the output image bands to have a specific data type supported by the driver,
              which may be one of the  following:  Byte,  Int8,  UInt16,  Int16,  UInt32,  Int32,
              UInt64, Int64, Float32, Float64, CInt16, CInt32, CFloat32 or CFloat64.

       If  not  set  then  a  default  type is used, which might not be supported by the relevant
       driver, causing a error.

       -of <format>
              Select the output format. Starting with GDAL 2.3, if not specified, the  format  is
              guessed from the extension (previously was GTiff). Use the short format name.

       -txe <xmin> <xmax>
              Set georeferenced X extents of output file to be created.

       -tye <ymin> <ymax>
              Set georeferenced Y extents of output file to be created.

       -tr <xres> <yres>
              Set  output  file  resolution  (in target georeferenced units).  Note that -tr just
              works in combination with a valid input from -txe and -tye

              New in version 3.2.

       -outsize <xsize> <ysize>
              Set the size of the output file in pixels and lines.  Note that -outsize cannot  be
              used with -tr

       -a_srs <srs_def>
              Override  the  projection for the output file.  The srs_def may be any of the usual
              GDAL/OGR forms, complete WKT, PROJ.4, EPSG:n or a  file  containing  the  WKT.   No
              reprojection is done.

       -zfield <field_name>
              Identifies  an  attribute  field  on the features to be used to get a Z value from.
              This value overrides the Z value read from the feature geometry record  (naturally,
              if  you  have  a  Z  value in the geometry, otherwise you have no choice and should
              specify a field name containing a Z value).

       -z_increase <increase_value>
              Addition to the attribute field on the features to be used to get a Z  value  from.
              The  addition  should  be  the same unit as the Z value. The result value will be Z
              value + Z increase value. The default value is 0.

       -z_multiply <multiply_value>
              This is multiplication ratio for the Z field. This can be used  for  a  shift  from
              e.g. feet to meters or from elevation to depth. The result value will be (Z value +
              Z increase value) * Z multiply value.  The default value is 1.

       -a {<algorithm>[[:<parameter1>=<value1>]...]}
              Set  the  interpolation  algorithm  or  data  metric  name  and  (optionally)   its
              parameters.  See the Interpolation algorithms and Data metrics sections for further
              discussion of available options.

       -spat <xmin> <ymin> <xmax> <ymax>
              Adds a spatial filter to select only features contained  within  the  bounding  box
              described by (xmin, ymin) - (xmax, ymax).

       -clipsrc [<xmin> <ymin> <xmax> <ymax>]|<WKT>|<datasource>|spat_extent
              Adds  a  spatial  filter  to  select  only  features contained within the specified
              bounding box (expressed in source SRS), WKT  geometry  (POLYGON  or  MULTIPOLYGON),
              from  a  datasource  or  to  the  spatial extent of the -spat option if you use the
              spat_extent keyword. When specifying a datasource, you will generally want  to  use
              it in combination with the -clipsrclayer, -clipsrcwhere or -clipsrcsql options.

       -clipsrcsql <sql_statement>
              Select desired geometries using an SQL query instead.

       -clipsrclayer <layername>
              Select the named layer from the source clip datasource.

       -clipsrcwhere <expression>
              Restrict desired geometries based on an attribute query.

       -l <layername>
              Indicates  the  layer(s)  from the datasource that will be used for input features.
              May be specified multiple times, but at least one layer name or a -sql option  must
              be specified.

       -where <expression>
              An  optional  SQL  WHERE style query expression to be applied to select features to
              process from the input layer(s).

       -sql <select_statement>
              An SQL statement to be evaluated against the datasource to produce a virtual  layer
              of features to be processed.

       -oo <NAME>=<VALUE>
              New in version 3.7.

              Source dataset open option (format specific)

       -co <NAME>=<VALUE>
              Many formats have one or more optional creation options that can be used to control
              particulars about the file created.  For  instance,  the  GeoTIFF  driver  supports
              creation options to control compression, and whether the file should be tiled.

              The  creation options available vary by format driver, and some simple formats have
              no creation options at all. A list of options supported for a format can be  listed
              with  the --formats command line option but the documentation for the format is the
              definitive source of information on driver creation options.   See  Raster  drivers
              format specific documentation for legal creation options for each format.

       -q     Suppress progress monitor and other non-error output.

       <src_datasource>
              Any OGR supported readable datasource.

       <dst_filename>
              The GDAL supported output file.

INTERPOLATION ALGORITHMS

       There are a number of interpolation algorithms to choose from.

       More details about them can also be found in GDAL Grid Tutorial

   invdist
       Inverse  distance  to  a  power.  This  is  the  default  algorithm.  It has the following
       parameters:

       • power: Weighting power (default 2.0).

       • smoothing: Smoothing parameter (default 0.0).

       • radius1: The first radius (X axis if rotation angle is 0) of  the  search  ellipse.  Set
         this parameter to zero to use the whole point array.  Default is 0.0.

       • radius2:  The  second  radius (Y axis if rotation angle is 0) of the search ellipse. Set
         this parameter to zero to use the whole point array.  Default is 0.0.

       • radius: Set first and second radius  (mutually  exclusive  with  radius1  and  radius2).
         Default is 0.0. Added in GDAL 3.6

       • angle: Angle of search ellipse rotation in degrees (counter clockwise, default 0.0).

       • max_points:  Maximum  number  of  data points to use. Do not search for more points than
         this number. This is only used if the search ellipse is set (both radii  are  non-zero).
         Zero means that all found points should be used. Default is 0.

       • min_points:  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.

       • max_points_per_quadrant:  Maximum number of data points to use per quadrant.  Default is
         0. Added in GDAL 3.6.  When specified, this actually uses invdistnn implementation.

       • min_points_per_quadrant: Minimum number of data points to use per quadrant.  Default  is
         0. Added in GDAL 3.6.  When specified, this actually uses invdistnn implementation.

       • nodata: NODATA marker to fill empty points (default 0.0).

   invdistnn
       New in version 2.1.

       Inverse  distance  to  a  power  with nearest neighbor searching, ideal when max_points is
       used. It has following parameters:

       • power: Weighting power (default 2.0).

       • smoothing: Smoothing parameter (default 0.0).

       • radius: The radius of the search circle, which should be non-zero. Default is 1.0.

       • max_points: Maximum number of data points to use. Do not search  for  more  points  than
         this  number.  Found  points  will  be  ranked  from  nearest  to furthest distance when
         weighting. Default is 12.

       • min_points: Minimum number of data points to use. If less amount  of  points  found  the
         grid node is considered empty and will be filled with NODATA marker. Default is 0.

       • max_points_per_quadrant:  Maximum number of data points to use per quadrant.  Default is
         0. Added in GDAL 3.6.  When specified, the algorithm will only take into account  up  to
         max_points_per_quadrant  points  for  each  of the right-top, left-top, right-bottom and
         right-top quadrant relative to the point being interpolated.

       • min_points_per_quadrant: Minimum number of data points to use per quadrant.  Default  is
         0.  Added in GDAL 3.6.  If that number is not reached, the point being interpolated will
         be set with the NODATA marker.  When specified, the  algorithm  will  collect  at  least
         min_points_per_quadrant  points  for  each  of the right-top, left-top, right-bottom and
         right-top quadrant relative to the point being interpolated.

       • nodata: NODATA marker to fill empty points (default 0.0).

       When min_points_per_quadrant or max_points_per_quadrant  is  specified,  the  search  will
       start with the closest point to the point being interpolated from the first quadrant, then
       the closest point to the point being interpolated from the second quadrant, etc. up to the
       4th  quadrant,  and  will continue with the next closest point in the first quadrant, etc.
       until max_points and/or max_points_per_quadrant thresholds are reached.

   average
       Moving average algorithm. It has following parameters:

       • radius1: 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.

       • radius2:  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.

       • radius: Set first and second radius  (mutually  exclusive  with  radius1  and  radius2).
         Default is 0.0. Added in GDAL 3.6

       • angle: Angle of search ellipse rotation in degrees (counter clockwise, default 0.0).

       • max_points:  Maximum  number  of  data points to use. Do not search for more points than
         this number. Found points  will  be  ranked  from  nearest  to  furthest  distance  when
         weighting.  Default  is  0.  Added in GDAL 3.6 Only taken into account if one or both of
         min_points_per_quadrant or max_points_per_quadrant is specified

       • min_points: 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.

       • max_points_per_quadrant:  Maximum number of data points to use per quadrant.  Default is
         0. Added in GDAL 3.6.  When specified, the algorithm will only take into account  up  to
         max_points_per_quadrant  points  for  each  of the right-top, left-top, right-bottom and
         right-top quadrant relative to the point being interpolated.

       • min_points_per_quadrant: Minimum number of data points to use per quadrant.  Default  is
         0.  Added in GDAL 3.6.  If that number is not reached, the point being interpolated will
         be set with the NODATA marker.  When specified, the  algorithm  will  collect  at  least
         min_points_per_quadrant  points  for  each  of the right-top, left-top, right-bottom and
         right-top quadrant relative to the point being interpolated.

       • nodata: NODATA marker to fill empty points (default 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.

       When  min_points_per_quadrant  or  max_points_per_quadrant  is  specified, the search will
       start with the closest point to the point being interpolated from the first quadrant, then
       the closest point to the point being interpolated from the second quadrant, etc. up to the
       4th quadrant, and will continue with the next closest point in the  first  quadrant,  etc.
       until max_points and/or max_points_per_quadrant thresholds are reached.

   nearest
       Nearest neighbor algorithm. It has following parameters:

       • radius1:  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.

       • radius2: 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.

       • radius:  Set  first  and  second  radius  (mutually exclusive with radius1 and radius2).
         Default is 0.0. Added in GDAL 3.6

       • angle: Angle of search ellipse rotation in degrees (counter clockwise, default 0.0).

       • nodata: NODATA marker to fill empty points (default 0.0).

   linear
       New in version 2.1.

       Linear interpolation algorithm.

       The Linear method performs linear interpolation by computing a Delaunay  triangulation  of
       the point cloud, finding in which triangle of the triangulation the point is, and by doing
       linear interpolation from its barycentric coordinates within the triangle.  If  the  point
       is  not  in any triangle, depending on the radius, the algorithm will use the value of the
       nearest point or the nodata value.

       It has following parameters:

       • radius: In case the point to be interpolated  does  not  fit  into  a  triangle  of  the
         Delaunay  triangulation, use that maximum distance to search a nearest neighbour, or use
         nodata otherwise. If set to -1, the search distance is infinite.  If set  to  0,  nodata
         value will be always used. Default is -1.

       • nodata: NODATA marker to fill empty points (default 0.0).

DATA METRICS

       Besides the interpolation functionality gdal_grid can be used to compute some data metrics
       using the specified window and output grid geometry. These metrics are:

       • minimum: Minimum value found in grid node search ellipse.

       • maximum: Maximum value found in grid node search ellipse.

       • range: A difference between the minimum and maximum values found  in  grid  node  search
         ellipse.

       • count:  A number of data points found in grid node search ellipse.

       • average_distance:  An  average  distance  between  the  grid  node (center of the search
         ellipse) and all of the data points found in grid node search ellipse.

       • average_distance_pts: An average distance between the data points  found  in  grid  node
         search  ellipse.  The  distance between each pair of points within ellipse is calculated
         and average of all distances is set as a grid node value.

       All the metrics have the same set of options:

       • radius1: 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.

       • radius2:  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.

       • radius: Set first and second radius  (mutually  exclusive  with  radius1  and  radius2).
         Default is 0.0. Added in GDAL 3.6

       • angle: Angle of search ellipse rotation in degrees (counter clockwise, default 0.0).

       • min_points:  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.

       • max_points_per_quadrant:  Maximum number of data points to use per quadrant.  Default is
         0. Added in GDAL 3.6.  When specified, the algorithm will only take into account  up  to
         max_points_per_quadrant  points  for  each  of the right-top, left-top, right-bottom and
         right-top quadrant relative to the point being interpolated.

       • min_points_per_quadrant: Minimum number of data points to use per quadrant.  Default  is
         0.  Added in GDAL 3.6.  If that number is not reached, the point being interpolated will
         be set with the NODATA marker.  When specified, the  algorithm  will  collect  at  least
         min_points_per_quadrant  points  for  each  of the right-top, left-top, right-bottom and
         right-top quadrant relative to the point being interpolated.

       • nodata: NODATA marker to fill empty points (default 0.0).

       When min_points_per_quadrant or max_points_per_quadrant  is  specified,  the  search  will
       start with the closest point to the point being interpolated from the first quadrant, then
       the closest point to the point being interpolated from the second quadrant, etc. up to the
       4th  quadrant,  and  will continue with the next closest point in the first quadrant, etc.
       until max_points and/or max_points_per_quadrant thresholds are reached.

READING COMMA SEPARATED VALUES

       Often you have a text file with a list of comma separated XYZ  values  to  work  with  (so
       called  CSV  file). You can easily use that kind of data source in gdal_grid. All you need
       is to create a virtual dataset header (VRT) for your CSV file  and  use  it  as  an  input
       datasource  for  gdal_grid.  You  can find details on the VRT format on the VRT -- Virtual
       Format description page.

       Here is a small example. Let's say we have a CSV file called dem.csv containing

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

       For the above data we will create a dem.vrt header with the following content:

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

       This description specifies so called 2.5D geometry with  three  coordinates X,  Y  and  Z.
       The  Z value will be used for interpolation. Now you can use dem.vrt with all OGR programs
       (start  with  ogrinfo  to  test  that everything works fine). The datasource will  contain
       a  single  layer  called "dem"  filled  with point features constructed from values in the
       CSV file.  Using this technique you  can  handle  CSV   files   with   more   than   three
       columns, switch columns, etc. OK, now the final step:

          gdal_grid dem.vrt demv.tif

       Or, if we do not wish to use a VRT file:

          gdal_grid -l dem -oo X_POSSIBLE_NAMES=Easting \
          -oo Y_POSSIBLE_NAMES=Northing -zfield Elevation dem.csv dem.tif

       If your CSV file does not contain column headers then it can be handled in the VRT file in
       the following way:

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

       The Comma Separated Value (.csv) description page contains details on CSV format supported
       by GDAL/OGR.

CREATING MULTIBAND FILES

       Creating multiband files is not directly possible with gdal_grid.  One might use gdal_grid
       multiple times to create one band per file, and then use gdalbuildvrt -separate  and  then
       gdal_translate:

          gdal_grid ... 1.tif; gdal_grid ... 2.tif; gdal_grid ... 3.tif
          gdalbuildvrt -separate 123.vrt 1.tif 2.tif 3.tif
          gdal_translate 123.vrt 123.tif

       Or just gdal_merge.py, to combine the one-band files into a single one:

          gdal_grid ... a.tif; gdal_grid ... b.tif; gdal_grid ... c.tif
          gdal_merge.py -separate a.tif b.tif c.tif -o d.tif

C API

       This utility is also callable from C with GDALGrid().

EXAMPLES

       The following would create raster TIFF file from VRT datasource described in Reading comma
       separated values section using  the  inverse  distance  to  a  power  method.   Values  to
       interpolate will be read from Z value of geometry record.

          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

       The  next command does the same thing as the previous one, but reads values to interpolate
       from the attribute field specified with -zfield option instead of geometry record.  So  in
       this  case X and Y coordinates are being taken from geometry and Z is being taken from the
       "Elevation" field.  The GDAL_NUM_THREADS is also set to parallelize the computation.

          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

AUTHOR

       Andrey Kiselev <dron@ak4719.spb.edu>

COPYRIGHT

       1998-2024

                                           Oct 07, 2024                              GDAL_GRID(1)