Provided by: gdal-bin_3.8.4+dfsg-3ubuntu3_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.

       -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  create  a virtual dataset header (VRT) for you CSV file and use it as input datasource
       for gdal_grid. You can find details on VRT format at VRT  --  Virtual  Format  description
       page.

       Here is a small example. Let 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 above data we will create 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. 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 single layer
       called "dem" filled with point features constructed from values in CSV  file.  Using  this
       technique you can handle CSV files with more than three columns, switch columns, etc.

       If  your  CSV file does not contain column headers then it can be handled 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.

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

                                           Feb 08, 2024                              GDAL_GRID(1)