Calculate a viewshed from an observer location over a Digital Elevation Model


Viewshed determines everywhere visible from a specific location.

The algorithm’s input is a DEM, an observer location, height above the ground for the observation, and a range of azimuth angles defining the observation direction. Based on a calculated maximum target distance and target height the algorithm determines whether every potential target within the maximum distance will be visible.

Supported Workflows

Viewshed is DEM agnostic, it may be used with any NEXTMap Elevation Dataset as well as any DEM from other elevation data providers.

  • NEXTMap One - Elevation Data (Streaming) -> Viewshed
  • NEXTMap 5 - Elevation Data (Streaming) -> Viewshed
  • NEXTMap 10 - Elevation Data (Streaming) -> Viewshed
  • Other DEM -> Viewshed


The algorithm’s accuracy and reliability is directly proportional to the quality of the input DEM.

Input Parameter Description

Input: DEM, observer location, height above ground of observer, azimuth range of observation (between 0 and 360 degrees), observer radium

Output parameter description

The output is a GeoTIFF imagery file. The output file only contains the bounding box around the observer up to the maximum specified distance and not the entire input DEM range. The imagery is 8-bit, 4 bands, RGBA so that pixels out of range can be set to transparent. Visible pixels are set to green and invisible pixels are set to red.

More Information

For more information, please visit the provider website.

Example Job Parameters

  "nextmapone-1m:1": {
    "bbox": [
  "viewshed:1": {
    "observer_latitude": 40.0556926967,
    "observer_longitude": -105.2884229696,
    "observer_height_meters": 3,
    "max_distance_meters": 200,
    "target_height_meters": 2,
    "start_azimuth_degrees": 0,
    "end_azimuth_degrees": 360

Terms & Conditions

View the End User License Agreement conditions.

Ready to get started?

Get in touch or become a partner.

Contact salesBecome a partner