网络分析之动态路况

来源:互联网 发布:javascript 跳出循环 编辑:程序博客网 时间:2024/04/29 09:59

在交通部门的地图网站上,经常能看到实时的路况的展示,有堵塞或者是封闭的道路会用不同的颜色表示,将鼠标放到这条路上就能看到道路的实时路况。如下图所示

 

$2$2$2$2$2$2$2$2$2$2$2$2$2$2

接下来我们就看一下通过ArcGIS进行动态路况展示是如何实现的。

$1__VE_ITEM__1     数据处理

进行动态路况展示的道路数据,首先进行预处理比如说增加相应的字段。必须的字段有线路编号、起始里程和终止里程。

字段名称

中文说明

字段类型

说明

*RN

线路编号

Text

线路编号,如“G102”

*From_M

起始里程

DOUBLE

按数字化方向,单位:公里

*To_M

终止里程

DOUBLE

按数字化方向,单位:公里

接下来我们需要了解下动态分段。做过交通行业的人,可能对这个已经很熟悉了。因为在进行动态展示路况时候,对道路进行位置确定不是采用经纬度或者是XY来定位的,而是采用动态分段的里程值来定位的。

       动态分段(Dynamic Segment)的思想是由美国威斯康星交通厅戴维·弗莱特先生于1987年首先提出的,其实质是对于同一个线性特征,可以根据不同的量测标准得到不同的相对位置划分方案,从而增强线性特征的处理功能。如给定一条公路由多路段组成,要求标注出这条路上的里程点或要求定位某一点,标注出某条路上从某一里程值到另一里程值的路段。为了使公路信息以动态分段的思想来组织,必须实现如下几点:

        ① 建立独立于属性数据组织的空间数据库。将路网中的每条公路,数字化为多义线(Polyline)存储。

        ② 建立标明多义线方向的属性表,它与空间数据库之间的关系必须是一一对应的关系。属性表内字段必须标明多义线的起止桩号及多义线方向,如表:

                               多义线方向属性表

路径方向

多义线起始里程

多义线终止里程

0

$2

$2

1

$2

$2

        ③为路面信息管理系统中,根据路面数据中的道路状况属性的数值,对一条道路进行动态分段显示。其中绿色代表优,数值在90-100之间;蓝代表良,数值在80-90之间;黄色代表中,数值在70-80之间;红色代表次,数值在60-70之间;灰色代表差,数值在60以下。

       

$1__VE_ITEM__2     创建路径要素类

上面说了很多的动态分段的理论知识,实际到了ArcGIS就是一个ArcToolBox工具解决的事。利用ArcToolbox->线性参考工具->创建道路。

    

可以基于现有线要素类及其起止里程字段来生成路径要素类,并自动计算好M值(M值是在线的每个结点都计算出该点的里程值),如图所示。

    

$1__VE_ITEM__3     校准路径要素类

通过上述方法生成的路径要素类是利用动态分段方法自动计算的里程值,可能与实际的里程有误差,那么可以采集一些控制点对路

径进行校准。

进行路径校准时,首先采集一些控制点建立校准点要素类,该要素类的属性结构如表所示:

字段名称

中文说明

字段类型

说明

*RN

线路编号

Text

线路编号,与表2-1中对应

*Measures

里程值

DOUBLE

某一点的实际里程值,单位:公里

然后用ArcToolbox->线性参考工具->校正路径的工具进行校准,如图所示:

         

         

$1__VE_ITEM__4     生成路径事件

         路径和事件表都准备好后就可以添加路径事件(Route Events)了,利用ArcToolbox->线性参考工具->创建路径事件图层。如图所示:

              

        这里需要注意一下“输入事件表”,输入事件表将需要动态显示的信息列成一张表,就如文章一开始看到的,如“受阻路段的名称”,“异常原因”,“通行情况”等,最重要的是要建设一个“道路编号”来和道路图层关联。

        生成好后,路径事件将作为一个临时图层加载到ArcMap中,我们可根据“ControlType”字段对图层进行渲染,如图

            

最后将该地图发布成动态地图服务。