Visibility analyzes visual exposure and performs viewshed analysis. The table below lists the types of questions that can be answered with the Visibility tool.
Which areas can be seen from a fire lookout tower that is 15 meters high? |
POINT, FREQUENCY, OFFSETA |
How frequently can a proposed disposal site be seen from an existing highway? |
LINE, FREQUENCY |
Where should the next communications repeater tower in a series be located? |
POINT, FREQUENCY, OFFSETA, OFFSETB, VERT1, VERT2, AZIMUTH1, AZIMUTH2 |
Given a set of locations for fire lookout towers, what is the minimum number of towers required to see the entire study area? |
POINT, OFFSETA, OBSERVERS |
Which locations of the raster can see only the disposal site and transmission tower 3? |
POINT, OBSERVERS |
I want to assign different weights to each landscape feature within a viewshed based on its visual quality. How can I determine which surface locations have the best view? |
POINT, OBSERVERS |
- When the LINE option is specified, every node and vertex along each input arc is processed as an individual observation point. When the FREQUENCY option is used, the values in the Value item of the output raster give the number of nodes and vertices that are visible to each cell.
- When a SPOT attribute item does not exist in the feature attribute table, Visibility uses bilinear interpolation to determine the elevation of each observation point. If the nearest <grid> cell to an observation point or vertex has a NoData value, Visibility will be unable to determine its elevation. In this case, the observation point will be excluded from the visibility analysis.
- Intervening NoData cells between the point of observation and other cells are evaluated as invisible and do not obscure visibility.
Controlling the visibility analysis
- It is possible to limit the region of the raster inspected by specifying any of the optional feature attribute items described below. You can specify observation point elevation values, vertical offsets, horizontal and vertical scanning angles, and scanning distances.
- Nine items in the <cover> feature attribute table can be used to control the visibility analysis. These items are SPOT, OFFSETA, OFFSETB, AZIMUTH1, AZIMUTH2, VERT1, VERT2, RADIUS1, and RADIUS2.
- With the POINT option, each observation point can have a unique set of observation constraints in the <cover>.PAT. With the LINE option, every vertex along an input arc uses the same observation constraints contained in the arc's record in the <in_cover>.AAT.
- The definitions for these items can vary, as long as they are numeric (B, F, I, or N). Whenever an item does not exist, the default values are applied.
- OFFSET
The OFFSETA item indicates a vertical distance in surface units to be added to the z-value of the observation point. If OFFSETA exists in the feature attribute table, its value is added to the SPOT elevation when present, otherwise it's added to the interpolated surface z-value. The OFFSETA value must be positive. If the OFFSETA item does not exist, the default value is one.
The OFFSETB item indicates a vertical distance in surface units to be added to the z-value of each cell as it is considered for visibility. If OFFSETB exists in the feature attribute table, its value is added to the surface z-value of each cell location when it is being analyzed for visibility. The value must be positive. If no OFFSETB item is found in the feature attribute table, it defaults to zero.
- AZIMUTH
The AZIMUTH1 and AZIMUTH2 items specify horizontal angle limits to the scan. The sweep proceeds in a clockwise direction from AZIMUTH1 to AZIMUTH2. Values are given in degrees from 0 to 360, with 0 oriented to north. If the AZIMUTH1 and AZIMUTH2 items do not exist in the feature attribute table, AZIMUTH1 defaults to 0 and AZIMUTH2 defaults to 360, implementing a full 360-degree sweep.
- VERTICAL ANGLE
The VERT1 and VERT2 items specify vertical angle limits to the scan. The value of VERT1 sets the upper limit of the scan; VERT2 sets the lower limit. The VERT1 and VERT2 angles are expressed in degrees between 90 and -90. Positive angles are above the horizontal plane; negative angles are below. The horizontal plane (0 degrees) is defined by the z-value of the observation point plus the value of OFFSETA. The default values are 90 for VERT1 and -90 for VERT2.
- RADIUS
The RADIUS1 and RADIUS2 items limit the search distance when identifying areas visible from each observation point. Cells beyond the RADIUS2 search distance are excluded from the analysis. Cells closer than the RADIUS1 search distance are not visible in output raster but can still block the visibility of cells between RADIUS1 and RADIUS2. The default RADIUS1 distance is zero. The default RADIUS2 distance is infinity.
By default, the limiting distances RADIUS1 and RADIUS2 are interpreted as three-dimensional line-of-sight distances. To ensure that the slope distance is calculated correctly, both the ground units and surface ZUNITS must be in the same unit of measure. To process RADIUS1 and RADIUS2 as two-dimensional planimetric distances, insert a negative sign (-) in front of the values.
For example, if RADIUS1 is set to -1000 and RADIUS2 is set to -9000, Visibility analyzes the regions of the surface between 1,000 and 9,000 ground units measured planimetrically from the observer.
Default settings for the options controlling Visibility
SPOT |
Estimated using BILINEAR interpolation |
OFFSETA |
1 |
OFFSETB |
0 |
AZIMUTH1 |
0 |
AZIMUTH2 |
360 |
VERT1 |
90 |
VERT2 |
-90 |
RADIUS1 |
1 |
RADIUS2 |
Infinity |
The FREQUENCY option
With the FREQUENCY option, Visibility creates a raster recording the number of times each area can be seen from the feature observation points. This value is recorded in the VALUE item in the table of the output raster. All cell locations assigned NoData on the input <grid> are assigned NoData on the output raster.
Rasters with the OBSERVERS option
The OBSERVERS option stores the binary-encoded information about which observation points can see each raster cell. This information is stored in the VALUE item.
To display all the regions of the raster that can be seen only by observer 3, open the output raster attribute table and select the row where observer 3 (OBS3) equals one and all other observers equal zero. The regions of the raster that can be seen only by observer 3 will be highlighted on the map.
Raster OBSn items
In addition to the standard items Value and Count in the value attribute table, new items will be created corresponding to each observer in the input point coverage. The items are OBS1...OBSn, where n is the number of observers. They are defined as:
ITEM NAME WIDTH OUTPUT TYPE N.DECOBSn 2 2 B -
These items record the visibility of each cell by every <cover> observer. For example, every raster cell that can be seen by observer 8 (<cover># = 8) will contain a value of one in item OBS8. Cells that cannot be seen by the observation point are assigned a value of zero. Cell locations assigned NoData on the input <grid> are assigned NoData on the output raster.
You can use the OBS items to identify those raster cells that can be seen from a specific observation point. This is slightly different from the previous case in which a selection was made based on the value. In this case, cells that can be seen by observers 1 and 8 may also be seen by other observers (in which case, they each would have a different value).
For example, to display all areas that can be seen by observation points 1 and 8, open the raster attribute table and select the row where both observer 1 (OBS1) and observer 8 (OBS8) equal one and all other observers equal zero.
Quantifying visual quality
The OBSERVERS information can also be used to perform an analysis of visual quality. For example, you can determine the visual quality of all locations on a surface by positioning an observation point at each significant visual feature within the input raster's extent. Such points might include the city dump, auto salvage yard, local parks, and each of the power transmission towers in the region.
After running Visibility with the OBSERVERS option, use the OBSn item in the output raster's table to select those cell locations that can see each visual feature. Use any of a variety of the ArcGIS Spatial Analyst functions to accumulate positive or negative scores, depending on each observation point's visual quality and weight. After all observation points have been considered, those cell locations with the best scores will have the best visual quality.
Curvature and refraction corrections
The ISurfaceOp::Visibility method with the esriGeoAnalysisVisibilityFrequencyUseCurvature or esriGeoAnalysisVisibilityObserversUseCurvature enumerations corrects for the curvature of the earth and refraction. Corrections are made when projection information for the surface is present in the PRJ file. In addition, the ground units and surface z units must be in feet, meters, or units/meter. The formula used for the correction is:
Dist2 Dist2
Zactual = Zsurface - --------- + Rrefr * --------- DiamEarth DiamEarth
where:
- Dist is the planimetric distance between the observation feature and the observed location.- Diam is the diameter of the earth.- R
refr
is refractivity coeeficient of light.
The default value for the diameter of the earth (
Diam
earth
) is defined as 12,740,000 metres and the default value for the refractivity coefficient (
R
refr
) is 0.13.
For some applications involving visibility with radio waves, the refraction correction to be applied depends on the wavelength of the signal. This is often achieved by adjusting the diameter of the earth. While the Visibility tool has no provision for specifying the radius of the earth, a viable workaround is to adjust the units information in the PRJ file of the surface and the input point or line coverage of observation points.
Consider, for example, that the ground units and surface z units are in meters, and it is required to use 1.5 times the radius of the earth for visibility analysis. This is achieved by temporarily modifying the ground units and surface z units to 1.5 units/meter in the PRJ file. Correction for refraction of visible light is already incorporated in the calculations, which has the effect of increasing the radius of the earth by a factor of 1/0.87 = 1.15. This should be taken into account when further correction for refraction needs to be made. In the example discussed above, the actual correction for the radius would be 1.5/1.15 = 1.304. The units and z units of the surface should be set to 1.304 units/meter to achieve the net effect of 1.5 times the radius. Similarly, the units for the input coverage should also be set to 1.304 units/meter.
The location of telecommunication sites is not merely a simple matter of determining the intervisibility, but rather involves a number of parameters involved with the modeling of radio wave propagation, including reflection, refraction specific to the frequency, attenuation (signal weakening), interference, atmospheric effects, and so on. Nonetheless, the Visibility tool is appropriate during the preliminary investigation stages of assessing possible telecommunication sites and coverage.
Example
The following example shows how to incorporate the effects of vegetation cover in a visibility analysis. This is easily accomplished if you have a vegetation raster with an attribute item containing the vegetation height.
In this case, the HEIGHT attribute is expressed in feet, but the values in the input elevation raster are in meters. You will convert the vegetation height to meters when you add the vegetation raster's height to the elevation raster to produce a raster describing the vegetation canopy (the elevation z-value plus the z-value of the height of the trees).
elevation + (vegetation.height * .3048)
Then perform the visibility analysis in the usual way. In this example, you are identifying the areas on the raster that can see the towers of a proposed transmission line. Each vertex of the input line cover represents the location of a proposed tower.
visibility(canopy, powerline, line)