Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GDAL_VIEWSHED(1)		      GDAL			GDAL_VIEWSHED(1)

NAME
     gdal_viewshed - Calculates a viewshed raster from an input raster DEM for a
     user defined point

SYNOPSIS
	Usage: gdal_viewshed [--help] [--long-usage] [--help-general]
			     [-of <output_format>] [-ox <value>] [-oy <value>]
			     [-oz <value>] [-vv <value>] [-iv <value>] [-ov <value>]
			     [-co <NAME>=<VALUE>]... [-a_nodata <value>] [-tz <value>]
			     [-md <value>] [-j <value>] [-cc <value>] [-b <value>]
			     [-om NORMAL|DEM|GROUND|ACCUM] [-os <value>] [-sd <value>]
			     [--quiet]
			     <src_filename> <dst_filename>

DESCRIPTION
     By  default the gdal_viewshed generates a binary visibility raster from one
     band of the input raster elevation model (DEM). The output raster	will  be
     of  type Byte. With the -mode flag can also return a minimum visible height
     raster of type Float64.

     NOTE:
	The algorithm as implemented currently will only output  meaningful  re-
	sults  if the georeferencing is in a projected coordinate reference sys-
	tem.

     TIP:
	Equivalent in new "gdal" command line interface:

	See gdal raster viewshed

     --help
	    Show this help message and exit

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

     -q, --quiet
	    Suppress progress messages and other non-error output.

     -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  sim-
	    ple  formats have no creation options at all. A list of options sup-
	    ported for a format can be listed with the --format command line op-
	    tion but the documentation for the format is the  definitive  source
	    of	information on driver creation options.  See Raster drivers for-
	    mat specific documentation for legal creation options for each  for-
	    mat.

     -b <band>
	    Select  an	input  band band containing the DEM data. Bands are num-
	    bered from 1.  Only a single band can be used. Only the part of  the
	    raster  within  the  specified  maximum distance around the observer
	    point is processed.

     -a_nodata <value>
	    The value to be set for the cells in the output raster that have  no
	    data.

	    NOTE:
	       Currently, no special processing of input cells at a nodata value
	       is done (which may result in erroneous results).

     -ox <value>
	    The X position of the observer (in SRS units).  If the coordinate is
	    outside of the raster, all space between the observer and the raster
	    is	assumed  not to occlude visibility of the raster. (Not supported
	    in cumulative mode.)

     -oy <value>
	    The Y position of the observer (in SRS units).  If the coordinate is
	    outside of the raster, all space between the observer and the raster
	    is assumed not to occlude visibility of the raster.  (Not  supported
	    in cumulative mode.)

     -oz <value>
	    The  height of the observer above the DEM surface in the height unit
	    of the DEM. Default: 2

     -tz <value>
	    The height of the target above the DEM surface in the height unit of
	    the DEM. Default: 0

     -md <value>
	    Maximum distance from observer to compute visibility.   It	is  also
	    used  to  clamp  the extent of the output raster.  (Not supported in
	    cumulative mode)

     -cc <value>
	    Coefficient to consider the effect of the curvature and  refraction.
	    When  calculating  visibility between two points (i.e. Line Of Sight
	    or Viewshed), The magnitude of this effect varies  with  atmospheric
	    conditions and depends on the wavelength.

	    Different  applications for calculating visibility use different in-
	    terchangeable notation to describe this phenomena: Refraction  Coef-
	    ficient,   Curvature   Coefficient,   and  Sphere  Diameter  Factor.
	    gdal_viewshed uses the Curvature Coefficient notation.

			      {CurvCoeff}=1-{RefractionCoeff}

	    Changes in air density curve the light downward causing an	observer
	    to see further and the earth to appear less curved, as if the sphere
	    (earth)  diameter  is larger then it actually is.  The ratio between
	    that imaginary sphere diameter and the  actual  sphere  diameter  is
	    given by the formula:

		{SphereDiameterFactor}=1/{CurvCoeff}=1/(1-{RefractionCoeff})

	    For  visible  light, the standard atmospheric refraction coefficient
	    that is generally used is 1/7.  Thus the default value  (since  GDAL
	    3.4) for CurvCoeff that gdal_viewshed uses is 0.85714 (=~ 1-1/7) for
	    Earth  CRS.  Starting  with GDAL 3.6, for non-Earth CRS (those whole
	    semi-major axis differs by more than 5% with the  one  of  WGS  84),
	    CurvCoeff default value is 1.0, to account for the no refraction use
	    case.

	    The  height  of the DEM is corrected according to the following for-
	    mula:

	    Height_{Corrected}=Height_{DEM}-{CurvCoeff}\frac{{TargetDistance}^2}{SphereDiameter}

	    Typical coefficient values are given in the table below (use  Curva-
	    ture Coeff value for the cc option)
	 +---------------+------------------+-----------------+------------------+
	 | Use Case	 | Refraction Coeff | Curvature Coeff | Sphere	Diameter |
	 |		 |		    |		      | Factor		 |
	 +---------------+------------------+-----------------+------------------+
	 | No Refraction | 0		    | 1 	      | 1		 |
	 +---------------+------------------+-----------------+------------------+
	 | Visible Light | 1/7		    | 6/7 (=~0.85714) | 7/6 (=~1.1666)	 |
	 +---------------+------------------+-----------------+------------------+
	 | Radio Waves	 | 0.25 ~ 0.325     | 0.75 ~ 0.675    | 1.33 ~ 1.48	 |
	 +---------------+------------------+-----------------+------------------+
	 | Flat Earth	 | 1		    | 0 	      | inf		 |
	 +---------------+------------------+-----------------+------------------+

     -iv <value>
	    Pixel value to set for invisible areas. (Not supported in cumulative
	    mode) Default: 0

     -ov <value>
	    Pixel value to set for the cells that  fall  outside  of  the  range
	    specified  by  the	observer location and the maximum distance. (Not
	    supported in cumulative mode) Default: 0

     -vv <value>
	    Pixel value to set for visible areas. (Not supported  in  cumulative
	    mode) Default: 255

     -om <output mode>
	    Sets what information the output contains.

	    Possible values: NORMAL, DEM, GROUND, ACCUM

	    NORMAL returns a raster of type Byte containing visible locations.

	    DEM  and  GROUND will return a raster of type Float64 containing the
	    minimum target height for target to be visible from the DEM  surface
	    or ground level respectively.  That is to say, if the minimum target
	    height for the target to be visible at a point is h and the value of
	    the input raster at that point is E, for DEM, E + h will be the out-
	    put  value.  For ground, h will be output value.  Flags -tz, -iv and
	    -vv will be ignored.

	    Cumulative (ACCUM) mode will create an eight  bit  raster  the  same
	    size as the input raster where each cell represents the relative ob-
	    servability from a grid of observer points.  See the -os option.

	    Default NORMAL

     -os <value>
	    Cell  Spacing  between observers (only supported in cumulative mode)
	    Default: 10

     -j <value>
	    Number of jobs to run at once. (only supported in  cumulative  mode)
	    Default: 3

RETURN STATUS CODE
     The  program returns status code 0 in case of success, and non-zero in case
     of error (non-blocking errors emitted as warnings are considered as a  suc-
     cessful execution).

C API
     Functionality    of    this    utility    can   be   done	 from	C   with
     GDALViewshedGenerate().

EXAMPLES
   Example 1
     Screenshot of 2 combined viewshed analysis, with the yellow pixels  showing
     the  area	that  is  visible from the both observation locations (the green
     dots), while the small green area is only visible from one location.
       [image]

     Create a viewshed raster with a radius of 500 for a person standing at  lo-
     cation (-10147017, 5108065).

	gdal_viewshed -md 500 -ox -10147017 -oy 5108065 source.tif destination.tif

REFERENCE
     [Wang2000]
	  Generating  Viewsheds  without Using Sightlines. Wang, Jianjun, Robin-
	  son, Gary J., and White, Kevin. Photogrammetric Engineering and Remote
	  Sensing.			      p81.			       -
	  https://www.asprs.org/wp-content/uploads/pers/2000journal/janu-
	  ary/2000_jan_87-90.pdf

AUTHOR
     Tamas Szekeres <szekerest@gmail.com>

COPYRIGHT
     1998-2026

				  Jun 05, 2026			GDAL_VIEWSHED(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gdal_viewshed&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help