<?xml version="1.0" encoding="UTF-8"?><metadata>
<Esri>
<CreaDate>20181108</CreaDate>
<CreaTime>13575600</CreaTime>
<ArcGISFormat>1.0</ArcGISFormat>
<SyncOnce>TRUE</SyncOnce>
<ModDate>20181108</ModDate>
<ModTime>15303500</ModTime>
</Esri>
<dataIdInfo>
<idCitation>
<resTitle>Create Viewshed (Raster Analysis)</resTitle>
<date>
<createDate>20181108</createDate>
</date>
</idCitation>
<idAbs>
<para>Creates areas where an observer can see objects on the ground. The input observer points 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).</para>
<para>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.</para>
<para>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. Nonvisible cells are given NoData values.</para>
</idAbs>
<descKeys KeyTypCd="005">
<keyTyp>
<keyTyp>005</keyTyp>
</keyTyp>
<keyword>Blocked</keyword>
<keyword>Dem</keyword>
<keyword>Digital Elevation Model</keyword>
<keyword>Elevation</keyword>
<keyword>Frequency</keyword>
<keyword>Hidden</keyword>
<keyword>Horizon</keyword>
<keyword>Line Of Sight</keyword>
<keyword>Observer</keyword>
<keyword>Obstruction</keyword>
<keyword>Offset</keyword>
<keyword>Reception</keyword>
<keyword>Skyline</keyword>
<keyword>Topography</keyword>
<keyword>Transmission</keyword>
<keyword>View</keyword>
<keyword>Visibility</keyword>
<keyword>Visible</keyword>
<keyword>Z</keyword>
<keyword>Z-Factor</keyword>
<keyword/>
</descKeys>
</dataIdInfo>
<distInfo>
<distributor>
<distorFormat>
<formatName Sync="TRUE">ArcToolbox Tool</formatName>
</distorFormat>
</distributor>
</distInfo>
<mdDateSt>20181108</mdDateSt>
<mdContact>
<rpOrgName>Environmental Systems Research Institute, Inc. (Esri)</rpOrgName>
<rpCntInfo>
<cntAddress>
<delPoint>380 New York Street</delPoint>
<city>Redlands</city>
<adminArea>California</adminArea>
<postCode>92373-8100</postCode>
<eMailAdd>info@esri.com</eMailAdd>
<country>United States</country>
</cntAddress>
<cntPhone>
<voiceNum>909-793-2853</voiceNum>
<faxNum>909-793-5953</faxNum>
</cntPhone>
<cntOnlineRes>
<linkage>http://www.esri.com</linkage>
</cntOnlineRes>
</rpCntInfo>
<role>
<RoleCd>007</RoleCd>
</role>
</mdContact>
<tool displayname="Create Viewshed (Raster Analysis)" name="CreateViewshed" softwarerestriction="none" toolboxalias="ra">
<summary>
<para>Creates areas where an observer can see objects on the ground. The input observer points 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).</para>
<para>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.</para>
<para>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. Nonvisible cells are given NoData values.</para>
</summary>
<alink_name>CreateViewshed_ra</alink_name>
<toolIllust alt="Create Viewshed tool" src="withheld" type="dialog"/>
<toolIllust alt="Create Viewshed tool" src="withheld" type="illustration"/>
<parameters>
<param datatype="Raster Layer; Image Service; String" direction="Input" displayname="Input Elevation Surface" expression="inputElevationSurface" name="inputElevationSurface" sync="true" type="Required">
<pythonReference>
<para>The elevation surface to use for calculating the viewshed.</para>
<para>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 the 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.</para>
<para>The elevation surface can be integer or floating point.</para>
</pythonReference>
<dialogReference>
<para>The elevation surface to use for calculating the viewshed.</para>
<para>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 the 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.</para>
<para>The elevation surface can be integer or floating point.</para>
</dialogReference>
</param>
<param datatype="Feature Set" direction="Input" displayname="Observer Features" expression="inputObserverFeatures" name="inputObserverFeatures" sync="true" type="Required">
<pythonReference>
<para>The point features that represent the observer locations when calculating the viewsheds.</para>
</pythonReference>
<dialogReference>
<para>The point features that represent the observer locations when calculating the viewsheds.</para>
</dialogReference>
</param>
<param datatype="String" direction="Input" displayname="Output Name" expression="outputName" name="outputName" sync="true" type="Required">
<pythonReference>
<para>The name of the output raster service.</para>
<para>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.</para>
</pythonReference>
<dialogReference>
<para>The name of the output raster service.</para>
<para>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.</para>
</dialogReference>
</param>
<param datatype="String" direction="Input" displayname="Optimize For" expression="optimizeFor" name="optimizeFor" sync="true" type="Optional">
<pythonReference>
<para>The optimization method to use for calculating the viewshed.</para>
<bulletList>
<bullet_item>SPEED—This method optimizes the processing speed, trading some accuracy in the result for higher performance. This is the default.</bullet_item>
<bullet_item>ACCURACY—This method is optimized for accuracy in the results, at the expense of a longer processing time.</bullet_item>
</bulletList>
</pythonReference>
<dialogReference>
<para>The optimization method to use for calculating the viewshed.</para>
<bulletList>
<bullet_item>Speed—This method optimizes the processing speed, trading some accuracy in the result for higher performance. This is the default.</bullet_item>
<bullet_item>Accuracy—This method is optimized for accuracy in the results, at the expense of a longer processing time.</bullet_item>
</bulletList>
</dialogReference>
<enumcorrespondence>
<enum label="Speed" name="SPEED"/>
<enum label="Accuracy" name="ACCURACY"/>
</enumcorrespondence>
</param>
<param datatype="String" direction="Input" displayname="Maximum Viewing Distance Type" expression="maximumViewingDistanceType" name="maximumViewingDistanceType" sync="true" type="Optional">
<pythonReference>
<para>The method by which the maximum viewing distance will be determined.</para>
<bulletList>
<bullet_item>DISTANCE—The maximum distance is defined by a value you specify. This is the default method.</bullet_item>
<bullet_item>FIELD— The maximum distance for each observer location is determined by the values in a field you specify.</bullet_item>
</bulletList>
</pythonReference>
<dialogReference>
<para>The method by which the maximum viewing distance will be determined.</para>
<bulletList>
<bullet_item>Distance—The maximum distance is defined by a value you specify. This is the default method.</bullet_item>
<bullet_item>Field— The maximum distance for each observer location is determined by the values in a field you specify.</bullet_item>
</bulletList>
<para>If you change the type from Distance to Field, the Maximum Viewing Distance parameter will change to Maximum Viewing Distance Field.</para>
</dialogReference>
<enumcorrespondence>
<enum label="Distance" name="DISTANCE"/>
<enum label="Field" name="FIELD"/>
</enumcorrespondence>
</param>
<param datatype="Linear Unit" direction="Input" displayname="Maximum Viewing Distance" expression="maximumViewingDistance" name="maximumViewingDistance" sync="true" type="Optional">
<pythonReference>
<para>This is a cutoff distance, where the computation of visible areas stops. Beyond this distance, it is unknown whether the observer points and the other objects can see each other.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default is miles.</para>
</pythonReference>
<dialogReference>
<para>This is a cutoff distance, where the computation of visible areas stops. Beyond this distance, it is unknown whether the observer points and the other objects can see each other.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default is miles.</para>
</dialogReference>
</param>
<param datatype="Field" direction="Input" displayname="Maximum Viewing Distance Field" expression="maximumViewingDistanceField" name="maximumViewingDistanceField" sync="true" type="Optional">
<pythonReference>
<para>This is a field you can use to specify the maximum viewing distance for each observer. The values contained in the field must be in the same unit as the XY unit of the input elevation surface.</para>
<para>The maximum viewing distance is a cutoff distance where the computation of visible areas stops. Beyond this distance, it is unknown whether the observer points and the other objects can see each other.</para>
</pythonReference>
<dialogReference>
<para>This is a field you can use to specify the maximum viewing distance for each observer. The values contained in the field must be in the same unit as the XY unit of the input elevation surface.</para>
<para>The maximum viewing distance is a cutoff distance where the computation of visible areas stops. Beyond this distance, it is unknown whether the observer points and the other objects can see each other.</para>
</dialogReference>
</param>
<param datatype="String" direction="Input" displayname="Minimum Viewing Distance Type" expression="minimumViewingDistanceType" name="minimumViewingDistanceType" sync="true" type="Optional">
<pythonReference>
<para>Choose the method by which the minimum visible distance will be determined.</para>
<bulletList>
<bullet_item>DISTANCE—The minimum distance is defined by a value you specify. This is the default method.</bullet_item>
<bullet_item>FIELD— The minimum distance for each observer location is determined by the values in a field you specify.</bullet_item>
</bulletList>
</pythonReference>
<dialogReference>
<para>Choose the method by which the minimum visible distance will be determined.</para>
<bulletList>
<bullet_item>Distance—The minimum distance is defined by a value you specify. This is the default method.</bullet_item>
<bullet_item>Field— The minimum distance for each observer location is determined by the values in a field you specify.</bullet_item>
</bulletList>
<para>If you change the type from Distance to Field, the Minimum Viewing Distance parameter will change to Minimum Viewing Distance Field.</para>
</dialogReference>
<enumcorrespondence>
<enum label="Distance" name="DISTANCE"/>
<enum label="Field" name="FIELD"/>
</enumcorrespondence>
</param>
<param datatype="Linear Unit" direction="Input" displayname="Minimum Viewing Distance" expression="minimumViewingDistance" name="minimumViewingDistance" sync="true" type="Optional">
<pythonReference>
<para>This is a distance where the computation of visible areas begins. 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 maximum viewing distance.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default units are Meters.</para>
</pythonReference>
<dialogReference>
<para>This is a distance where the computation of visible areas begins. 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 maximum viewing distance.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default units are Meters.</para>
</dialogReference>
</param>
<param datatype="Field" direction="Input" displayname="Minimum Viewing Distance Field" expression="minimumViewingDistanceField" name="minimumViewingDistanceField" sync="true" type="Optional">
<pythonReference>
<para>This is a field you can use to specify the minimum viewing distance for each observer. The values contained in the field must be in the same unit as the XY unit of the input elevation surface.</para>
<para>The minimum viewing distance defines where the computation of visible areas begins. 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 maximum viewing distance.</para>
</pythonReference>
<dialogReference>
<para>This is a field you can use to specify the minimum viewing distance for each observer. The values contained in the field must be in the same unit as the XY unit of the input elevation surface.</para>
<para>The minimum viewing distance defines where the computation of visible areas begins. 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 maximum viewing distance.</para>
</dialogReference>
</param>
<param datatype="Boolean" direction="Input" displayname="Viewing Distance is 3D" expression="viewingDistanceIs3D" name="viewingDistanceIs3D" sync="true" type="Optional">
<pythonReference>
<para>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.</para>
<bulletList>
<bullet_item>2D—The viewing distance is measured in 2D distance. This is the default.</bullet_item>
<bullet_item>3D—The viewing distance is measured in 3D distance.</bullet_item>
</bulletList>
</pythonReference>
<dialogReference>
<para>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.</para>
<bulletList>
<bullet_item>Checked—The viewing distance is measured in 3D distance. </bullet_item>
<bullet_item>Unchecked—The viewing distance is measured in 2D distance. This is the default.</bullet_item>
</bulletList>
</dialogReference>
</param>
<param datatype="String" direction="Input" displayname="Observers Elevation Type" expression="observersElevationType" name="observersElevationType" sync="true" type="Optional">
<pythonReference>
<para>The method by which the elevation of the observers will be determined.</para>
<bulletList>
<bullet_item>ELEVATION—The observer elevation is defined by a value you specify. This is the default method.</bullet_item>
<bullet_item>FIELD—The elevation for each observer location is determined by the values in a field you specify.</bullet_item>
</bulletList>
</pythonReference>
<dialogReference>
<para>The method by which the elevation of the observers will be determined.</para>
<bulletList>
<bullet_item>Elevation—The observer elevation is defined by a value you specify. This is the default method.</bullet_item>
<bullet_item>Field—The elevation for each observer location is determined by the values in a field you specify.</bullet_item>
</bulletList>
<para>If you change the type from Elevation to Field, the Observers Elevation parameter will change to Observers Elevation Field.</para>
</dialogReference>
<enumcorrespondence>
<enum label="Elevation" name="ELEVATION"/>
<enum label="Field" name="FIELD"/>
</enumcorrespondence>
</param>
<param datatype="Linear Unit" direction="Input" displayname="Observers Elevation" expression="observersElevation" name="observersElevation" sync="true" type="Optional">
<pythonReference>
<para>This is the elevation of your observer locations.</para>
<para>If this parameter is not specified, the observer elevation will be obtained from the surface raster using bilinear interpolation. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input observer features.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default units are Meters.</para>
</pythonReference>
<dialogReference>
<para>This is the elevation of your observer locations.</para>
<para>If this parameter is not specified, the observer elevation will be obtained from the surface raster using bilinear interpolation. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input observer features.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default units are Meters.</para>
</dialogReference>
</param>
<param datatype="Field" direction="Input" displayname="Observers Elevation Field" expression="observersElevationField" name="observersElevationField" sync="true" type="Optional">
<pythonReference>
<para>This is a field you can use to specify the elevation for the observers. The value contained in the field must be in the same unit as the Z unit of the input elevation surface.</para>
<para>If this parameter is not specified, the observer elevation will be obtained from the surface raster using bilinear interpolation.</para>
</pythonReference>
<dialogReference>
<para>This is a field you can use to specify the elevation for the observers. The value contained in the field must be in the same unit as the Z unit of the input elevation surface.</para>
<para>If this parameter is not specified, the observer elevation will be obtained from the surface raster using bilinear interpolation.</para>
</dialogReference>
</param>
<param datatype="String" direction="Input" displayname="Observers Height Type" expression="observersHeightType" name="observersHeightType" sync="true" type="Optional">
<pythonReference>
<para>The method by which the height of the observers will be determined.</para>
<bulletList>
<bullet_item>HEIGHT—The observer height is obtained from the value you specify. This is the default method.</bullet_item>
<bullet_item>FIELD— The height for each observer location is determined by the values in a field you specify.</bullet_item>
</bulletList>
</pythonReference>
<dialogReference>
<para>The method by which the height of the observers will be determined.</para>
<bulletList>
<bullet_item>Height—The observer height is obtained from the value you specify. This is the default method.</bullet_item>
<bullet_item>Field— The height for each observer location is determined by the values in a field you specify.</bullet_item>
</bulletList>
<para>If you change the type from Height to Field, the Observers Height parameter will change to Observers Height Field.</para>
</dialogReference>
<enumcorrespondence>
<enum label="Height" name="HEIGHT"/>
<enum label="Field" name="FIELD"/>
</enumcorrespondence>
</param>
<param datatype="Linear Unit" direction="Input" displayname="Observers Height" expression="observersHeight" name="observersHeight" sync="true" type="Optional">
<pythonReference>
<para>This is the height used for your observer locations.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default units are Meters.</para>
</pythonReference>
<dialogReference>
<para>This is the height used for your observer locations.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default units are Meters.</para>
</dialogReference>
</param>
<param datatype="Field" direction="Input" displayname="Observers Height Field" expression="observersHeightField" name="observersHeightField" sync="true" type="Optional">
<pythonReference>
<para>This is a field you can use to specify the height for the observers. The value contained in the field must be in the same unit as the Z unit of the input elevation surface.</para>
</pythonReference>
<dialogReference>
<para>This is a field you can use to specify the height for the observers. The value contained in the field must be in the same unit as the Z unit of the input elevation surface.</para>
</dialogReference>
</param>
<param datatype="String" direction="Input" displayname="Target Height Type" expression="targetHeightType" name="targetHeightType" sync="true" type="Optional">
<pythonReference>
<para>The method by which the height of the targets will be determined.</para>
<bulletList>
<bullet_item>HEIGHT—The target height is obtained from the value you specify. This is the default method.</bullet_item>
<bullet_item>FIELD— The height for each target is determined by the values in a field you specify.</bullet_item>
</bulletList>
</pythonReference>
<dialogReference>
<para>The method by which the height of the targets will be determined.</para>
<bulletList>
<bullet_item>Height—The target height is obtained from the value you specify. This is the default method.</bullet_item>
<bullet_item>Field— The height for each target is determined by the values in a field you specify.</bullet_item>
</bulletList>
<para>If you change the type from Height to Field, the Target Height parameter will change to Target Height Field.</para>
</dialogReference>
<enumcorrespondence>
<enum label="Height" name="HEIGHT"/>
<enum label="Field" name="FIELD"/>
</enumcorrespondence>
</param>
<param datatype="Linear Unit" direction="Input" displayname="Target Height" expression="targetHeight" name="targetHeight" sync="true" type="Optional">
<pythonReference>
<para>This is the height of structures or people on the ground used to establish visibility. The result viewshed are those areas where an observer point can see these other objects. The converse is also true; the other objects can see an observer point.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default units are Meters.</para>
</pythonReference>
<dialogReference>
<para>This is the height of structures or people on the ground used to establish visibility. The result viewshed are those areas where an observer point can see these other objects. The converse is also true; the other objects can see an observer point.</para>
<para>The units can be Kilometers, Meters, Miles, Yards, or Feet.</para>
<para>The default units are Meters.</para>
</dialogReference>
</param>
<param datatype="Field" direction="Input" displayname="Target Height Field" expression="targetHeightField" name="targetHeightField" sync="true" type="Optional">
<pythonReference>
<para>This is a field used to specify the height for the targets. The value contained in the field must be in the same unit as the Z unit of the input elevation surface. </para>
</pythonReference>
<dialogReference>
<para>This is a field used to specify the height for the targets. The value contained in the field must be in the same unit as the Z unit of the input elevation surface. </para>
</dialogReference>
</param>
<param datatype="String" direction="Input" displayname="Above Ground Level Output Name" expression="aboveGroundLevelOutputName" name="aboveGroundLevelOutputName" sync="true" type="Optional">
<pythonReference>
<para>The name of the output aboveground-level (AGL) raster. 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.</para>
</pythonReference>
<dialogReference>
<para>The name of the output aboveground-level (AGL) raster. 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.</para>
</dialogReference>
</param>
</parameters>
<returnvalues/>
<environments>
<environment label="Output extent" name="extent"/>
<environment label="Cell size" name="cellSize"/>
<environment label="Mask" name="mask"/>
<environment label="Output coordinate system" name="outputCoordinateSystem"/>
<environment label="Snap raster" name="snapRaster"/>
</environments>
<usage>
<bullet_item>
<para>The visibility of each cell center is determined by a line-of-sight test between the target and each observer.</para>
</bullet_item>
</usage>
<scriptExamples>
<scriptExample>
<title>CreateViewshed example 1 (Python window)</title>
<para>This example creates a viewshed image service using given surface and observer points.</para>
<code xml:space="preserve">import arcpy
arcpy.CreateViewshed_ra(
"https://myserver/rest/services/elevation/ImageServer", "https://myserver/rest/services/destination/FeatureServer/0", "outview1", "SPEED", "DISTANCE", "9 Miles", "#", "DISTANCE",
"0 Meters", "#", "2D", "ELEVATION", "#", "#", "HEIGHT",
"6 Feet", "#", "HEIGHT", "3 Feet", "#", "outagl1")
</code>
</scriptExample>
<scriptExample>
<title>CreateViewshed example 2 (stand-alone script)</title>
<para>This example creates a viewshed image service using given surface and observer points.</para>
<code xml:space="preserve">#---------------------------------------------------------------------------
# Name: CreateViewshed_example02.py
# Description: Creates a viewshed image service raster from given surface
# and observer points.
#
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inSurface = "https://myserver/rest/services/elevation/ImageServer"
inObservers = "https://myserver/rest/services/destination/FeatureServer/0"
outputViewshed = "outview1"
optimizeFor = "Speed"
maxDistType = "Distance"
maxDist = "9 Miles"
maxDistField = "#"
minDistType = "Distance"
minDist = "0 Miles"
minDistField = "#"
distanceIs3D = "2D"
obsElevationType = "Elevation"
obsElevation = "#"
obsElevationField = "#"
obsOffsetType = "Height"
obsOffset = "6 Feet"
obsOffsetField = "#"
surfOffsetType = "Height"
surfOffset = "3 Feet"
surfOffsetField = "#"
outputAgl = "outagl1"
# Execute Create Viewshed raster analysis tool
arcpy.CreateViewshed_ra(
inSurface, inObservers, outputViewshed, optimizeFor,
maxDistType, maxDist, maxDistField, minDistType, minDist,
minDistField, distanceIs3D, obsElevationType, obsElevation,
obsElevationField, obsOffsetType, obsOffset, obsOffsetField,
surfOffsetType, surfOffset, surfOffsetField, outputAgl)
</code>
</scriptExample>
</scriptExamples>
<shortdesc>ArcGIS geoprocessing tool that determines the raster surface locations visible to a set of observers for an input elevation raster, using geodesic methods.</shortdesc>
<arcToolboxHelpPath>withheld</arcToolboxHelpPath>
</tool>
</metadata>
