当前位置:文档之家› 15地理信息系统arcgis实习教程第十五章

15地理信息系统arcgis实习教程第十五章

第十五章视线、视域1视线分析打开地图文档\gis_ex09\ex15\ex15.mxd,激活data frame1,该视图有点状图层“观察点”,线状图层“道路”,TIN 图层“地形”(见图15-1)。

选用菜单Tools / Extension…,加载3D Analyst 扩展模块。

选用菜单View / Toolbars / 3D Analyst,加载3D Analyst 工具条。

鼠标双击data frame1,在Data Frame Properties 话框的General 标签中将Map Units 和Display Units 均改为Meters。

在3D Analyst 工具条中,点击产生视线按钮(Create Line of Sight),出现Line Of Sight 对话框:Define height offsetsObserver offset:1 观察点的相对高程,键盘输入Target offset:1 目标点的相对高程,键盘输入一旦确定了观察点和目标点的相对高程,就可以连续进行视线分析。

此时,屏幕上出现十字光标,可以在三维表面上指定观察点和目标点。

先用鼠标将十字光标移到观察点处,按下左键不放,再把鼠标十字光标移到目标点处,松开鼠标的左键,系统根据用户观察点和目标点的位置,绘制出一条连接线段。

这条线往往是红绿相间的,绿色表示连线上的可视部分,红色表示连线上的不可视部分(见图15-2)。

图15-1 data frame1 的显示图15-2 两点间的视线输入需注意,不能仅仅根据连线的颜色判断两点之间是否可视,因为连线的上的不同颜色,仅仅是反映当目标点在连线上的某一点时,是否可视,并不是直接反映观察点(起点)和目标点(终点)之间是否可视。

要判断观察点(起点)和目标点(终点)之间是否可视,要看ArcMap 窗口最下方的状态栏中的文字显示,如显示Target is visible 表明两点间可视;如显示Target is not visible 表明两点间不可视。

利用基本工具条中的Select Element 按钮,可以调整起点、终点的位置,按键盘中的Delete 键,可以删除,再次选用按钮,可以再添加。

2 基于视点的视域2.1 产生单个观察点的视域栅格首先对3D Analyst 进行初始化设置,选择3D Analyst / Options…General 标签:Working:D:\gis_ex09\ex15\temp\ 3D Analyst 的指定工作路径Analysis mask:None 栅格数据的属性表中将不存在无数据(No data)属性值Analysis coordinate system:勾选上侧圆点,所产生的坐标系统参照已有栅格Extents 标签:Analysis extent:Same As layer“地形”下拉选择“地形”为计算范围Cell size 标签:Analysis cell:As Specified Below 下拉选择Cell size:10 栅格单元的大小为10Number of Rows:66 边界和栅格单元确定后,自动确定栅格的行数Number of Columns:95 边界和栅格单元确定后,自动确定栅格列数按“确定”键完成初始化设置,选择菜单3D Analyst / Surface Analysis / Viewshade…,出现Viewshade 参数设置对话框:Input surface:地形下拉选择三维表面图层名Observer points:观察点下拉选择观察点图层名(此处为“观察点”)Z factor:1 纵向比例不夸张Output cell size:10 已在初始化时设定Output raster:visible1 输入产生栅格数据的名称,路径按初始设定按OK 键继续,系统产生栅格状视域分析结果图层visibile1,自动分成2 类(见图15-4),Not Visible:表示站在观察点不可见的范围,默认为红色(地图中较深颜色),Visible:表示站在观察点的可见范围,默认为绿色(地图中较浅颜色)图15-4 观察点的视域分析结果(不设置观察点的高程)2.2 改变观察点的高程基于观察点的视域分析与前面使用过的视线分析不同。

视线分析可以由用户指定观察点和目标点的相对高程。

视域分析中,需预先设定部分参数,其中有观察点的高度。

在前面进行的视域分析中,没有作任何特别的设置,系统默认观察点的高度是比所在位置三维表面高1 个单位。

例如,上述练习中,观察点所在处的三维表面的高程为78 米,观察点的高程即为79 米。

用户可以在观察点图层的属性表中设置特定的字段,设定观察点的高程。

常用的字段有:Spot:指定观察点的绝对高程值OffisetA:三维表面高程不变,设定观察点的高程偏移值OffsetB:观察点高程不变,设定三维表面的高程偏移值打开“观察点”专题的属性表“Attribute of 观察点”。

确认该表处于不可编辑状态,选用菜单Options / Add field…,出现add Field 对话框,为属性表“Attribute of 观察点”增加一个新的字段(若原文件已有该字段则不需要增加),键盘输入:Field Name:SpotData Type:Short IntegerPrecision:4按OK 键确认后新字段添加完毕,还要为该字段添加数据,在Editor 工具栏中选择Editor / Start Editing,输入Spot 字段的数值90,选用菜单Editor / Stop Editing,出现提示“Save Editing?”,选“是(Y)”确认,返回地图窗口,选择菜单3D Analyst / Surface Analysis / Viewshe…,出现Viewshed 参数设置对话框:Input surface:地形下拉选择三维表面图层名Observer points:观察点下拉选择观察点图层名(此处为“观察点”)Z factor:1 纵向比例不夸张Output cell size:10 已在初始化时设定Output raster:visible2 输入产生栅格数据的名称,保存路径为初始设定按OK 键继续,系统产生栅格状视域分析结果图层visibile2,(见图15-5)。

图15-5 观察点绝对高程为90 米时的视域显示2.3 两次视域分析结果的比较前一次不作任何设置,观察点高程仅仅是比对应的三维表面高 1 米。

后一次则是设定了观察点的绝对高程为90 米,得到的分析结果略有差异。

同样方法也可以在观察点的属性表中增加字段OffsetA 和OffsetB,来调整观察点和地形的相互关系。

读者可以自行试验。

如果几个字段同时出现在属性表中,系统根据三者的之间的相对关系进行计算,再得到对应的观察点高度。

3 基于路径的视域data frame1 中,已经有了TIN 图层“地形”、线状图层“道路”、点状图层“观察点”。

先将线状图层“道路”转化为3D Shape 文件,选用菜单3D Analyst / Convert/ Features to 3D…,出现“Convert features to 3D”参数设置对话框,做出如下设置:Input features:道路下拉选择路径图层名Source of heights:选择raster or TIN surface,并下拉选择TIN 图层“地形”Output features:3d-road 输入3D shape file 的文件名,路径为初始设定按OK 键继续,在data frame1 中就有了一个新的图层3d-road。

选用菜单3D Analyst / Surface Analysis / Viewshed…,出现Viewshed 参数设置对话框:Input surface:地形下拉选择作为三维表面的图层名Observer point:3d-road 下拉选择观察点的图层名Z factor:1 纵向比例不夸张Output cell size:10 已在初始化时设定Output raster:visible3 产生栅格数据的名称,保存路径为初始设定图15-6 基于路径的视域分析结果(两条道路)按OK键确定,系统经过一段时间的计算,得到视域分析的结果栅格图层Visibile3(见图15-6)。

视域分析不仅判断三维表面上是否可见的范围,也可以记录可视的范围内每一栅格单元可以被观察到的次数。

计算得到的结果是栅格图层,其中每个单元的值表示沿着观察路径该单元可以被看到的次数,观察的总次数应该等于观察路径的总长度除以栅格单元的大小,即观察者沿者路径移动的步长由栅格单元的大小决定。

打开属性表Attribute of Visible3,显示如下:Value(取值即被看到的次数)Count(取该值的栅格共有几个)07221111271388488…………20912111可以返回data frame1,进入图层符号设置对话框,按观察到的次数多少进行分类显示。

本练习的路径视域分析是对该图层中两条道路同时进行计算,得到的结果也是这两条道路的视野总和。

如果仅对其中一条道路的视域分析,就要在选用菜单3D Analyst / Surface Analysis / Viewshed…之前用要素选择工具,将其中一条道路选中,此后的操作仅仅按进入选择集的要素进行分析,得到的结果也是沿着这条道路的视域分类栅格数据。

练习结束,返回Windows,选File / Exit,关闭文档,退出ArcMap。

4 视域分析小结视域分析与视线分析不同:(1)视域分析用于确定从三维表面上的某一点向周围观察,可以看到的范围,也可以沿着某一路径运动,可以看到的范围。

作视域分析除了要有一个代表三维表面外的TIN 或Grid 外,还要有一个观察点或观察路径图层。

观察点是一般的点状矢量图层,观察路径是三维数据(3D Shapefile)。

(2)视域分析的结果是栅格图层,视线分析的结果是临时图形Graph。

(3)作视域分析前,应在观察点的图层属性表中添加相关的字段,输入高程值。

否则,默认的观察点高程就是比对应的三维表面高程高1 个坐标单位。

(4)视线分析的高程通过对话框输入。

5 本章小结视线分析是判断三维表面上任意两个点之间是否通视。

观察点和目标点可以在三维表面上,用户可以指定观察点和目标点相对于三维表面的高程,也可以通过借用生成纵剖面的方法,绘一条直线,产生沿着该直线的纵剖面图,再观察起点和终点间的视线遮挡状况。

视域分析有观察点和路径两种,所得到的结果是栅格图层,每一栅格单元的取值表示该点被观察到的次数。

相关主题