The Create Viewshed tool identifies areas that are visible to the input observer locations.
This tool is now available in Map Viewer, the modern map-making tool in ArcGIS Enterprise. To learn more, see Geodesic Viewshed.
To run this tool, the portal must be configured for raster analysis.
If you do not see this tool in Map Viewer Classic, contact your organization administrator. Your portal may not be configured for raster analysis, or you may not have the privileges required to run the tool.
Using an input observer point from the top of a wind turbine, this tool will create a viewshed output representing the areas that are visible from the wind turbine.
This tool identifies the areas that the input observer locations can see, accounting for surface topography. The input point locations can represent either observers (such as people on the ground or lookouts in a fire tower), or observed objects (such as wind turbines, water towers, vehicles, or other people). The results define the areas that can be seen from the observer locations.
Both the observers and the observed objects can have a height above ground, and these heights are used to determine visibility. For example, a viewshed computed for 300-foot wind turbines and a 6-foot-tall person standing on the ground will typically be larger than a viewshed computed for 200-foot turbines and a 5-foot-tall person.
The result layer records the number of times that each cell location in the input surface raster can be seen by the input observation points. The nonvisible cells are given NoData values.
If Use current map extent is checked, only the raster area and the observer points that are visible within the current map extent will be analyzed. If unchecked, all observer points in the input layer will be analyzed, even if they are outside the current map extent.
The parameters for this tool are listed in the following table:
The elevation surface to use for calculating the viewshed.
If the vertical unit of the input surface is different from the horizontal unit, such as when the elevation values are represented in feet but the coordinate system is in meters, the surface must have a defined vertical coordinate system. The reason for this is that the tool uses the vertical (Z) and horizontal (XY) units to compute a z-factor for the viewshed analysis. Without a vertical coordinate system, and thus having no Z unit information available, the tool will assume that the Z unit is same as the XY unit. The result of this is that an internal z-factor of 1.0 will be used for the analysis, which may give unexpected results.
The data type of the elevation surface can be integer or floating point.
|Point features that represent observer locations|
The point features that represent the observer locations when calculating the viewsheds.
The optimization method to use for calculating the viewshed.
|Maximum viewing distance|
Enter a cutoff distance where the computation of visible areas will stop. Beyond this distance, whether the observer points and the other objects can see each other will not be determined.
There are two methods by which the maximum viewing distance can be specified.
Note that large values will increase computation time. Unless specified, a default maximum distance will be computed based on the resolution and extent of the input elevation surface.
This parameter is useful for modeling certain phenomena. For example, by limiting the extent of visibility, you can model weather conditions such as a light fog. Similarly, restricting the visibility extent can give you some control over the time of day by approximating the effect of dusk.
|Minimum viewing distance|
Enter a distance where the computation of visible areas is to begin. Cells on the surface closer than this distance are not visible in the output but can still block visibility of the cells between the minimum and the maximum viewing distance.
There are two methods by which the minimum viewing distance can be specified.
This parameter is useful for controlling the viewshed analysis area at a specific distance away from the observer. For example, if you are evaluating the visibility from a building top to a distant park, you can set a minimum viewing distance to exclude the areas close by that are of no interest and gain a better processing speed.
|Distance is 3D|
Specify whether the minimum and maximum viewing distance parameters are measured in a three-dimensional way or a simpler, two-dimensional way.
A 2D distance is the simple linear distance measured between an observer and the target using their projected locations at sea level. A 3D distance gives a more realistic value by taking their relative heights into consideration.
|Elevation of observer locations|
Enter the elevation of your observer locations. There are two methods by which the elevation of observer locations can be specified.
If a field is provided, the value contained in the field must be in the same unit as the Z unit of the input elevation surface.
|Height of observers|
Enter the height above ground for your observer locations. There are two methods by which the height of observers can be specified.
The default is 6 feet. If you are looking from an elevated location, such as an observation tower or a tall building, use that height instead. During the viewshed calculation, this value is added to the observer elevation if it is specified; otherwise, it is added to the interpolated surface z-value.
|Height of target|
Enter the height of structures or people on the ground used to establish visibility. There are two methods by which the height of target can be specified.
The resulting viewshed identifies those areas where an observer point can see these objects on the ground. The converse is also true; the objects on the ground can see an observer point.
Following are some examples of target height settings:
|Output height to become visible|
The name of the output above ground level (AGL) result. The AGL result is a raster where each cell value is the minimum height that must be added to an otherwise nonvisible cell to make it visible by at least one observer. Cells that were already visible will be assigned 0 in this output raster.
|Result layer name|
The name of the layer that will be created in My Content and added to the map. The default name is based on the tool name and the input layer name. If the layer already exists, you will be prompted to provide another name.
You can specify the name of a folder in My Content where the result will be saved using the Save result in drop-down box.
Analysis environment settings are additional parameters that affect a tool's results. You can access the tool's analysis environment settings by clicking the gear icon at the top of the tool pane.
This tool honors the following Analysis Environments:
- Output coordinate system—Specifies the coordinate system of the output layer.
- Extent—Specifies the area to be used for analysis.
- Snap Raster—Adjusts the extent of the output so it matches the cell alignment of the specified snap raster layer.
- Cell size—The cell size to use in the output layer.
- Mask—Specifies a mask layer, where only the cells that fall within the mask area will be used for analysis.
- Parallel processing factor—Controls the raster processing CPU or GPU instances.
Similar tools and raster functions
Use Create Viewshed tool to identify visible areas on an elevation surface for a given set of input observer locations. Other tools may be useful in solving similar problems.
Map Viewer Classic analysis tools and raster functions
Use the Create Viewshed raster function to identify visible areas on an elevation surface for a given set of input observer locations.
ArcGIS Pro analysis tools and raster functions
The Geodesic Viewshed geoprocessing tool is available in the Spatial Analyst and 3D Analyst toolboxes.
The Create Viewshed tool is available in the Raster Analysis toolbox.
Viewshed is also available as a raster function.
ArcGIS Enterprise developers resources
If you are working in the ArcGIS REST API, use the Create Viewshed task.
If you are working in ArcGIS API for Python, use create_viewshed from the arcgis.raster.analytics module.