This tool can be used to calculate the visibility of all locations within an input digital elevation model (DEM). The user must specify the name of the input DEM, the output file name, the resolution factor, whether or not to use parallel processing, and the viewing height. Grid cells in the output raster contain visibility values, expressed as the proportion of the area that is visible from that site. This involves calculating the viewshed for many grid cells, a very computationally intensive task. As such this is a long-running algorithm. Performance can be increased by using the parallel processing option (only for DEMs that can fit in available memory) and by specifying a resolution factor greater than one. If a value of n is used, the viewshed will be calculated for every nth column and row, greatly decreasing the amount of processing necessary. Naturally this comes at the expense of accuracy. It is recommended that you start by selecting a large resolution factor (e.g. 50) and decreasing the value until it is no longer computationally viable. The viewing height is in the same units as the elevations of the DEM.
The following is an example of a Python script that uses this tool:
wd = pluginHost.getWorkingDirectory()
demFile = wd + "DEM.dep"
outputFile = wd + "output.dep"
resolutionFactor = "2.0"
parallelProcess = "true"
viewingHeight = "10.0"
args = [inputFile, outputFile, resolutionFactor, parallelProcess, viewingHeight]
pluginHost.runPlugin("VisibilityIndex", args, False)
This is a Groovy script also using this tool:
def wd = pluginHost.getWorkingDirectory()
def demFile = wd + "DEM.dep"
def outputFile = wd + "output.dep"
def resolutionFactor = "2.0"
def parallelProcess = "true"
def viewingHeight = "10.0"
String args = [inputFile, outputFile, resolutionFactor, parallelProcess, viewingHeight]
pluginHost.runPlugin("VisibilityIndex", args, false)