ArcGIS for Desktop

  • Documentation
  • Pricing
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS for Desktop

A complete professional GIS

ArcGIS for Server

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Pricing
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

Help

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • More...

Intervisibility

Available with 3D Analyst license.

  • Summary
  • Usage
  • Syntax
  • Code Sample
  • Environments
  • Licensing Information

Summary

Determines the visibility of sight lines through potential obstructions. The potential obstructions can be any combination of rasters, TINs, multipatches, and extruded polygons or lines.

Usage

    Caution:

    This tool modifies the input data. See Tools with no outputs for more information and strategies to avoid undesired data changes.

  • Only the endpoints of the input line are used to define the observer and target. Ideally, sight lines should be straight lines comprised of two vertices representing the observation point and the target location to which visibility is determined.

  • Consider using the Construct Sight Lines tool if the observer location is defined by point features and the visibility target is represented by data stored in a different feature class.

  • This tool does not create new output; instead, it adds a new attribute into the input sight lines feature class. If you don't want your input data to be touched, make a copy of it and use the copy as the input.

  • The input Sight Lines geometry type should be PolylineZ (3D lines, which have Z values) so that meaningful analysis can take place.

  • The input obstructions may be any combination of surfaces and/or features. Surfaces must be either raster or TIN. Each obstruction feature layer geometry type must be multipatch, line, or polygon. Each line or polygon feature layer must have base height and extrusion information, or its contents will be ignored.

  • Each input sight line may consist of more than two vertices, but only the first and last vertex is used. Each sight line will therefore always be a straight line.

  • The Z values of the first and last vertex of each sight line are the only sources of Z values that are used.

  • The analysis result is saved in the input Sight Line's feature attribute table in an integer field. By default the name of this field is VISIBLE, but the name can be changed with the Visible Field Name parameter.

  • The result can be a value of either 1 or 0. A value of 1 indicates that the sight line is not obstructed by any of the potential obstructions specified in the Obstructions parameter, meaning that its starting point and end point are visible to each other. A value of 0 indicates that the sight line is obstructed by at least one surface or feature.

  • If the result field (for example, VISIBLE) already exists in the Sight Line feature class, then its contents will be overwritten. If the tool is run from the dialog box, a warning will appear after the tool senses that the field already exists. Regardless of how the tool is run (for example, dialog box or Python window), if results are written to an existing field, then a warning message will be added to the result messages indicating that data may have been overwritten.

  • The tool will run faster if all input is in the same spatial reference, since data will not have to be projected (potentially multiple times) in order to check for obstructions. It would be especially beneficial for all obstructions to be in the same spatial reference as each other; the spatial reference of the sight lines is not as important, since they are easier to project.

  • Unlike the Line of Sight tool, this tool determines whether a sight line is obstructed, rather than where it is first obstructed. No record is kept of what obstruction causes any given sight line to be obstructed.
  • If the direction (azimuth and vertical angle) of each sight line is desired, it might be possible to have this information written to the sight lines when using the Construct Sight Lines tool to generate the sight lines before running this tool.

Syntax

Intervisibility_3d (sight_lines, obstructions, {visible_field})
ParameterExplanationData Type
sight_lines

The 3D sight lines.

Feature Layer
obstructions
[obstructions,...]

One or more feature classes and/or surfaces that may obstruct the sight lines.

Feature Layer, Raster Layer, TIN Layer
visible_field
(Optional)

Name of the field that will store the visibility results. A resulting value of 0 indicates that the sight line's start and end points are not visible to one another. A value of 1 indicates that the sight line's start and end points are visible to one another. The default field name is VISIBLE.

String

Code Sample

Intervisibility example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window.

arcpy.CheckOutExtension("3D")
arcpy.env.workspace = "C:/data"
arcpy.Intervisibility_3d("sightlines.shp", "3dbuildings.shp;topo_tin", "Visibility")
Intervisibility example 2 (stand-alone window)

The following sample demonstrates the use of this tool in a stand-alone Python script.This script demonstrates how to calculate intervisibility for sight lines against the obstructions presented by a surface and/or buildings represented by multipatches.

# Import system modules
import arcpy

try:
    # Checking out 3D Analyst Extension
    arcpy.CheckOutExtension("3D")

    # Set environments
    arcpy.env.workspace = 'C:/data'

    # Setting up input and output variables
    sightlines = "My_Sightlines.shp"
    surface = "DTM_Tin"
    buildings = "My_3D_Buildings.shp"
    viz_field_name = "Visibility"

    print("Calculating Intervisibility...")
    arcpy.Intervisibility_ddd(
        sightlines, surface + ';' + buildings, viz_field_name)
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))
finally:
    arcpy.CheckInExtension("3D")

Environments

  • Output Coordinate System
  • Current Workspace
  • Parallel Processing Factor
  • Extent

Licensing Information

  • ArcGIS for Desktop Basic: Requires 3D Analyst
  • ArcGIS for Desktop Standard: Requires 3D Analyst
  • ArcGIS for Desktop Advanced: Requires 3D Analyst

Related Topics

  • An overview of the Visibility toolset
  • Fundamentals of Surfaces
  • Analyze Visibility
Feedback on this topic?

ArcGIS for Desktop

  • Home
  • Documentation
  • Pricing
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacy | Legal