Radial Line Of Sight (Defense)

Available with 3D Analyst license.

Summary

Shows areas visible to one or more observer locations.

Usage

  • A viewshed is created by finding the areas visible from one or more specified observer locations.

  • Intermediate datasets are projected to a localized Azimuthal Equidistant projection to maintain fidelity of distance and direction.

  • The output area polygons will have a Visibility field containing the number of observers that can view a given area.

  • Using a surface and one or more observer locations, the tool will create areas that are visible to one or more of the observers, or not visible to any.

  • The tool uses earth curvature and refractivity calculations if the input surface supports them.

Syntax

arcpy.defense.RadialLineOfSight(in_observer_features, in_surface, out_feature_class, {radius}, {observer_height_above_surface})
ParameterExplanationData Type
in_observer_features

The input observer points.

Feature Set
in_surface

The input elevation raster surface.

Raster Layer
out_feature_class

The output polygon feature class showing visible and nonvisible surface areas.

Feature Class
radius
(Optional)

The radius of the analysis area from the observer.

Double
observer_height_above_surface
(Optional)

The height added to the surface elevation of the observer. The default is 2.

Double

Code sample

RadialLineOfSight example 1 (Python window)

The following Python window script demonstrates how to use the RadialLineOfSight function.

import arcpy
arcpy.env.workspace = r"C:\Data.gdb"
arcpy.RadialLineOfSight_defense(r"C:/RLOS_Observers", 
                                "Elevation_Dataset", 
                                "RLOS_Output", 5000, 2)
RadialLineOfSight example 2 (stand-alone script)

The following example uses the RadialLineOfSight function in a sample workflow script.

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:/Data.gdb"
arcpy.env.overwriteOutput = True

# Select points from observers from input
observers =  "Observers"
branch = "Branch"
whereClause = "Marines = 'Yes'"
arcpy.Select_analysis(branch, Marines, whereClause)

# Create Radial Line Of Sight using Marine observers
in_observer_features = "Observers"
in_surface = "Elevation_Dataset"
out_feature_class = "RLOS_Observers_Marines"
radius = "METERS"
observer_height_above_surface = "METERS"
arcpy.RadialLineOfSight_defense(Observers,
                                Elevation_Dataset,
                                RLOS_Observers_Marines,
                                1000,
                                2)

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics