Viewshed (Spatial Analyst)
Summary
Determines the raster surface locations visible to a set of observer features.
Usage
-
Determining observer points is a computer-intensive process. The processing time is dependent on the resolution. For preliminary studies, you may want to use a coarser cell size to reduce the number of cells in the input. Use the full resolution raster when the final results are ready to be generated.
-
If the input raster contains undesirable noise caused by sampling errors, you can smooth the raster with a low-pass filter, such as the Mean option of Focal Statistics, before running this tool.
-
The visibility of each cell center is determined by comparing the altitude angle to the cell center with the altitude angle to the local horizon. The local horizon is computed by considering the intervening terrain between the point of observation and the current cell center. If the point lies above the local horizon, it is considered visible.
Syntax
Parameter | Explanation | Data Type |
in_raster |
The input surface raster. | Raster Layer |
in_observer_features |
The feature class that identifies the observer locations. The input can be point or polyline features. | Feature Layer |
z_factor (Optional) |
Number of ground x,y units in one surface z unit. The z-factor adjusts the units of measure for the z units when they are different from the x,y units of the input surface. The z-values of the input surface are multiplied by the z-factor when calculating the final output surface. If the x,y units and z units are in the same units of measure, the z-factor is 1. This is the default. If the x,y units and z units are in different units of measure, the z-factor must be set to the appropriate factor, or the results will be incorrect. For example, if your z units are feet and your x,y units are meters, you would use a z-factor of 0.3048 to convert your z units from feet to meters (1 foot = 0.3048 meter). | Double |
curvature_correction (Optional) |
Allows correction for the earth's curvature.
| Boolean |
refractivity_coefficient (Optional) |
Coefficient of the refraction of visible light in air. The default value is 0.13. | Double |
Return Value
Name | Explanation | Data Type |
out_raster | The output raster. The output will only record the number of times that each cell location in the input surface raster can be seen by the input observation points (or vertices for polylines). The observation frequency will be recorded in the VALUE item in the output raster's attribute table. | Raster |
Code Sample
This example determines the surface locations visible to a set of observers defined in a shapefile.
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outViewshed = Viewshed("elevation","observers.shp",2,"CURVED_EARTH",0.15) outViewshed.save("C:/sapyexamples/output/outvwshd01")
This example determines the surface locations visible to a set of observers defined in a shapefile.
# Name: Viewshed_Ex_02.py # Description: Determines the raster surface locations visible to a set of # observer features. # Requirements: Spatial Analyst Extension # Author: ESRI # Import system modules import arcpy from arcpy import env from arcpy.sa import * # Set environment settings env.workspace = "C:/sapyexamples/data" # Set local variables inRaster = "elevation" inObserverFeatures = "observers.shp" zFactor = 2 useEarthCurvature = "CURVED_EARTH" refractivityCoefficient = 0.15 # Check out the ArcGIS Spatial Analyst extension license arcpy.checkOutExtension("Spatial") # Execute Viewshed outViewshed = Viewshed(inRaster, inObserverFeatures, zFactor, useEarthCurvature, refractivityCoefficient) # Save the output outViewshed.save("C:/sapyexamples/output/outvwshd02")