CN107704531B - 一种osm地图数据中路网交叉口节点自动合并方法 - Google Patents
一种osm地图数据中路网交叉口节点自动合并方法 Download PDFInfo
- Publication number
- CN107704531B CN107704531B CN201710856548.XA CN201710856548A CN107704531B CN 107704531 B CN107704531 B CN 107704531B CN 201710856548 A CN201710856548 A CN 201710856548A CN 107704531 B CN107704531 B CN 107704531B
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- database
- road
- deleting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种OSM地图数据中路网交叉口节点自动合并方法,利用OSM地图数据文件生成节点数据库和路段数据库,从两数据库中提取需要合并的交叉口节点;通过检查节点与节点之间的距离、节点之间的路段类型、节点之间的连接情况筛选出需要进行合并的主路与主路相交、主路与支路相交的交叉口,将这些交叉口的多个节点合并成一个节点,计算合并生成的节点经纬度坐标并赋予其节点ID值,并更新节点数据库和路段数据库。本发明减少了由OSM地图数据提取出的道路网络节点数,将大大缩短后续网络分配计算的时间,有助于分配结果的实时反馈;避免了对同一条道路交叉口进出口道连线进行手工禁行设置,节省了时间成本和人力成本。
Description
技术领域
本发明属于道路交通图形处理技术领域,涉及地图数据交叉口节点合并方法,更为具体的说,是涉及一种基于开放街道地图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次,则利用节点数据库中节点的经纬度坐标计算na与其他相连节点的距离,如果有且仅有2个节点与na的距离小于D,且这2个节点都在集合A中,分别设这2个节点为nb和nd,进入步骤(25),否则如果有且仅有1个节点与na的距离小于D且这个节点在集合A中,设该节点为nb并进入步骤(29),否则将节点na从集合A中删除,返回步骤(23);
步骤(25)检查节点nb在数组a中出现的次数,如果出现次数小于3次,则将节点na和nb从集合A中删除,返回步骤(23);如果nb在数组a中出现的次数大于等于3次,则利用节点数据库中节点的经纬度坐标计算nb与其他相连节点的距离,除去节点na外,如果有且仅有1个节点与nb的距离小于D,且该节点在集合A中,则设该节点为nc,进入步骤(26),否则将节点na和nb从集合A中删除,返回步骤(23);
步骤(26)检查节点nc在数组a中出现的次数,如果出现次数小于3次,则将节点na、nb和nc从集合A中删除,返回步骤(23);如果nc在数组a中出现的次数大于等于3次,则利用节点数据库中节点的经纬度坐标计算nc与其他相连节点的距离,如果有且仅有nb和nd这2个节点与nc的距离小于D,则进入步骤(27),否则将节点na、nb和nc从集合A中删除,返回步骤(23);
步骤(27)检查节点nd在数组a中出现的次数,如果出现次数小于3次,则将节点na、nb、nc和nd从集合A中删除,返回步骤(23);如果nd在数组a中出现的次数大于等于3次,则利用节点数据库中节点的经纬度坐标计算nd与其他相连节点的距离,如果有且仅有na和nc这2个节点与nd的距离小于D,则进入步骤(28),否则将节点na、nb、nc和nd从集合A中删除,返回步骤(23);
步骤(28)设经过节点na和nc的直线为L1,经过节点nb和nd的直线为L2,令L1和L2相交得到交点ne;设现有节点数据库NodeBase中节点最大ID值为id_max,赋予交点ne的ID为id_max+1,将节点数据库NodeBase中的节点na,nb,nc和nd的信息删除,添加交点ne的ID、经纬度坐标值至NodeBase中;将路段数据库WayBase中路段起点或终点为na或nb或nc或nd的节点替换成节点ne后,再删除路段起终点都为ne的路段;在集合A中删除节点na,nb,nc和nd,返回步骤(23);
步骤(29)检查节点nb在数组a中出现的次数,如果出现次数小于3次,则将节点na和nb从集合A中删除,返回步骤(23);如果nb在数组a中出现的次数大于等于3次,则利用节点数据库NodeBase中节点的经纬度坐标计算nb与其他相连节点的距离,如果有且仅有节点na与nb的距离小于D,进入步骤(210),否则在集合A中删除节点na和nb后返回步骤(23);
步骤(210)设na和nb连线的中点为ne,设现有节点数据库NodeBase中节点最大ID值为id_max,赋予交点ne的ID为id_max+1,将节点数据库NodeBase中的节点na和nb的信息删除,添加交点ne的ID、经纬度坐标值至NodeBase中;将路段数据库WayBase中路段起点或终点为na或nb的节点替换成节点ne后,再删除路段起终点都为ne的路段;在集合A中删除节点na和nb后返回步骤(23)。
进一步的,所述步骤(24)、(25)、(26)、(27)、(29)中D为35米。
与现有技术相比,本发明具有如下优点和有益效果:
减少了由OSM地图数据提取出的道路网络节点数,将大大缩短后续网络分配计算的时间,有助于分配结果的实时反馈;避免了对同一条道路交叉口进出口道连线进行手工禁行设置,大大减少了利用OSM地图数据生成路网并进行交通分配研究的时间成本和人力成本。
附图说明
图1为本发明提供的OSM地图数据中路网交叉口节点自动合并方法流程图。
图2为本发明实施例中区域地图示例图。
图3为本发明实施例中两条主路相交行成的交叉口的合并示意图;
图4为本发明实施例中一条主路一条支路相交行成的交叉口的合并示意图;
图5为本发明实施例中未经合并前的路网计算机抽象示意图;
图6为本发明实施例中经过合并后的路网计算机抽象示意图。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
本发明以南京市河西区奥林匹克体育中心附近路网为实施例进行说明,该区域在Openstreetmap中的地图如图2所示。本发明提供的一种OSM地图数据中路网交叉口节点自动合并方法,其流程如图1所示,具体包括如下步骤:
步骤(1)利用OSM地图数据文件生成节点数据库NodeBase和路段数据库WayBase,其中,节点数据库NodeBase存放OSM地图数据文件中所有节点的ID(数字编号)和经纬度坐标值,路段数据库WayBase存放OSM地图数据文件中所有路段的起终节点ID和OSM中存在的其他路段属性值;
本实施例中,下载并读取选定区域的OSM地图数据,生成的节点数据库NodeBase文件和路段数据库WayBase文件截取部分如表1和表2所示。
表1 节点数据库NodeBase部分数据
路段起点 | 路段终点 | oneway | highway |
…… | …… | …… | …… |
106 | 107 | yes | trunk |
107 | 284 | yes | primary |
284 | 285 | yes | trunk |
285 | 106 | yes | primary |
107 | 108 | yes | trunk |
189 | 284 | yes | trunk |
189 | 108 | no | secondary |
108 | 189 | no | secondary |
108 | 109 | yes | trunk |
175 | 189 | yes | trunk |
109 | 175 | no | secondary |
201 | 107 | yes | primary |
106 | 200 | yes | primary |
67 | 106 | yes | trunk |
285 | 260 | yes | trunk |
216 | 285 | yes | primary |
284 | 10 | yes | primary |
189 | 284 | yes | trunk |
107 | 108 | yes | Trunk |
188 | 108 | no | secondary |
9 | 189 | no | secondary |
…… | …… | …… | …… |
表2 路段数据库WayBase部分数据
步骤(2)从节点数据库NodeBase和路段数据库WayBase中提取需要合并的交叉口节点;计算合并生成的节点经纬度坐标并赋予其节点ID值;更新节点数据库NodeBase和路段数据库WayBase;本步骤依次包括子步骤:
步骤(21)设有空集合A;逐一检查路段数据库WayBase中每一条路段是否包含“oneway”属性,如果包含“oneway”属性且该属性值为“yes”(“oneway”属性表示该路段是否为单一方向线路,如果是yes则表示是单一方向),并且该路段的“highway”(道路类型)属性值为“motorway”(城市快速干道)或“trunk”(城市快速路)或“primary”(城市主干路),则将该路段起点和终点的ID放入集合A中,集合A中元素不能重复,即如果该节点已经存在于集合A中,则不再将该点放入A中,直至所有路段都被检查完毕;
步骤(22)令路段数据库WayBase中的路段条数为n,设a为一个n行2列的数组;逐一将路段数据库WayBase中每一条路段的起点和终点ID(数字编号)分别放入数组a对应行的第1和第2列中,直至所有路段起终点ID都被放入数组a中;
步骤(23)若集合A为空集,则结束自动合并工作,否则设集合A中的第一个节点为na;
步骤(24)检查节点na在数组a中出现的次数,出现次数表示该节点在网络中与几个节点连接,如果出现次数小于3次,表示该节点不是需要合并的交叉口节点,将节点na从集合A中删除,返回步骤(23);如果na在数组a中出现的次数大于等于3次,则利用节点数据库NodeBase中节点的经纬度坐标计算na与其他相连节点的距离,如果有且仅有2个节点与na的距离小于D,且这2个节点都在集合A中,则表示该交叉口为主路与主路相交交叉口,分别设这2个节点为nb和nd,进入步骤(25),否则如果有且仅有1个节点与na的距离小于D且这个节点在集合A中,则表示该交叉口可能为主路与支路相交交叉口,设该节点为nb并进入步骤(29),否则将节点na从集合A中删除,返回步骤(23);
本实例中,当na为节点106时,进入步骤(24)。na在数组a中出现4次,分别与节点107,200,285和67相连,上述四个节点与节点106的距离分别为18.54米,507米,26.45米和892.16米,发现只有两个距离小于D,本例中D取35米,因此设节点285为nb,节点107为nd,进入步骤(25);
当进入步骤(24)na为节点108时,节点108在数组a中出现4次,分别与节点107,188,189,和109连接,上述四个节点与节点106的距离分别为312.51米,510.14米,25.15米和286.16米,发现只有一个距离小于35米,因此设节点189为nb,进入步骤(29);
步骤(25)检查节点nb在数组a中出现的次数,如果出现次数小于3次,则将节点na和nb从集合A中删除,返回步骤(23);如果nb在数组a中出现的次数大于等于3次,则利用节点数据库NodeBase中节点的经纬度坐标计算nb与其他相连节点的距离,除去节点na外,如果有且仅有1个节点与nb的距离小于D,且该节点在集合A中,则设该节点为nc,进入步骤(26),否则将节点na和nb从集合A中删除,返回步骤(23);
本实例中,当na为节点106,nb为节点285,nd为节点107时,nb在数组a中出现4次,分别与节点260,216,284和106相连,上述四个节点与nb的距离分别为279.87米,351.56米,18.46米和26.45米,发现除na,即节点106外,只有一个距离小于35米,因此设节点284为nc;
步骤(26)检查节点nc在数组a中出现的次数,如果出现次数小于3次,则将节点na、nb和nc从集合A中删除,返回步骤(23);如果nc在数组a中出现的次数大于等于3次,则利用节点数据库NodeBase中节点的经纬度坐标计算nc与其他相连节点的距离,如果有且仅有nb和nd这2个节点与nc的距离小于D,则进入步骤(27),否则将节点na、nb和nc从集合A中删除,返回步骤(23);
本实例中,当na为节点106,nb为节点285,nc为节点284,nd为节点107时,nc在数组a中出现4次,分别与节点10,189,107和285相连,上述四个节点与nc的距离分别为352.4米,313.68米,26.38米和18.46米,发现只有与nb和nd距离小于35米,进入步骤(27);
步骤(27)检查节点nd在数组a中出现的次数,如果出现次数小于3次,则将节点na、nb、nc和nd从集合A中删除,返回步骤(23);如果nd在数组a中出现的次数大于等于3次,则利用节点数据库NodeBase中节点的经纬度坐标计算nd与其他相连节点的距离,如果有且仅有na和nc这2个节点与nd的距离小于D,则进入步骤(28),否则将节点na、nb、nc和nd从集合A中删除,返回步骤(23);
本实例中,当na为节点106,nb为节点285,nc为节点284,nd为节点107时,如图3(a)所示,nd在数组a中出现4次,分别与节点201,106,284和108相连,上述四个节点与nc的距离分别为507.03米,18.54米,26.38米和312.51米,发现只有与na和nc距离小于35米,进入步骤(28);
步骤(28)设经过节点na和nc的直线为L1,经过节点nb和nd的直线为L2,令L1和L2相交得到交点ne;设现有节点数据库NodeBase中节点最大ID值为id_max,赋予交点ne的ID为id_max+1,将节点数据库NodeBase中的节点na,nb,nc和nd的信息删除,添加交点ne的ID、经纬度坐标值至NodeBase中;将路段数据库WayBase中路段起点或终点为na或nb或nc或nd的节点替换成节点ne后,再删除路段起终点都为ne的路段;在集合A中删除节点na,nb,nc和nd,返回步骤(23);
本实例中,根据na,nb,nc和nd的经纬度坐标计算得到交点ne的经纬度为(118.7219569,32.00466321),如图3(b)所示;此时节点数据库NodeBase中节点最大ID值为583,因此将ne的ID设为584,删除节点数据库NodeBase中na(节点106),nb(节点285),nc(节点284)和nd(节点107)的信息,添加ne的信息;将路段数据库WayBase中的路段(起点106,终点107),(107,284),(284,285),(285,106),(107,108),(201,107),(106,200),(67,106),(285,260),(216,285),(284,10),(189,284),(107,108)中有节点106或285或284或107的全都替换成584,再删除起终点都为584的路段,得到新的路段数据库WayBase;在集合A中删除节点106,285,284和107后,返回步骤(23);
步骤(29)检查节点nb在数组a中出现的次数,如果出现次数小于3次,则将节点na和nb从集合A中删除,返回步骤(23);如果nb在数组a中出现的次数大于等于3次,则利用节点数据库NodeBase中节点的经纬度坐标计算nb与其他相连节点的距离,如果有且仅有节点na与nb的距离小于D,进入步骤(210),否则在集合A中删除节点na和nb后返回步骤(23);
本实例中,当na为节点108,nb为节点189时,如图4(a)所示,nb在数组a中出现4次,分别与节点108,284,9,和175连接,上述四个节点与nb的距离分别为25.15米,313.68米,367.86米和287.09米,发现nb只有与na的距离小于35米,进入步骤(210);
步骤(210)设na和nb连线的中点为ne,设现有节点数据库NodeBase中节点最大ID值为id_max,赋予交点ne的ID为id_max+1,将节点数据库NodeBase中的节点na和nb的信息删除,添加交点ne的ID、经纬度坐标值至NodeBase中;将路段数据库WayBase中路段起点或终点为na或nb的节点替换成节点ne后,再删除路段起终点都为ne的路段;在集合A中删除节点na和nb后返回步骤(23)。
本实例中,na和nb的连线中点ne经纬度坐标为(118.7199972,32.00229205),如图4(b)所示,此时节点数据库NodeBase中节点最大ID值为584,因此将ne的ID设为585,删除节点数据库NodeBase中na(节点108)和nb(节点189)的信息,添加ne的信息;将路段数据库WayBase中的路段(起点584,终点108),(189,108),(108,189),(108,109),(584,108),(188,108),(189,584),(175,189),(189,584),(9,189)中有节点108或189的全都替换成585,再删除起终点都为585的路段,得到新的路段数据库WayBase;在集合A中删除节点108和189后,返回步骤(23);
将节点经纬度坐标转化为平面坐标系,并结合节点数据库NodeBase和路段数据库WayBase可以将OSM地图数据文件进行可视化,未进行本专利所属的节点合并前,图形显示结果如图5所示,可以看到很多交叉口都包含了多个节点;而通过本发明方法进行节点自动合并后,结果如图6所示。从图中可以看出,多节点交叉口都被合并成了一个节点表示的交叉口,这将大大方便后续交通网络分配工作的展开,将大大缩短后续网络分配计算的时间,有,同时避免了对同一条道路交叉口进出口道连线进行手工禁行设置。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (2)
1.一种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次,则利用节点数据库中节点的经纬度坐标计算na与其他相连节点的距离,如果有且仅有2个节点与na的距离小于D,且这2个节点都在集合A中,分别设这2个节点为nb和nd,进入步骤(25),否则如果有且仅有1个节点与na的距离小于D且这个节点在集合A中,设该节点为nb并进入步骤(29),否则将节点na从集合A中删除,返回步骤(23);
步骤(25)检查节点nb在数组a中出现的次数,如果出现次数小于3次,则将节点na和nb从集合A中删除,返回步骤(23);如果nb在数组a中出现的次数大于等于3次,则利用节点数据库中节点的经纬度坐标计算nb与其他相连节点的距离,除去节点na外,如果有且仅有1个节点与nb的距离小于D,且该节点在集合A中,则设该节点为nc,进入步骤(26),否则将节点na和nb从集合A中删除,返回步骤(23);
步骤(26)检查节点nc在数组a中出现的次数,如果出现次数小于3次,则将节点na、nb和nc从集合A中删除,返回步骤(23);如果nc在数组a中出现的次数大于等于3次,则利用节点数据库中节点的经纬度坐标计算nc与其他相连节点的距离,如果有且仅有nb和nd这2个节点与nc的距离小于D,则进入步骤(27),否则将节点na、nb和nc从集合A中删除,返回步骤(23);
步骤(27)检查节点nd在数组a中出现的次数,如果出现次数小于3次,则将节点na、nb、nc和nd从集合A中删除,返回步骤(23);如果nd在数组a中出现的次数大于等于3次,则利用节点数据库中节点的经纬度坐标计算nd与其他相连节点的距离,如果有且仅有na和nc这2个节点与nd的距离小于D,则进入步骤(28),否则将节点na、nb、nc和nd从集合A中删除,返回步骤(23);
步骤(28)设经过节点na和nc的直线为L1,经过节点nb和nd的直线为L2,令L1和L2相交得到交点ne;设现有节点数据库NodeBase中节点最大ID值为id_max,赋予交点ne的ID为id_max+1,将节点数据库NodeBase中的节点na,nb,nc和nd的信息删除,添加交点ne的ID、经纬度坐标值至NodeBase中;将路段数据库WayBase中路段起点或终点为na或nb或nc或nd的节点替换成节点ne后,再删除路段起终点都为ne的路段;在集合A中删除节点na,nb,nc和nd,返回步骤(23);
步骤(29)检查节点nb在数组a中出现的次数,如果出现次数小于3次,则将节点na和nb从集合A中删除,返回步骤(23);如果nb在数组a中出现的次数大于等于3次,则利用节点数据库NodeBase中节点的经纬度坐标计算nb与其他相连节点的距离,如果有且仅有节点na与nb的距离小于D,进入步骤(210),否则在集合A中删除节点na和nb后返回步骤(23);
步骤(210)设na和nb连线的中点为ne,设现有节点数据库NodeBase中节点最大ID值为id_max,赋予交点ne的ID为id_max+1,将节点数据库NodeBase中的节点na和nb的信息删除,添加交点ne的ID、经纬度坐标值至NodeBase中;将路段数据库WayBase中路段起点或终点为na或nb的节点替换成节点ne后,再删除路段起终点都为ne的路段;在集合A中删除节点na和nb后返回步骤(23)。
2.根据权利要求1所述的OSM地图数据中路网交叉口节点自动合并方法,其特征在于,所述步骤(24)、(25)、(26)、(27)、(29)中D为35米。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710856548.XA CN107704531B (zh) | 2017-09-21 | 2017-09-21 | 一种osm地图数据中路网交叉口节点自动合并方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710856548.XA CN107704531B (zh) | 2017-09-21 | 2017-09-21 | 一种osm地图数据中路网交叉口节点自动合并方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107704531A CN107704531A (zh) | 2018-02-16 |
CN107704531B true CN107704531B (zh) | 2021-03-23 |
Family
ID=61173214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710856548.XA Active CN107704531B (zh) | 2017-09-21 | 2017-09-21 | 一种osm地图数据中路网交叉口节点自动合并方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704531B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928974A (zh) * | 2019-12-02 | 2020-03-27 | 成都信息工程大学 | 基于Kml生成及融点简化路网的方法 |
CN111881235B (zh) * | 2020-07-01 | 2022-02-01 | 广州小鹏自动驾驶科技有限公司 | 一种语义地图更新方法及装置、车辆、存储介质 |
CN111829543B (zh) * | 2020-07-15 | 2022-01-11 | 腾讯科技(深圳)有限公司 | 导航数据处理方法、装置 |
CN113190642B (zh) * | 2021-07-02 | 2021-10-08 | 中山大学 | 一种城市路网架构连接线错误修正方法 |
CN114328594B (zh) * | 2021-11-25 | 2022-11-01 | 北京掌行通信息技术有限公司 | 一种车辆的行驶路径判定方法、装置、存储介质及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1542225A (zh) * | 2003-11-07 | 2004-11-03 | 雍尚平 | 在信号交叉口一种新型的车道设置方式及其交通控制组织 |
CN101639850A (zh) * | 2009-06-01 | 2010-02-03 | 北京四维图新科技股份有限公司 | 一种道路网络数据的合并方法及合并装置 |
CN102194312A (zh) * | 2010-03-05 | 2011-09-21 | 高德软件有限公司 | 一种道路合并方法及道路合并装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8775073B2 (en) * | 2008-05-30 | 2014-07-08 | Navteq B.V. | Data mining in a digital map database to identify insufficient merge lanes along roads and enabling precautionary actions in a vehicle |
US9008953B2 (en) * | 2011-10-24 | 2015-04-14 | Telenav, Inc. | Navigation system with turn restriction mechanism and method of operation thereof |
-
2017
- 2017-09-21 CN CN201710856548.XA patent/CN107704531B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1542225A (zh) * | 2003-11-07 | 2004-11-03 | 雍尚平 | 在信号交叉口一种新型的车道设置方式及其交通控制组织 |
CN101639850A (zh) * | 2009-06-01 | 2010-02-03 | 北京四维图新科技股份有限公司 | 一种道路网络数据的合并方法及合并装置 |
CN102194312A (zh) * | 2010-03-05 | 2011-09-21 | 高德软件有限公司 | 一种道路合并方法及道路合并装置 |
Non-Patent Citations (2)
Title |
---|
OSM:An Evolutionary System of Systems Framework for Modeling and Simulation;Clinton M.Winfrey;《Proceedings of the 2014 Annual Simulation Symposium》;20140430;第1-8页 * |
基于结构模式的道路网节点匹配方法;栾学晨等;《测绘学报》;20130815;第608-614页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107704531A (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704531B (zh) | 一种osm地图数据中路网交叉口节点自动合并方法 | |
Peuquet | Time in GIS and geographical databases | |
CN107038259B (zh) | 一种构造交通路网数据的作业方法及其系统 | |
CN110298553A (zh) | 一种基于gis的国土空间规划方法、系统和设备 | |
CN105117573B (zh) | 基于cad排水管网图纸信息的自动水力模型构建方法 | |
Xiong et al. | Will the land supply structure affect the urban expansion form? | |
CN104866654A (zh) | 一种一体化城市动态交通仿真平台的构建方法 | |
CN101145218A (zh) | 一种道路自动编码系统 | |
CN110781267A (zh) | 一种基于地理国情的多尺度空间分析评价方法及系统 | |
CN104748757B (zh) | 一种导航电子地图数据更新方法及装置 | |
CN114238542A (zh) | 多源交通gis路网多层级实时融合更新方法 | |
CN108376183A (zh) | 一种基于最大熵原理的城市ca模型构建方法 | |
CN112818071A (zh) | 一种基于统一路网的交管领域知识图谱构建方法及装置 | |
CN115292507A (zh) | 基于知识图谱的交通出行分析方法、装置、设备及介质 | |
CN101916267B (zh) | 应用于道路系统空间数据资源管理的智能空间数据对象建模方法 | |
Wang et al. | Research and application of traffic visualization based on vehicle GPS big data | |
CN112215864B (zh) | 电子地图的轮廓处理方法、装置及电子设备 | |
CN105741280A (zh) | 一种模糊数学矢量分区评价方法及装置 | |
CN111383450B (zh) | 一种交通路网的描述方法及装置 | |
CN106203887A (zh) | 一种基于交叉分类法的公路网特性分析方法及装置 | |
CN108764518A (zh) | 一种基于物联网大数据的交通资源动态优化方法 | |
Gopalan | WRAPHydro data model: finding input parameters for the water rights analysis package | |
CN111914039B (zh) | 道路网更新方法及装置 | |
Siejka et al. | Correction of topological errors in geospatial databases | |
CN107423520A (zh) | 基于cad二次开发快速提取管线信息swmm建模方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |