ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

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

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

视域 2

需要 Spatial Analyst 许可。

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

使用测地线方法,确定对一组观察点要素可见的栅格表面位置。

了解有关“视域 2”工具工作原理的详细信息

插图

包含频数选项的视域 2 插图
显示在山体阴影高程表面上、包含频数选项的视域 2 输出
包含观察点选项的视域 2 插图
显示在山体阴影高程表面上、包含观察点选项的视域 2 输出

用法

  • 此工具可执行两种类型的可见性分析,由分析类型参数控制。针对第一种类型 FREQUENCY,该工具可确定对一组观察点可见的栅格表面位置。对于另一种类型 OBSERVERS,可识别从各栅格表面位置进行观察时可见的观察点。

  • 此工具可通过 GPU 加速,也就是说,如果系统中安装了 GPU 设备(图形处理器),该设备将用于增强工具的性能。

    目前,此工具仅支持具有 CUDA 计算能力 2.0 或 OpenCL 1.2 的 NVIDIA 显卡,并且要求系统已经安装有合适的显卡。要确保正确执行工具,请参阅 NVIDIA 驱动程序更新页面 NVIDIA 驱动程序更新页面 了解最新的可用驱动程序。

  • 如果 Windows TdrDelay(超时检测和恢复延迟)注册表项的值对操作来说过小,则系统可能会返回 GPU 错误并且工具无法执行。TdrDelay 的默认值为 2 秒。但您需要将其调整为较大的值,如 60 秒。在大部分 Windows 系统中,到注册表中 TdrDelay 项的路径为 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers。如果 TdrDelay 项不存在,则必须在此路径中创建该项并为其分配较大值。必须重新启动计算机才能使更改生效。有关如何定义 TdrDelay 注册表项的更多详细信息,请访问 Microsoft TDR 注册表项网页 Microsoft.com。

    警告:

    Esri 不对因错误修改注册表而导致的任何系统问题承担责任。确保执行适当步骤以保证具有有效注册表备份,以便在遇到任何问题时用于恢复,或者由资深系统分析人员来执行此更改。

  • 与其他类似工具不同的是,视域 2 没有 Z 因子参数。要确保输出可见性栅格的正确性,请为输入栅格分配椭圆体垂直坐标系(如果栅格没有此坐标系)。

  • 每个像元中心的可见性都将通过目标和每个观察点之间的视线测试来确定。如果观察点能够看到像元中心的目标,则将该像元视为可见。在确定可见性时,此工具始终会考虑地球的曲率。

  • 在输出可见性栅格上,将为不可见像元分配 NoData。

  • 对于 OBSERVERS 分析类型,允许的最大输入观察点数量为 32。

  • 如果输入栅格含有因采样错误导致的不希望出现的噪点,则在运行此工具之前,可使用低通滤波器(如焦点统计的“平均值”选项)对栅格进行平滑处理。

  • 若要对输入栅格进行重采样,需使用双线性技术。例如,当输出栅格与输入栅格的坐标系统、范围或像元大小不同时,可对输入栅格进行重采样。

  • 默认状态下,将按照输入数据集的最大范围计算视域。为提升性能,建议将外半径参数明确设置为您分析所感兴趣的最大距离。该参数允许工具对仅距观察点一定距离内的像元进行计算。

  • 您可使用分析方法参数来控制结果的质量和获取结果的时间。可将 PERIMETER_SIGHTLINES 方法用于探索性分析,因为它可以在损失输出质量的情况下获得更快的性能。为得到最准确的输出,请使用 ALL_SIGHTLINES 方法。

  • 有关实施此工具的技术方面的详细信息,请参阅以下资源。

    http://support.esri.com/en/knowledgebase/techarticles/detail/42804

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。

语法

Viewshed2 (in_raster, in_observer_features, {out_agl_raster}, {analysis_type}, {vertical_error}, {out_observer_region_relationship_table}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {inner_radius_is_3d}, {outer_radius}, {outer_radius_is_3d}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle}, {analysis_method})
参数说明数据类型
in_raster

输入表面栅格。它可以是整型栅格或浮点型栅格。

可见性计算期间,输入栅格将转换为 3D 地心坐标系。输入栅格上的 NoData 像元不会阻止可视性的确定。

Raster Layer
in_observer_features

用于识别观察点位置的输入要素类。它可以是点要素、多点要素或折线要素。

可见性计算期间,输入要素类将转换为 3D 地心坐标系。计算将忽略表面栅格范围之外或 NoData 像元上的观察点。

Feature Layer
out_agl_raster
(可选)

地表以上 (AGL) 输出栅格。

AGL 结果是一个栅格,其中每个像元值都记录了为保证像元至少对一个观察点可见而需要向该像元添加的最小高度(若不添加此高度,像元不可见)。在输出栅格中为已可见的像元分配 0。

当垂直错误参数为 0 时,输出 AGL 栅格为单波段栅格。当垂直错误参数大于 0 时,输出 AGL 栅格会被创建为三波段栅格以对输入栅格的随机效果作出解释。第一波段表示 AGL 平均值,第二波段表示最小 AGL 值,第三波段表示最大 AGL 值。

Raster
analysis_type
(可选)

选择要执行的可见性分析类型,是确定每个像元对观察点的可见性,还是识别各表面位置上可见的观察点。

  • FREQUENCY —输出将记录输入表面栅格中每个像元位置对于输入观测位置(如点或观察折线要素的折点)可见的次数。这是默认设置。
  • OBSERVERS — 输出将精确识别从各栅格表面位置进行观察时可见的观察点。此分析类型所允许的最大输入观察点数为 32。
String
vertical_error
(可选)

表面高程值中不确定项(均方根错误,或称 RMSE)的数量。它是表示输入高程值预计错误的浮点值。为此参数分配的值大于 0 时,输出可见性栅格将为浮点型。此时,输出可见性栅格上的每个像元值将表示该像元对所有观察点可见的可能性总和。

当分析类型为 OBSERVERS或分析方法为 PERIMETER_SIGHTLINES时,此参数将处于禁用状态。

Linear unit
out_observer_region_relationship_table
(可选)

用于识别对于每个观察点都可见的区域的输出表。此表可关联到输入观察点要素类以及输出可见性栅格(用于识别对给定观察点可见的区域)。

只有在分析类型为 OBSERVERS 时,才会创建此输出。

Table
refractivity_coefficient
(可选)

空气中可见光的折射系数。

默认值为 0.13。

Double
surface_offset
(可选)

该值将以表面单位指示要添加到各目标像元 z 值的垂直距离,因为分析可见性时需要考虑该距离。它应为正整数值或浮点值。

它可为输入观察点要素数据集中的字段或数值。如果为此参数设置了一个值,该值将应用到所有观察点。要为每个观察点指定不同的值,请将此参数设置为输入观察点要素数据集中的某个字段。

Linear unit | Field
observer_elevation
(可选)

此值用于定义观察点或折点的表面高程。

它可为输入观察点要素数据集中的字段或数值。如果未指定此参数,则会使用双线性插值法从表面栅格中获取观察点高程。如果为此参数设置了一个值,该值将应用到所有观察点。要为每个观察点指定不同的值,请将此参数设置为输入观察点要素数据集中的某个字段。

Linear unit | Field
observer_offset
(可选)

该值将以表面单位指示要添加到观察点高程的垂直距离。它应为正整数值或浮点值。

它可为输入观察点要素数据集中的字段或数值。如果为此参数设置了一个值,该值将应用到所有观察点。要为每个观察点指定不同的值,请将此参数设置为输入观察点要素数据集中的某个字段。

Linear unit | Field
inner_radius
(可选)

此值用于定义确定可见性的起始(最小)距离。小于此距离的像元在输出中视为不可见,但仍会妨碍内半径和外半径之间像元的可见性。默认值为 0。

它可为输入观察点要素数据集中的字段或数值。如果为此参数设置了一个值,该值将应用到所有观察点。要为每个观察点指定不同的值,请将此参数设置为输入观察点要素数据集中的某个字段。

Linear unit | Field
inner_radius_is_3d
(可选)

内半径参数的距离类型。

  • GROUND —内半径将被视为 2D 距离。这是默认设置。
  • 3D —内半径将被视为 3D 距离。
Boolean
outer_radius
(可选)

此值用于定义确定可见性的最大距离。超出此距离的像元将从分析中排除。

它可为输入观察点要素数据集中的字段或数值。如果为此参数设置了一个值,该值将应用到所有观察点。要为每个观察点指定不同的值,请将此参数设置为输入观察点要素数据集中的某个字段。

Linear unit | Field
outer_radius_is_3d
(可选)

外半径参数的距离类型。

  • GROUND —外半径将被视为 2D 距离。这是默认设置。
  • 3D —外半径将被视为 3D 距离。
Boolean
horizontal_start_angle
(可选)

该值定义水平扫描范围的起始角度。此值以度为单位,介于 0 至 360.0 度之间,其中 0 指向北。默认值为 0。

它可为输入观察点要素数据集中的字段或数值。如果为此参数设置了一个值,该值将应用到所有观察点。要为每个观察点指定不同的值,请将此参数设置为输入观察点要素数据集中的某个字段。

Constant | Field
horizontal_end_angle
(可选)

该值定义水平扫描范围的终止角度。此值以度为单位,介于 0 至 360.0 度之间,其中 0 指向北。默认值为 360.0。

它可为输入观察点要素数据集中的字段或数值。如果为此参数设置了一个值,该值将应用到所有观察点。要为每个观察点指定不同的值,请将此参数设置为输入观察点要素数据集中的某个字段。

Constant | Field
vertical_upper_angle
(可选)

该值定义扫描的(位于水平面上)垂直角上限。该值应以度为单位,介于 0 到 90.0 之间,可为整数或浮点。默认值为 90.0。

它可为输入观察点要素数据集中的字段或数值。如果为此参数设置了一个值,该值将应用到所有观察点。要为每个观察点指定不同的值,请将此参数设置为输入观察点要素数据集中的某个字段。

Constant | Field
vertical_lower_angle
(可选)

该值定义扫描的(位于水平面下)垂直角下限。该值应以度为单位,介于 -90.0 到 0 之间,其可以是整数,也可以是浮点数。默认值为 -90.0。

它可为输入观察点要素数据集中的字段或数值。如果为此参数设置了一个值,该值将应用到所有观察点。要为每个观察点指定不同的值,请将此参数设置为输入观察点要素数据集中的某个字段。

Constant | Field
analysis_method
(可选)

选择用于计算可见性的方法。此选项允许您牺牲一些精度以获得更好的性能。

  • ALL_SIGHTLINES —视线会运行到栅格上的每个像元以创建可见区域。这是默认方法。
  • PERIMETER_SIGHTLINES — 视线仅会运行到可见区域周边的像元以创建可见区域。这种方法的性能比 ALL_SIGHTLINES方法好,因为这种方法的计算中所运行的视线较少。
String

返回值

名称说明数据类型
out_raster

输出栅格。

对于 FREQUENCY 分析类型,当垂直错误参数为 0 或未指定时,输出栅格将记录输入表面栅格中每个像元位置可被输入观察点看到的次数。当垂直错误参数大于 0 时,输出栅格上的每个像元将记录该像元对所有观察点可见的可能性总和。对于 OBSERVERS分析类型,输出栅格将记录可见区域的唯一区域 ID,它们可通过输出观察点-区域关系表关联到观察点要素。

Raster

代码示例

Viewshed2 示例 1(Python 窗口)

本例在不使用任何观察点参数的情况下确定了一组观察点可见的表面位置。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outViewshed2 = Viewshed2("elevation", "obser1.shp", "", "OBSERVERS", "",
                         "C:/sapyexamples/output/obstable01.dbf",
                         analysis_method="ALL_SIGHTLINES")
outViewshed2.save("C:/sapyexamples/output/outvwshd2_01")
Viewshed2 示例 2(独立脚本)

本例使用输入要素类中的属性作为观察点参数,确定了一组观察点可见的表面位置。

# Name: Viewshed2_Ex_02.py
# Description: Determines the raster surface locations visible to a set of
#              observer features.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")

inRaster = "elevation"
inObservers = "obser2.shp"
outAGL = ""
analysisType = "OBSERVERS"
verticalError = ""
outAnalysisRelationTable = "C:/sapyexamples/output/obser_region2.dbf"
refractCoeff = ""
surfaceOffset = "offsetb"
observerElevation = "spot"
observerOffset = "offseta"
innerRadius = "radius1"
innerIs3D = "False"
outerRadius = "radius2"
outerIs3D = "True"
horizStartAngle = "azimuth1"
horizEndAngle = "azimuth2"
vertUpperAngle = "vert1"
vertLowerAngle = "vert2"
analysisMethod = "ALL_SIGHTLINES"

# Execute Viewshed2
outViewshed2 = Viewshed2(inRaster, inObservers, outAGL, analysisType,
                         verticalError, outAnalysisRelationTable, refractCoeff,
                         surfaceOffset, observerElevation, observerOffset,
                         innerRadius, innerIs3D, outerRadius, outerIs3D,
                         horizStartAngle, horizEndAngle, vertUpperAngle,
                         vertLowerAngle, analysisMethod)

# Save the output
outViewshed2.save("C:/sapyexamples/output/outvwshd2_02")

环境

  • 自动提交
  • 像元大小
  • 压缩
  • 当前工作空间
  • 范围
  • 地理变换
  • 掩膜
  • 输出配置关键字
  • 输出坐标系
  • 并行处理因子
  • 栅格统计
  • 临时工作空间
  • 捕捉栅格
  • 切片大小

许可信息

  • ArcGIS Desktop Basic: 需要 Spatial Analyst 或 3D Analyst
  • ArcGIS Desktop Standard: 需要 Spatial Analyst 或 3D Analyst
  • ArcGIS Desktop Advanced: 需要 Spatial Analyst 或 3D Analyst

相关主题

  • 表面分析工具集概述
  • 视域 2 的工作原理

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

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

关于 Esri

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