本发明属于道路交通图形处理
技术领域:
,涉及地图数据交叉口节点合并方法,更为具体的说,是涉及一种基于开放街道地图OSM(OpenStreetMap)的路网交叉口节点自动合并方法。
背景技术:
:交通系统具有动态性、随机性和不可再现性等特点,单纯依靠一系列简单假设的数学分析模型很难对其进行全面、准确的描述,同时,交通工程师对复杂路网系统建立数学模型并进行求解的能力有限。近年来,信息技术的不断发展使得计算机仿真技术(计算机图形学、计算机辅助设计与计算机辅助制造等新技术)在交通领域开始广泛的应用。交通仿真技术能够对城市交通战略、交通改善策略以及交通管理方案进行模拟和对比,提供交通决策相关定量分析数据支持,避免单凭经验和片面分析进行管理出现的问题。利用计算机技术建立道路网络模型具有低成本、可重用、可控制等优点,并可构建现实中难以实现的交通系统,从复杂的交通现象中抽离出本质,更经济地设计道路网络和解决交通问题。路网的计算机表达则需要大量的地理信息数据,人工操作耗费巨大,利用现有的地图数据则可以省下巨大的财力和物力。Openstreetmap,简称为OSM,是一款免费面向大众的开放、可编辑的地图服务。相对于其他的空间地理数据,OSM具有数据免费、更新及时和在欠发达及敏感地区数据的可获得性等优点,且在位置准确性、专题准确性、一致性及完整性方面符合一定的质量规范。在交通领域,可下载该数据并导入进交通仿真系统快速生成对应路网。然而,在路网表达上,对于城市主干路或快速路,OSM地图数据将同一条道路进口道和出口道用两条物理上分开的路段表示,虽然相较于用一条双向线段表示路段能更精细的描述交通网络特征,但会造成由主干路或快速路组成的道路交叉口节点从一个变为多个的情况,会造成以下问题:一方面交叉口增加的节点数会成倍的增加后续网络分配计算的时间,影响仿真评价结果的实时反馈;另一方面如果后续不对同一条道路交叉口进出口道连线进行禁行处理,会造成交通网络描述失真,以至在仿真过程中产生重大错误,而对上述交叉口部分路段实施手工禁行设置又大大增加了利用OSM地图数据生成路网并进行交通分配研究的时间成本和人力成本。技术实现要素:为解决上述问题,本发明公开了一种OSM地图数据中路网交叉口节点自动合并方法,将上述符合某些要求的交叉口的多个节点进行合并,提升道路网络分析计算速度,避免由于交叉口进出口道连线未进行禁行处理可能会产生的错误。为了达到上述目的,本发明提供如下技术方案:一种OSM地图数据中路网交叉口节点自动合并方法,包括如下步骤:步骤(1)利用OSM地图数据文件生成节点数据库和路段数据库,其中,节点数据库用于存放OSM地图数据文件中所有节点的ID和经纬度坐标值,路段数据库用于存放OSM地图数据文件中所有路段的起终节点ID和OSM中存在的其他路段属性值;步骤(2)从节点数据库和路段数据库中提取需要合并的交叉口节点;通过检查节点与节点之间的距离、节点之间的路段类型、节点之间的连接情况筛选出需要进行合并的主路与主路相交、主路与支路相交的交叉口,将这些交叉口的多个节点合并成一个节点,计算合并生成的节点经纬度坐标并赋予其节点ID值,并更新节点数据库和路段数据库。进一步的,所述步骤(2)包括如下子步骤:步骤(21)设有空集合A;逐一检查路段数据库中每一条路段是否为单一方向线路,并且该路段的道路类型属性值为以下属性值中的任意一种:城市快速干道、城市快速路、城市主干路,且该节点未存在于集合A中,则将该路段起点和终点的ID放入集合A中,直至所有路段都被检查完毕;步骤(22)设a为一个n行2列的数组,n为路段数据库中的路段条数;逐一将路段数据库中每一条路段的起点和终点ID分别放入数组a对应行的第1和第2列中,直至所有路段起终点ID都被放入数组a中;步骤(23)若集合A为空集,则结束自动合并工作,否则设集合A中的第一个节点为na;步骤(24)检查节点na在数组a中出现的次数,如果出现次数小于3次,将节点na从集合A中删除,返回步骤(23);如果na在数组a中出现的次数大于等于3次,