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

FreeBSD Manual Pages

  
 
  

home | help
GDAL-RASTER-VIEWSHED(1)		     GDAL	       GDAL-RASTER-VIEWSHED(1)

NAME
       gdal-raster-viewshed - Compute the viewshed of a	raster dataset.

       Added in	version	3.11.

SYNOPSIS
	  Usage: gdal raster viewshed [OPTIONS]	<INPUT>	<OUTPUT>

	  Compute the viewshed of a raster dataset.

	  Positional arguments:
	    -i,	--input	<INPUT>					 Input raster dataset [required]
	    -o,	--output <OUTPUT>				 Output	raster dataset (created	by algorithm) [required]

	  Common Options:
	    -h,	--help						 Display help message and exit
	    --json-usage					 Display usage as JSON document	and exit
	    --config <KEY>=<VALUE>				 Configuration option [may be repeated]
	    --progress						 Display progress bar

	  Options:
	    -f,	--of, --format,	--output-format	<OUTPUT-FORMAT>	 Output	format
	    --co, --creation-option <KEY>=<VALUE>		 Creation option [may be repeated]
	    --overwrite						 Whether overwriting existing output is	allowed
	    -p,	--pos, --position <X,Y>	or <X,Y,H>		 Observer position [2..3 values] [required]
	    --target-height <TARGET-HEIGHT>			 Height	of the target above the	DEM surface in the height unit of the DEM. (default: 0)
	    --mode <MODE>					 Sets what information the output contains.. MODE=normal|DEM|ground|cumulative (default: normal)
	    --max-distance <MAX-DISTANCE>			 Maximum distance from observer	to compute visibility. It is also used to clamp	the extent of the output raster.
	    --curvature-coefficient <CURVATURE-COEFFICIENT>	 Coefficient to	consider the effect of the curvature and refraction.
	    -b,	--band <BAND>					 Input band (1-based index) (default: 1)
	    --visible-value <VISIBLE-VALUE>			 Pixel value to	set for	visible	areas (default:	255)
	    --invisible-value <INVISIBLE-VALUE>			 Pixel value to	set for	invisible areas	(default: 0)
	    --out-of-range-value <OUT-OF-RANGE-VALUE>		 Pixel value to	set for	the cells that fall outside of the range specified by the observer location and	the maximum distance (default: 0)
	    --dst-nodata <DST-NODATA>				 The value to be set for the cells in the output raster	that have no data.
	    --observer-spacing <OBSERVER-SPACING>		 Cell Spacing between observers	(default: 10)
	    -j,	--num-threads <NUM-THREADS>			 Number	of jobs	(or ALL_CPUS) (default:	3)

	  Advanced Options:
	    --oo, --open-option	<KEY>=<VALUE>			 Open options [may be repeated]
	    --if, --input-format <INPUT-FORMAT>			 Input formats [may be repeated]

DESCRIPTION
       gdal  raster  viewshed creates a	binary visibility raster from one band
       of the input raster elevation model (DEM). The output raster will be of
       type Byte. Using	the DEM	or ground values of --mode can also  create  a
       minimum visible height raster of	type Float64.

       It uses the method defined in [Wang2000]	for a user defined point.

   Standard options
       -f, --of, --format, --output-format <OUTPUT-FORMAT>
	      Which  output  raster format to use. Allowed values may be given
	      by gdal --formats	| grep raster |	grep + | sort

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

	      May be repeated.

	      The creation options available vary by format driver,  and  some
	      simple  formats  have  no	creation options at all. A list	of op-
	      tions 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 cre-
	      ation options for	each format.

       --overwrite
	      Allow program to overwrite  existing  target  file  or  dataset.
	      Otherwise,  by  default,	gdal  errors out if the	target file or
	      dataset already exists.

       -b, --band <band>
	      Select an	input band containing the DEM data. Bands are numbered
	      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.

       --dst-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).

       -p, --pos, --position <X,Y> or <X,Y,H>
	      The X,Y or X,Y,H(Height) position	of the observer	(in SRS	 units
	      for  X  and Y, and in the	height unit of the DEM for H).	If the
	      coordinate is outside of the raster, all space between  the  ob-
	      server  and  the	raster is assumed not to occlude visibility of
	      the raster. (Not supported in cumulative mode.)	If  H  is  not
	      specified, it defaults to	2.

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

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

       --curvature-coefficient <value>
	      Coefficient to consider the effect of the	curvature and  refrac-
	      tion.  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
	      interchangeable  notation	to describe this phenomena: Refraction
	      Coefficient, 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 ob-
	      server 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  coeffi-
	      cient  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
	      formula:

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

	      Typical  coefficient  values  are	 given in the table below (use
	      Curvature	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		 |
	 +---------------+------------------+-----------------+------------------+

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

       --out-of-range-value <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

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

       --mode normal|DEM|ground|cumulative
	      Sets what	information the	output contains.

	      	normal	(the default) returns a	raster of type Byte containing
		visible	locations.

	      	DEM and	ground return a	raster of type Float64 containing  the
		minimum	 target	 height	 for the 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 output value.	 For ground, h
		will be	 output	 value.	  Options  --target-height,  --invisi-
		ble-value and --visible-value will be ignored.

	      	cumulative  creates  an	 eight bit raster the same size	as the
		input raster where each	cell represents	the  relative  observ-
		ability	  from	 a   grid   of	 observer   points.   See  the
		--observer-spacing option.

       --observer-spacing <value>
	      Cell spacing between observers  (only  supported	in  cumulative
	      mode).  Default: 10

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

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
       location	(-10147017, 5108065).

	  gdal raster viewshed --max-distance=500 --pos=-10147017,5108065 source.tif destination.tif

AUTHOR
       Even Rouault <even.rouault@spatialys.com>

COPYRIGHT
       1998-2025

				 Jul 12, 2025	       GDAL-RASTER-VIEWSHED(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gdal-raster-viewshed&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help