路径距离分析在GIS系统中的应用研究

2014-04-29 00:44沈华英
电子世界 2014年19期
关键词:斜率线性角度

沈华英

1.概述

随着移动智能设备的普及,导航等基于GIS系统的应用渗透进了生活的各个方面,其为人们的生活提供了巨大的便利的。GIS系统作为其中的基础设施,其上各种算法的优劣决定了应用的反馈速度,进决定了用户的体验,其中路径距离分析是关键的环节之一。

路径距离分析一般要至少设置两个点上,起止点或多个点之间。分析之后的结果为这些点之间的距离与路径。这些参数需要用户事先输入,一般可以通过输入设备直接定义。在二维条件下,鼠标的点击就可以确定位置,提供一个坐标可以惟一地确定一个点,然而在三维环境下还需要三个坐标轴才能确定一个点的位置。开始路径距离分析之前,最基本的欧式距离分析和成本距离分析。欧氏距离分析遵循的就是我们小学都知道的“两点之间直线最短”的原则,两点之间的最短路径就是两点之间的线段的距离。但是实际情况并不是很完美,有时我们无法完全沿直线前往某个位置,例如遇到河流、陡坡、悬崖等障碍。这时,我们就应该考虑使用成本距离工具获得更现实的结果。如何在三维空间中做好路径距离分析是本文要探讨的内容。

2.路径距离分析

目前有很多GIS软都提供了路径分析功能,如ArcGIS,TransCAD,MapInfo等,但都是在2维平面上进行的。以ArcGIS为例,它的ArcMap平台提供了一个称为Utility Network Analysis的工具栏来提供路径分析功能,但是在它的3维GIS平台ArcScene中却没有路径分析的工具ArcMap中的路径分析工具,其背后都是通过ArcObject组件对象模型COM实现的,该组件提供了众多的接口来实现GIS分析功能。而Arccene程序也能访问ArcObject组件,因此真正的区别在于:ArcScene展示的是一个3维空间。

路径距离分析与成本距离分析相似,两者都用于确定从源到栅格上各像元位置的最小累积行进成本。但是,路径距离不仅可计算成本表面的累积成本,而且可以考虑到从一个位置到另一个位置的总移动成本的水平和垂直因子补偿。这些工具生成的累积成本表面可用于扩散建模、流向运动和最低成本路径分析。路径距离工具既考虑水平和垂直成本要素,又考虑真实表面距离。

(1)水平系数

水平系数(HF)从像元移动时所遇到的水平阻力因素的角度出发,确定从一个像元移到另一个像元的成本,或者说是困难。在路径距离分析中,提供了确定水平方向成本的参数,水平栅格必须中存储了各个像元位置指定的水平角度,例如在上面开车的例子中,指的就是风向。水平方向以度为单位进行定义,0表示位于待处理像元的上方(或北方),值沿顺时针方向增加,形成一个圆并在360度时回到原始位置。另外引入的一个概念是,水平相对移动角度(HRMA),这是水平角度和前进角度的夹角,例如我们在风中行驶的汽车的行驶角度和风向的夹角。

1)LINEAR——线性水平系数

HF由HRMA-HF坐标系中的一条直线确定。这条线在y轴(表示HF系数)上与零系数(Zero Factor)相关联的值处进行截取。线的斜率(Slop)可以使用SLOPE参数指定。如果未确定斜率,则默认值为0.5/45或1/90(指定为0.01111)。默认切削角为181度,这相当于无切削。默认零系数为0.5。

2)INVERSE_LINEAR——逆线性水平系数

HF由HRMA-HF坐标系中的一条直线的逆向值确定。这条线在y轴(表示HF系数)上与零系数相关联的值处进行截取。线的斜率可以使用 SLOPE 修饰属性进行指定。如果未确定斜率,则默认值为-2/180或-1/90(指定为 0.01111)。默认切削角为181度,这相当于无切削。默认零系数为2.0。

3)Table——自定义表格

如果前面四种既定设定在算法中不能满足要求,我们还可以自定表格参数,该文件的每一行有两列值与之对应。第一列值用于识别 HRMA(以度为单位表示),第二列值为HF。文件中的每行指定图表中的一个点。两个连续的点定义HRMA-HF坐标系中的一条线段。HRMA角度必须按升序输入。对于所有小于第一个(最低)输入值或大于最后一个(最大)输入值的 HRMA角度,其HF系数将设置为无穷大。

路径分析不仅可以考虑到水平方向的影响因子,而且可以考虑到垂直方向的影响因子,例如前面开车的例子中,水平方向的影响因子是风向,垂直方向的影响因子就是路面的起伏状况。

(2)垂直系数

垂直系数越大,移动的难度也就越大。确定从一个像元行进到另一个像元时遇到的垂直系数(VF)与确定水平系数(HF)相似。这里需要引入一个概念,垂直相对移动角度(VRMA),垂直相对移动角度(VRMA)是“起始”像元与“目标”像元形成的斜率的角度,斜率=垂直增量/水平增量。VRMA以度为单位进行指定。VRMA的值范围为-90到+90度。

1)Binary——二元垂直系数

当 VRMA大于切削角下限且小于切削角上限时,在两个像元之间移动的VF设置为与零系数相关联的值。如果VRMA大于切削角上限或者小于切削角下限,则VF设置为无穷大。工具默认的切削角为正负30度。

2)Linear——线性垂直系数

VF由VRMA-VF坐标系中的一条直线确定。这条线在y轴上与零系数相关联的值处进行截取。线的斜率可以使用SLOPE属性进行指定。如果未确定斜率,则默认值为1/90(指定为0.01111)。默认的切削角下限为-90度,而默认的切削角上限为90度。

3)Inverse Linear——逆线性垂直系数

这个与线性垂直系数类似,VF由VRMA-VF坐标系中的一条直线的逆向值确定。这条线在y轴(表VF系数)上与零系数相关联的值处进行截取。线的斜率可以确定(如果使用SLOPE修饰属性指定)。如果未确定斜率,则默认值为-1/45(指定为0.02222)。默认的切削角下限为-45度,而默认的切削角上限为45度。

4)Symmetric Linear——对称线性垂直系数

SYM_LINEAR由两个与VRMA相关的线性函数组成,这两个函数关于VF(y) 轴对称。两条线都在与零系数相关联的VF值处截取y轴。使用 SLOPE垂直系数修饰属性相对于正VRMA定义线的斜率,然后将针对负VRMA生成一个镜像。默认斜率为1/90(指定为 0.01111)。默认的切削角下限为-90,而默认的切削角上限为90。

5)Symmetric Inverse Linear——对称线性垂直系数

顾名思义,SYM_INVERSE_LINEAR与SYM_LINEAR垂直系数关键字正相反。它由两个与VRMA相关的线性函数组成,这两个函数关于VF(y)轴相对称。两条线都在VF值为1处截取y轴。使用SLOPE垂直系数修饰属性相对于与正VRMA定义线的斜率,然后将针对负VRMA生成一个镜像。默认斜率为-1/45(指定为.02222)。默认的切削角下限为-45,而默认的切削角上限为45。

6)Cos——余弦垂直系数

VF由VRMA的余弦函数确定。默认的切削角下限为-90度,而默认的切削角上限为90度。默认的COSPOWER为1.0。

7)Sec——正割垂直系数

VF由VRMA的正割函数确定。默认的切削角下限为-90度,而默认的切削角上限为90度。默认的SECPOWER为1.0。

8)Cos-Sec——余弦正割垂直系数

当VRMA度数为负值时,VF由VRMA的余弦函数确定。如VRMA度数为正值,VF则由VRMA的正割函数确定。默认的切削角下限为-90度,而默认的切削角上限为90度。默认的COSPOWER和SECPOWER均为1.0。

9)Sec-Cos——正割余弦垂直系数

当VRMA度数为负值时,VF由VRMA的正割函数确定。如VRMA度数为正值,VF则由VRMA的余弦函数确定。默认的切削角下限为-90度,而默认的切削角上限为90度。默认的COSPOWER和SECPOWER均为1.0。

10)Table——自定义表格垂直系数

与 HRMA 图一样,VRMA 图中的字符可由修饰属性进行进一步的控制,从而细化垂直系数,这个就不再赘述了。

3.路径距离分析在GIS中的应用

通过从前文的分析,通过水平与垂直两个方向上的各种标量,我们可以很有效的去顶两点的距离与路径,目前有很多GIS软都提供了路径分析功能,如ArcGIS,TransCAD,MapInfo等,但都是在2维平面上进行的。以 ArcGIS为例,它的ArcMap平台提供了一个称为Utility Network Analysis的工具栏来提供路径分析功能,但是在它的3维GIS平台ArcScene中却没有路径分析的工具ArcMap中的路径分析工具,其背后都是通过ArcObject组件对象模型COM实现的,该组件提供了众多的接口来实现GIS分析功能。而Arccene程序也能访问ArcObject组件,因此真正的区别在于:ArcScene展示的是一个3维空间。

在ArcScene平台中,如果用户点击在TIN以外的区域,则无法确定站点的位置;如果用户点击在TIN表面上,则通过调用ISceneGraph接口的Locate命令能确定该点的Z坐标,鼠标点击实际上定义了一条指向屏幕内部的射线,Locate命令计算并返回该射线与TIN的交点路径分析需要的站点必须位于道路网上,因此还要将得到的交点投影到道路网上这里用到了IPointToEID接口,该接口的GetNearestEdge方法将鼠标创建的点投影到最近的道路上。点是否能投影到道路上取决于捕捉容限SnapTolerance的大小捕捉容限小意味着离道路网稍远一些的点就无法投影到网络上,此处将捕捉容限设为TIN表面宽度和高度中的最大值。

总而言之,当需要计算最短路径的时候,需要考虑和前进方向有关的水平阻力因子和垂直阻力因子的时候,可以使用工具中的既定算法模型,通过配置参数达到目的,或者自定义表格自定义细化水平或垂直系数。

参考文献

[1]邬伦,等.地理信息系统—原理、方法和应用[M].北京:科学出版社,20012

[2]中地信息工程有限公司.MAPGIS地理信息系统开发手册[M].19983.

[3]王国印,等译.Visualc++技术内幕(第四版)[J].北京:清华大学出版社,1999.

[4]石俊卫,包世泰,冯煜.基于A*算法的山地最优路径分析[J].-现代计算机(普及版),2013(5).

猜你喜欢
斜率线性角度
渐近线性Klein-Gordon-Maxwell系统正解的存在性
神奇的角度
线性回归方程的求解与应用
物理图像斜率的变化探讨
一个涉及角度和的几何不等式链的改进
二阶线性微分方程的解法
角度不同
人啊
求斜率型分式的取值范围
基于子孔径斜率离散采样的波前重构