ArcGIS for Desktop

  • 文档
  • 合约
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS for Desktop

全面的专业性 GIS

ArcGIS for Server

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 合约
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

通视性

需要 3D Analyst 许可。

  • 摘要
  • 用法
  • 语法
  • 代码实例
  • 环境
  • 许可信息

摘要

确定视线穿过潜在障碍物的可见性。潜在障碍物可以是栅格、TIN、多面体和拉伸面或线的任意组合。

用法

    警告:

    此工具用于修改输入数据。有关详细信息以及避免数据被意外更改的策略,请参阅无输出的工具。

  • 只有输入线的端点用于定义观察点和目标点。理想的视线应该是直线,包括两个折点,分别代表用于确定可见性的观测点和目标位置。

  • 如果观察点位置由点要素定义且可见性目标由存储在其他要素类中的数据表示,则考虑使用构造视线工具。

  • 此工具不会创建新输出;而是向输入视线要素类添加新属性。如果不希望他人获得您的输入数据,则复制此数据将副本用作输入。

  • 输入视线几何类型应该是 PolylineZ(含有 Z 值的 3D 线),以便进行有效分析。

  • 输入障碍物可以是表面和/或要素的任意组合。表面必须是栅格或 TIN。各个障碍物要素图层的几何类型必须是多面体、线或面。每个线要素或面要素图层必须有基本高度和拉伸信息,否则将忽略它们的内容。

  • 各个输入视线可包含两个以上的折点,但仅使用第一个和最后一个折点。因此,各个视线将始终是直线。

  • 各个视线的第一个和最后一个折点的 Z 值是所用 Z 值的唯一源。

  • 分析结果保存在整型字段的输入视线要素属性表中。默认情况下,此字段的名称是 VISIBLE,但名称可通过可见字段名参数更改。

  • 结果可以是值 1 或值 0 的其中之一。值 1 指示视线没有被障碍物参数中指定的任何潜在障碍物所阻碍,这意味着其起点和终点彼此可见。值 0 指示视线至少被一个表面或要素所阻碍。

  • 如果结果字段(如 VISIBLE)已存在于视线要素类中,则将覆盖其内容。如果通过对话框运行工具,则在工具检测到字段已存在后将出现警告。无论以何种方式运行工具(例如对话框或 Python 窗口),如果已将结果写入到现有字段中,那么警告消息将添加到结果消息中,提示可能会覆盖数据。

  • 由于进行障碍物检查不必投影数据(可能多次),如果所有输入都在同一空间参考中进行,工具将运行得更加快速。这尤其适用于彼此相同的空间参考中的所有障碍物;视线的空间参考并不十分重要,因为它们易于投影。

  • 与通视分析工具不同,此工具会确定视线是否受到阻碍,而不是第一次受到阻碍的位置。未保留何种障碍使给定视线受到阻碍的记录。
  • 如果希望各个视线在特定方向(方位角和垂直角)上,则可能在运行此工具前,使用构造视线工具生成视线时,将此信息写入到视线中。

语法

Intervisibility_3d (sight_lines, obstructions, {visible_field})
参数说明数据类型
sight_lines

3D 视线。

Feature Layer
obstructions
[obstructions,...]

阻碍视线的一个或多个要素类和/或表面。

Feature Layer, Raster Layer, TIN Layer
visible_field
(可选)

要存储可见性结果的字段的名称。生成的值 0 表示视线的起点和终点相互不可见。值 1 表示视线的起点和终点相互可见。默认字段名称为 VISIBLE。

String

代码实例

通视性示例 1(Python 窗口)

下面的示例演示了如何在 Python 窗口中使用此工具。

arcpy.CheckOutExtension("3D")
arcpy.env.workspace = "C:/data"
arcpy.Intervisibility_3d("sightlines.shp", "3dbuildings.shp;topo_tin", "Visibility")
通视性示例 2(独立窗口)

下面的示例演示了如何在独立 Python 脚本中使用此工具。此脚本演示如何根据以表面表示的障碍物和/或以多面体表示的建筑物来计算视线的通视性。

# 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")

环境

  • 输出坐标系
  • 当前工作空间
  • 并行处理因子
  • 范围

相关主题

  • 可见性工具集概述
  • 有关表面的基础知识
  • 分析可见性
有关此主题的反馈?

ArcGIS for Desktop

  • 主页
  • 文档
  • 合约
  • 支持

ArcGIS 平台

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

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | 隐私政策 | 法律声明