[發明專利]一種OSM地圖數據中路網交叉口節點自動合并方法有效
| 申請號: | 201710856548.X | 申請日: | 2017-09-21 |
| 公開(公告)號: | CN107704531B | 公開(公告)日: | 2021-03-23 |
| 發明(設計)人: | 王煒;丁浩洋;汪宇軒 | 申請(專利權)人: | 東南大學 |
| 主分類號: | G06F16/29 | 分類號: | G06F16/29;G06F16/23 |
| 代理公司: | 南京眾聯專利代理有限公司 32206 | 代理人: | 葉涓涓 |
| 地址: | 211189 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 osm 地圖 數據 路網 交叉口 節點 自動 合并 方法 | ||
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米。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東南大學,未經東南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710856548.X/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





