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)