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

NAME

       gdal_grid - Creates regular grid from the scattered data.

SYNOPSIS

          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] [-tr xres yres] [-outsize xsize ysize]
                    [-a algorithm[:parameter1=value1]*] [-q]
                    <src_datasource> <dst_filename>

DESCRIPTION

       This  program  creates  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.

       -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, UInt16,  Int16,  UInt32,  Int32,  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 Z value read from feature geometry record (naturally, if you
              have a Z value in geometry, otherwise you have no choice and should specify a field
              name containing 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 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 Z field. This can be used for shift from e.g. foot
              to meters or from elevation to deep. The result value will be (Z value + Z increase
              value) * Z multiply value.  The default value is 1.

       -a <[algorithm[:parameter1=value1][:parameter2=value2]...]>
              Set   the  interpolation  algorithm  or  data  metric  name  and  (optionally)  its
              parameters. See 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 of 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 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.

       -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 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 default algorithm. It has 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 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. This is only used if search ellipse is set (both radii are non-zero).  Zero
         means that all found points should be used. Default is 0.

       • 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  ref 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 ref gdal_grid. All you
       need is create a virtual dataset header (VRT) for  you  CSV  file  and  use  it  as  input
       datasource  for ref 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 ref 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-2023

                                           Jan 02, 2023                              GDAL_GRID(1)