KR20230063199A - Turn-based optimal path search method and system - Google Patents

Turn-based optimal path search method and system Download PDF

Info

Publication number
KR20230063199A
KR20230063199A KR1020210148195A KR20210148195A KR20230063199A KR 20230063199 A KR20230063199 A KR 20230063199A KR 1020210148195 A KR1020210148195 A KR 1020210148195A KR 20210148195 A KR20210148195 A KR 20210148195A KR 20230063199 A KR20230063199 A KR 20230063199A
Authority
KR
South Korea
Prior art keywords
rotation
link
data
node
travel time
Prior art date
Application number
KR1020210148195A
Other languages
Korean (ko)
Other versions
KR102668821B1 (en
Inventor
홍영석
Original Assignee
명지대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 명지대학교 산학협력단 filed Critical 명지대학교 산학협력단
Priority to KR1020210148195A priority Critical patent/KR102668821B1/en
Publication of KR20230063199A publication Critical patent/KR20230063199A/en
Application granted granted Critical
Publication of KR102668821B1 publication Critical patent/KR102668821B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Navigation (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An optimal path finding system, which reads node data consisting of node IDs and coordinates, link data consisting of link IDs, departure node IDs, and arrival node IDs, and rotation constraint data containing information about rotatability from a server to find the optimal path, comprises: a rotation-based rotation data construction unit which generates the rotation movable from a link included in the link data to an adjacent link, and constructs a rotation-based rotation data structure including rotation IDs, departure link IDs, arrival link IDs, or travel times of the generated rotation; a travel time extraction unit which extracts travel times corresponding to the rotation IDs from rotation data stored on the server and stores the travel times in the rotation-based rotation data constructed by the rotation-based rotation data construction unit; and a rotation-based path finding unit which extracts the optimal path based on the rotation-based rotation data constructed by the rotation-based rotation data construction unit. Therefore, the optimal path finding system can extract the optimal path considering travel times.

Description

회전기반 최적경로 탐색 방법 및 시스템{TURN-BASED OPTIMAL PATH SEARCH METHOD AND SYSTEM}Turn-based optimal path search method and system {TURN-BASED OPTIMAL PATH SEARCH METHOD AND SYSTEM}

본 발명은 최적경로 탐색 방법 및 시스템에 관한 것으로서, 차량용 내비게이션 분야와 교통정보 제공 분야에서 활용될 수 있도록 회전시간을 고려하여 최적경로를 탐색하는 회전기반 최적경로 탐색 방법 및 시스템에 관한 것이다.The present invention relates to an optimal route search method and system, and more particularly, to a rotation-based optimal route search method and system that searches for an optimal route in consideration of rotation time so that it can be used in the field of vehicle navigation and the field of providing traffic information.

LTE 및 5G 이동통신 기술의 발전으로 모바일 기반 내비게이션과 차내 내비게이션 사용자가 지속적으로 증가하고 있다. 그러나, 현재 내비게이션 시스템은 과거 10여년 전에 만들어진 기술 표준으로 인해 링크기반 통행시간을 적용함에 따라 복잡한 네트워크에서 종종 오경로를 제공하기도 한다. With the development of LTE and 5G mobile communication technologies, the number of users of mobile-based navigation and in-vehicle navigation continues to increase. However, current navigation systems often provide incorrect routes in complex networks as link-based travel time is applied due to a technical standard established 10 years ago.

교차로에서는 직진, 좌회전, 우회전으로 방향이 분리되고 방향별로 신호시간과 교통량의 차이로 인하여 통행특성이 상이하게 나타날 수 있다. 이러한 상이한 특성을 방향별로 분리하여 집계한 교통정보를 회전 교통정보라고 한다. 기존의 최적경로 탐색 알고리즘은 링크기반으로 만들어짐에 따라 도시부 교차로의 회전 교통정보를 반영하지 못하여 좌회전, 직진의 비대칭 통행시간을 고려하지 못하고 평균화된 링크 통행시간을 사용함에 따라 잘못된 경로를 제공할 수 있다.At intersections, directions are divided into straight ahead, left turn, and right turn, and traffic characteristics may appear differently due to differences in signal time and traffic volume for each direction. Traffic information obtained by dividing and aggregating these different characteristics by direction is referred to as rotational traffic information. Existing optimal route search algorithms do not reflect turn traffic information of urban intersections as they are made based on links, and thus do not consider left turn and straight forward asymmetric travel times. can

도 1은 최적경로 탐색 방법에 대한 개념도로서, 도 1의 (a)는 서버로부터 제공되는 네트워크 정보가 표시된 개념도를 나타내고, 도 1의 (b)는 링크기반 경로탐색 방법에 대한 개념도를 나타내고, 도 1의 (c)는 회전기반 경로탐색 방법에 대한 개념도를 나타낸다.1 is a conceptual diagram of an optimal path search method, FIG. 1 (a) shows a conceptual diagram showing network information provided from a server, and FIG. 1 (b) shows a conceptual diagram of a link-based path search method. 1(c) shows a conceptual diagram of the rotation-based route search method.

도 1의 (a)를 참조하면, 일반적인 도시부 도로의 교통정보는 노드에서 노드사이를 이동하는데 소요되는 시간인 링크통행시간과 링크에서 링크를 이동하는데 소요되는 시간인 회전통행시간으로 제공될 수 있다. 여기서 회전통행시간이란 교차로에서 좌회전, 우회전, 또는 직진으로 구분되는 회전의 방향별 통행시간을 의미한다. Referring to (a) of FIG. 1, traffic information on general urban roads may be provided as link travel time, which is the time required to move from node to node, and turn travel time, which is the time required to move from link to link. there is. Here, the turn travel time means the travel time for each direction of a turn divided into a left turn, a right turn, or going straight at an intersection.

도 1의 (b)를 참조하면, 기존의 링크기반의 경로탐색에 대한 개념으로 출발지에서 도착지까지의 최적경로를 탐색함에 있어 링크통행시간을 사용하여 계산할 수 있다. 링크통행시간을 이용하면 396.7초가 소요되는 경로가 최적경로로 추출될 수 있다. Referring to (b) of FIG. 1, as a concept of the existing link-based path search, when searching for an optimal path from a starting point to a destination, it can be calculated using a link travel time. Using the link travel time, a route that takes 396.7 seconds can be extracted as an optimal route.

도 1의 (c)를 참조하면, 회전기반의 경로탐색에 대한 개념으로 최적경로를 탐색함에 있어 회전통행시간을 사용하여 계산할 수 있다. 회전통행시간을 이용하면 380초가 소요되는 경로가 최적경로로 추출될 수 있다. 이처럼 회전통행시간을 고려할 경우 링크통행시간을 사용하는 경우보다 더 빠르게 이동할 수 있는 최적경로가 추출될 수 있다. 회전을 고려하지 않고 링크통행시간만 고려하여 추출한 경로는 오경로가 될 수 있다. 이러한 오경로로 인해 특정 교차로의 경우 좌회전 교통량이 기존 패턴 대비 증가하는 경우가 발생하고 이로 인하여 혼잡이 증가하게 되는 부작용이 나타나고 있다.Referring to (c) of FIG. 1, as a concept for a turn-based route search, it can be calculated using a turn travel time when searching for an optimal route. Using the turnaround time, a route that takes 380 seconds can be extracted as an optimal route. In this way, if the rotation travel time is considered, an optimal route that can move faster than in the case of using the link travel time can be extracted. A path extracted by considering only the link travel time without considering rotation may be a false path. Due to this misroute, left-turn traffic at a specific intersection may increase compared to the existing pattern, resulting in side effects such as increased congestion.

향후 회전별 통행시간 생성이 이루어질 경우, 이로 인해 내비게이션 시스템의 기술 표준이 변화될 필요가 있다. 내비게이션 시스템의 기반 기술인 최적경로탐색 기술도 링크기반에서 회전기반으로의 변화가 필요하며, 이에 따른 회전기반 네트워크 구조에 대한 개념정립이 요구된다. If travel time per turn is generated in the future, it is necessary to change the technical standard of the navigation system. The optimal path search technology, which is the base technology of the navigation system, also requires a change from a link-based to a rotation-based one, and accordingly, the establishment of the concept of a rotation-based network structure is required.

네트워크 사이즈 증가로 인해 탐색시간의 증가를 해소할 수 있도록 탐색기술의 기능 개선도 요구된다. 기존 알고리즘의 경우 자료구조를 heap 또는 bucket 등 개발자가 가장 선호하는 하나의 자료구조를 활용하는데 회전기반으로 데이터를 구축할 경우 링크 기반 대비 데이터 사이즈가 증가하게 되어 단일 자료구조를 사용할 경우 탐색시간이 증가하게 된다.Functional improvement of search technology is also required to solve the increase in search time due to the increase in network size. In the case of existing algorithms, one data structure that is most preferred by developers, such as heap or bucket, is used as the data structure. When data is built on a rotation basis, the data size increases compared to link-based data structures, so search time increases when a single data structure is used. will do

기존 경로탐색 알고리즘에 회전 금지, U-Turn, 또는 P-Turn이 구현되도록 회전제약 또는 회전허용 데이터를 구축하고 이를 알고리즘에 반영함으로써 현실적인 경로 탐색이 이루어지게 모형이 구성되면 회전제약 또는 회전허용을 계산하여야 하는지 노드에서 이를 파악하기 위해 별도의 연산이 이루어 짐에 따라 탐색시간이 증가할 수 있다. Establish rotation constraints or rotation permitting data to implement rotation prohibition, U-Turn, or P-Turn in the existing path search algorithm, and calculate rotation constraints or rotation allowances when the model is configured to achieve realistic path search by reflecting it to the algorithm. The search time may increase as a separate operation is performed to determine whether the node should do this.

전술한 바와 같이, 기존의 링크기반의 최적경로 탐색은 회전통행시간을 고려하지 않으므로 오경로가 추출될 수 있는데, 이러한 문제의식은 제시되지 못하고 있다. 또한, 회전통행시간을 고려하는 경우 데이터 사이즈가 증가하여 탐색시간을 단축하기 위한 데이터 구조 및 알고리즘도 요구된다. As described above, since the existing link-based optimal route search does not consider the round trip time, a wrong route can be extracted, but such a critical mind has not been presented. In addition, a data structure and algorithm for reducing the search time are required due to the increase in data size when the round trip time is considered.

본 발명은 최적경로 탐색 방법 및 시스템에 있어서, 회전기반으로 데이터를 구축하여 회전시간이 고려된 최적경로를 추출할 수 있는 최적경로 탐색 방법 및 시스템을 제공하는 것을 일 목적으로 한다. An object of the present invention is to provide an optimal path search method and system capable of extracting an optimal path considering rotation time by constructing rotation-based data.

또한, 본 발명은 하이브리드 데이터 구조를 이용하여 알고리즘의 성능을 개선하는 것을 다른 목적으로 한다. Another object of the present invention is to improve algorithm performance using a hybrid data structure.

본 발명은, 노드 ID와 좌표로 구성된 노드 데이터, 링크 ID, 출발 노드 ID, 및 도착 노드 ID로 구성된 링크 데이터, 또는 회전 가능성에 대한 정보를 포함하는 회전제약 데이터를 서버에서 읽어와 최적경로를 탐색하는 최적경로 탐색 시스템에 있어서, 상기 링크 데이터에 포함된 링크에서 인접한 링크로 이동 가능한 회전을 생성하고 생성된 회전의 회전 ID, 출발링크 ID, 도착링크 ID, 또는 통행시간을 포함하는 회전기반 회전데이터 구조를 구축하는 회전기반 회전데이터 구축부; 상기 서버에 저장된 회전데이터에서 회전 ID에 해당하는 통행시간을 추출하여 상기 회전기반 회전데이터 구축부가 구축한 회전기반 회전데이터에 저장하는 통행시간 추출부; 상기 회전기반 회전데이터 구축부가 구축한 회전기반 회전데이터를 기준으로 최적 경로를 추출하는 회전기반 경로 탐색부를 포함하는 것을 일 특징으로 한다.In the present invention, node data composed of a node ID and coordinates, link data composed of a link ID, a starting node ID, and an arrival node ID, or rotation constraint data including information on rotation possibility are read from a server and an optimal path is searched. In an optimal path search system for generating a rotation that can move from a link included in the link data to an adjacent link, and generating a rotation ID, a departure link ID, an arrival link ID, or rotation-based rotation data including a travel time of the generated rotation a rotation-based rotation data construction unit for constructing a structure; a travel time extraction unit extracting travel time corresponding to a rotation ID from rotation data stored in the server and storing the travel time in the rotation-based rotation data constructed by the rotation-based rotation data construction unit; It is characterized in that it includes a rotation-based path search unit for extracting an optimal path based on the rotation-based rotation data built by the rotation-based rotation data construction unit.

바람직하게, 상기 통행시간 추출부는, 상기 서버에 저장된 회전데이터가 출발링크 ID, 도착링크 ID, 및 통행시간을 포함하는 링크기반 회전데이터인 경우, 회전기반 회전데이터로 변환하여, 변환된 회전기반 회전데이터에서 회전 ID에 해당하는 통행시간을 추출할 수 있다. Preferably, when the rotation data stored in the server is link-based rotation data including a departure link ID, an arrival link ID, and a travel time, the travel time extractor converts the converted rotation-based rotation data into rotation-based rotation data. The travel time corresponding to the rotation ID can be extracted from the data.

바람직하게, 상기 통행시간 추출부는, 상기 서버에 저장된 회전데이터가 출발노드 ID, 중간노드 ID, 도착노드 ID, 및 통행시간으로 구성된 노드기반 회전데이터인 경우, 출발노드 ID와 중간노드 ID에 대응되는 링크 ID를 출발링크 ID로 저장하고 중간노드 ID와 도착노드 ID에 대응되는 링크 ID를 도착링크 ID로 저장하여, 출발링크 ID, 도착링크 ID, 및 통행시간을 포함하는 링크기반 회전데이터로 변환하고, 변환된 링크기반 회전 데이터는 회전기반 회전데이터로 변환하여, 변환된 회전기반 회전데이터에서 회전 ID에 해당하는 통행시간을 추출할 수 있다. Preferably, when the rotation data stored in the server is node-based rotation data composed of a departure node ID, an intermediate node ID, an arrival node ID, and a travel time, the travel time extraction unit corresponds to the departure node ID and the intermediate node ID. The link ID is stored as the departure link ID, and the link ID corresponding to the intermediate node ID and arrival node ID is stored as the destination link ID, and converted into link-based rotation data including the departure link ID, arrival link ID, and travel time, , the converted link-based rotation data can be converted into rotation-based rotation data, and the travel time corresponding to the rotation ID can be extracted from the converted rotation-based rotation data.

바람직하게, 상기 회전기반 회전데이터 구축부는, 회전제약 데이터가 있는 링크에서는 회전제약 데이터가 회전 금지 데이터이면 생성된 회전에서 금지되는 회전을 삭제하고, 회전제약 데이터가 유턴 허용 데이터이면 유턴하는 회전을 생성하며, 회전제약 데이터가 없는 링크에서는 유턴하는 회전을 제외하고 인접한 링크로 이동 가능한 회전을 생성할 수 있다. Preferably, the rotation-based rotation data construction unit deletes the rotation prohibited from the generated rotation if the rotation constraint data is rotation prohibition data in the link with rotation constraint data, and generates a rotation that makes a U-turn if the rotation constraint data is U-turn permission data. In a link without rotation constraint data, it is possible to create a rotation that can move to an adjacent link, except for a rotation that makes a U-turn.

바람직하게, 상기 회전기반 경로 탐색부는, 출발 노드에 직접 연결된 링크에서 회전 가능한 인접 링크를 검색하여 이전 링크번호와 통행시간을 포함하는 라벨을 부여하는 제1 라벨링 모듈; 표식을 갖는 라벨이 없는 경우 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하는 표식 모듈; 표식을 갖는 라벨이 부여된 링크에서 회전 가능한 인접 링크를 검색하여 라벨을 부여하는 제2 라벨링 모듈; 표식을 갖는 라벨을 제외한 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하고 이전 표식을 갖는 라벨을 삭제하는 표식 변경 모듈; 도착 노드에 직접 연결된 링크의 라벨에 포함된 이전 링크번호를 역순으로 연결하여 최적 경로를 추출하는 최적경로 추출 모듈을 포함할 수 있다.Preferably, the rotation-based path search unit includes: a first labeling module for searching for a rotatable adjacent link in a link directly connected to the starting node and assigning a label including a previous link number and travel time; a marker module for searching for a link having the shortest travel time among labeled links when there is no label with a marker, and displaying a marker on the label of the searched link; a second labeling module for searching for a rotatable adjacent link among labeled links having a mark and assigning a label thereto; a mark change module for searching for a link with the shortest travel time among labeled links excluding labels with a mark, displaying a mark on the label of the searched link, and deleting the label with the previous mark; An optimal path extraction module for extracting an optimal path by connecting previous link numbers included in the label of a link directly connected to the destination node in reverse order may be included.

바람직하게, 상기 회전기반 경로 탐색부는, 하나의 링크에 부여된 라벨이 복수개인 경우에는 통행시간이 가장 작은 라벨을 제외한 라벨을 제거하는 라벨 제거 모듈을 더 포함할 수 있다. Preferably, the rotation-based route search unit may further include a label removal module that removes labels other than a label having the smallest travel time when a plurality of labels are assigned to one link.

바람직하게, 상기 회전기반 경로 탐색부는, 상위 버켓 내부에 하위 버켓을 구성하는 이중 버켓 데이터 구조를 사용하여 최적경로를 탐색할 수 있다. Preferably, the rotation-based path search unit may search for an optimal path using a double bucket data structure constituting a lower bucket inside an upper bucket.

또한 본 발명은, 노드 ID와 좌표로 구성된 노드 데이터, 링크 ID, 출발 노드 ID, 및 도착 노드 ID로 구성된 링크 데이터, 또는 회전 가능성에 대한 정보를 포함하는 회전제약 데이터를 서버에서 읽어와 최적경로를 탐색하는 최적경로 탐색 방법에 있어서, 상기 링크 데이터에 포함된 링크에서 인접한 링크로 이동 가능한 회전을 생성하고 생성된 회전의 회전 ID, 출발링크 ID, 도착링크 ID, 또는 통행시간을 포함하는 회전기반 회전데이터 구조를 구축하는 회전기반 회전데이터 구축단계; 상기 서버에 저장된 회전데이터에서 회전 ID에 해당하는 통행시간을 추출하여 상기 회전기반 회전데이터 구축단계에서 구축한 회전기반 회전데이터에 저장하는 통행시간 추출단계; 상기 회전기반 회전데이터 구축단계에서 구축한 회전기반 회전데이터를 기준으로 최적 경로를 추출하는 회전기반 경로 탐색단계를 포함하는 것을 다른 특징으로 한다.In addition, the present invention reads node data composed of a node ID and coordinates, link data composed of a link ID, a departure node ID, and an arrival node ID, or rotation constraint data including information on rotation possibility from a server to determine an optimal path. In an optimal path search method for searching, a rotation-based rotation including a rotation ID, a departure link ID, an arrival link ID, or travel time of the generated rotation is generated by generating a rotation capable of moving from a link included in the link data to an adjacent link. Rotation-based rotation data construction step of building a data structure; a travel time extraction step of extracting a travel time corresponding to a rotation ID from rotation data stored in the server and storing the travel time in the rotation-based rotation data constructed in the rotation-based rotation data construction step; Another feature is a rotation-based path search step of extracting an optimal path based on the rotation-based rotation data constructed in the rotation-based rotation data construction step.

바람직하게는, 상기 회전기반 경로 탐색단계는, 출발 노드에 직접 연결된 링크에서 회전 가능한 인접 링크를 검색하여 이전 링크번호와 통행시간을 포함하는 라벨을 부여하는 단계; 표식을 갖는 라벨이 없는 경우 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하는 단계; 표식을 갖는 라벨이 부여된 링크에서 회전 가능한 인접 링크를 검색하여 라벨을 부여하는 단계; 표식을 갖는 라벨을 제외한 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하고 이전 표식을 갖는 라벨을 삭제하는 단계; 도착 노드에 직접 연결된 링크의 라벨에 포함된 이전 링크번호를 역순으로 연결하여 최적 경로를 추출하는 단계을 포함할 수 있다. Preferably, the rotation-based path search step includes: searching for an adjacent rotatable link in a link directly connected to the starting node, and assigning a label including a previous link number and travel time; If there is no label with a mark, searching for a link having the shortest travel time among the labeled links, and displaying a mark on the label of the searched link; searching for adjacent rotatable links in the labeled links having a marker and assigning labels thereto; searching for a link with the shortest travel time among labeled links excluding labels with a mark, displaying a mark on a label of the searched link, and deleting a label with a previous mark; and extracting an optimal path by connecting previous link numbers included in labels of links directly connected to the destination node in reverse order.

본 발명에 따르면, 회전기반 회전데이터 구축부가 회전기반으로 최적경로를 탐색하기 위해 회전기반으로 회전데이터를 구축하여 회전시간이 고려된 최적경로를 추출할 수 있다는 이점이 있다. According to the present invention, there is an advantage in that the rotation-based rotation data building unit can extract an optimal path considering rotation time by constructing rotation data based on rotation in order to search for an optimal path based on rotation.

또한 본 발명은, 회전기반 경로 탐색부가 bucket&heap 하이브리드 데이터 구조를 이용하여 경로탐색 시간을 단축할 수 있다는 이점이 있다. In addition, the present invention has an advantage that the rotation-based route search unit can reduce route search time by using a bucket & heap hybrid data structure.

도 1은 최적경로 탐색 방법에 대한 개념도로서, 도 1의 (a)는 서버로부터 제공되는 네트워크 정보가 표시된 개념도를 나타내고, 도 1의 (b)는 링크기반 경로탐색 방법에 대한 개념도를 나타내고, 도 1의 (c)는 회전기반 경로탐색 방법에 대한 개념도를 나타낸다.
도 2는 본 발명의 실시예에 따른 최적경로 탐색 시스템의 구성도를 나타낸다.
도 3은 본 발명의 실시예에 따른 노드, 링크 및 회전에 대한 네트워크 예시를 나타낸다.
도 4는 본 발명의 실시예에 따른 노드 데이터와 링크 데이터의 구조를 나타낸다.
도 5는 회전제약 데이터의 구조로서, 도 5의 (a)는 노드기반 회전제약 데이터를 나타내고, 도 5의 (b)는 링크기반 회전제약 데이터를 나타낸다.
도 6은 본 발명의 실시예에 따른 회전기반 회전데이터의 구조를 나타낸다.
도 7은 본 발명의 실시예에 따른 회전기반 회전데이터 변환부의 데이터 변환과정을 나타낸다.
도 8은 본 발명의 실시예에 따른 회전기반 경로 탐색부의 구성도를 나타낸다.
도 9a 내지 도 9d는 본 발명의 실시예에 따른 회전기반 경로 탐색부가 수행하는 알고리즘 전개 과정을 나타낸다.
도 10은 본 발명의 실시예에 따른 회전기반 경로 탐색부가 이용하는 bucket&heap 하이브리드 자료구조를 나타낸다.
도 11은 본 발명의 실시예에 따른 최적경로 탐색 시스템의 경로탐색 알고리즘 흐름도를 나타낸다.
1 is a conceptual diagram of an optimal path search method, FIG. 1 (a) shows a conceptual diagram showing network information provided from a server, and FIG. 1 (b) shows a conceptual diagram of a link-based path search method. 1(c) shows a conceptual diagram of the rotation-based route search method.
2 shows a configuration diagram of an optimal path search system according to an embodiment of the present invention.
3 shows an example network of nodes, links and rotations according to an embodiment of the present invention.
4 shows the structure of node data and link data according to an embodiment of the present invention.
5 is a structure of rotation constraint data, FIG. 5(a) shows node-based rotation constraint data, and FIG. 5(b) shows link-based rotation constraint data.
6 shows the structure of rotation-based rotation data according to an embodiment of the present invention.
7 shows a data conversion process of a rotation-based rotation data conversion unit according to an embodiment of the present invention.
8 shows a configuration diagram of a rotation-based path search unit according to an embodiment of the present invention.
9A to 9D show an algorithm development process performed by a rotation-based path search unit according to an embodiment of the present invention.
10 shows a bucket & heap hybrid data structure used by a rotation-based path search unit according to an embodiment of the present invention.
11 shows a flow chart of a path search algorithm of an optimal path search system according to an embodiment of the present invention.

이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명을 상세히 설명한다. 다만, 본 발명이 예시적 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일 참조부호는 실질적으로 동일한 기능을 수행하는 부재를 나타낸다.Hereinafter, the present invention will be described in detail with reference to the contents described in the accompanying drawings. However, the present invention is not limited or limited by exemplary embodiments. The same reference numerals in each figure indicate members performing substantially the same function.

본 발명의 목적 및 효과는 하기의 설명에 의해서 자연스럽게 이해되거나 보다 분명해 질 수 있으며, 하기의 기재만으로 본 발명의 목적 및 효과가 제한되는 것은 아니다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.The objects and effects of the present invention can be naturally understood or more clearly understood by the following description, and the objects and effects of the present invention are not limited only by the following description. In addition, in describing the present invention, if it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted.

도 2는 본 발명의 실시예에 따른 최적경로 탐색 시스템(1)의 구성도를 나타낸다. 도 2를 참조하면, 최적경로 탐색 시스템(1)은 회전기반 회전데이터 구축부(100), 통행시간 추출부(300), 및 회전기반 경로 탐색부(500)를 포함할 수 있다. 최적경로 탐색 시스템(1)은 차량용 내비게이션 분야와 교통정보센터 및 포털에서 제공하는 교통정보 제공 분야(ATIS : Advanced Transportation Information System)에 활용될 수 있다. 또한, 최적경로 탐색 시스템(1)은 교통계획 및 교통운영을 위한 교통 S/W 분야에 활용될 수 있다. 2 shows a configuration diagram of an optimal path search system 1 according to an embodiment of the present invention. Referring to FIG. 2 , the optimal path search system 1 may include a rotation-based rotation data construction unit 100 , a travel time extraction unit 300 , and a rotation-based path search unit 500 . The optimal route search system 1 can be used in the field of vehicle navigation and the field of providing traffic information provided by traffic information centers and portals (ATIS: Advanced Transportation Information System). In addition, the optimal route search system 1 can be utilized in the field of traffic S/W for traffic planning and traffic operation.

본 실시예에 따른 최적경로 탐색 시스템(1)은 노드 ID와 좌표로 구성된 노드 데이터, 링크 ID, 출발 노드 ID, 및 도착 노드 ID로 구성된 링크 데이터, 또는 회전 가능성에 대한 정보를 포함하는 회전제약 데이터를 서버(3)에서 읽어와 최적경로를 탐색할 수 있다. 서버(3)는 스마트폰, 내비게이션, CCTV, 또는 Probe 차량을 통해 수집된 회전통행시간 등의 정보를 전송받기 위한 인터넷 환경으로 이해될 수 있다. Optimal route search system 1 according to this embodiment is node data composed of node ID and coordinates, link data composed of link ID, departure node ID, and destination node ID, or rotation constraint data including information on rotation possibility. can be read from the server 3 and an optimal path can be searched. The server 3 may be understood as an Internet environment for receiving information such as turnaround time collected through a smartphone, navigation, CCTV, or probe vehicle.

최적경로 탐색 시스템(1)은 실제 교통상황이 반영될 수 있도록 회전기반의 경로탐색이 가능한 네트워크 구조를 형성하고 빠른 경로 탐색을 위해 데이터 구조를 하이브리드 구조로 할 수 있다. 최적경로 탐색 시스템(1)는 좌회전, 우회전, 또는 직진을 위한 시간까지 고려할 수 있는 회전기반 경로탐색을 할 수 있다. The optimal route search system 1 may form a network structure capable of performing turn-based route search so that actual traffic conditions may be reflected, and may have a data structure as a hybrid structure for quick route search. The optimal route search system 1 can perform turn-based route search that can consider time for left turn, right turn, or straight ahead.

회전 정보는 세가지 방식으로 자료 구조를 구성할 수 있다. 첫 번째는 기존 회전제약 및 회전허용에서 사용하는 방식으로 진행하는 경로상의 노드 ID 나열식이 존재한다. 두 번째는 링크 ID 나열식이 존재하고, 세 번째는 회전 ID 구축방식이 존재한다. Rotation information can be organized into data structures in three ways. First, there is an enumeration of node IDs on the path that proceeds in the way used in the existing rotation constraint and rotation permission. The second has a link ID enumeration formula, and the third has a rotation ID construction method.

도 3은 본 발명의 실시예에 따른 노드, 링크 및 회전에 대한 네트워크 예시를 나타낸다. 도 3을 참조하면, 노드 2에서 출발하여 직진으로 노드 3에 도착하는 것의 노드나열식 표현은 (2, 1, 3)이 된다. 노드 2에서 출발하여 직진으로 노드 3에 도착하는 것을 링크나열식으로 표현하면 (1111, 1113)이 된다. 노드 2에서 출발하여 직진으로 노드 3에 도착하는 것을 회전 ID 구축방식으로 표현하면 (x0011)이 된다. 노드 2에서 출발하여 좌회전으로 노드 4에 도착하는 것을 노드나열식으로 표현하면 (2, 1, 4)가 된다. 노드 2에서 출발하여 좌회전으로 노드 4에 도착하는 것을 링크나열식으로 표현하면 (1111, 1116)이 된다. 노드 2에서 출발하여 좌회전으로 노드 4에 도착하는 것을 회전 ID 구축방식으로 표현하면 (x0012)가 된다. 이와 같이 회전은 세 가지 방식으로 데이터를 구성할 수 있다. 가장 우수한 방식은 회전 ID 구축방식이나, ITS(Intellignt Transport System) 교통정보 교환시에 표준화되어 있지 않아 링크나열식이 가장 적합한 방식이 될 수 있다. 따라서, 최적경로 탐색 시스템(1)은 노드 또는 링크 데이터를 이용한 회전데이터 구조를 구축하는 기술, 링크나열식 회전 통행시간을 회전기반 회전데이터로 변환하는 기술, 또는 회전기반으로 경로를 탐색하는 기술로 구성될 수 있다. 3 shows an example network of nodes, links and rotations according to an embodiment of the present invention. Referring to FIG. 3, the node enumerated expression of starting from node 2 and arriving at node 3 by going straight is (2, 1, 3). Departing from node 2 and arriving at node 3 in a straight line is expressed as a link list formula (1111, 1113). Departing from node 2 and arriving at node 3 in a straight line is expressed by the rotation ID construction method as (x0011). Departing from node 2 and arriving at node 4 with a left turn is expressed as a node sequence expression (2, 1, 4). Departing from node 2 and arriving at node 4 by taking a left turn is expressed as a link list formula (1111, 1116). Departing from node 2 and arriving at node 4 with a left turn is expressed as a turn ID construction method (x0012). As such, rotation can organize data in three ways. The most excellent method is the rotation ID construction method, but since it is not standardized in ITS (Intelligent Transport System) traffic information exchange, the link listing method can be the most suitable method. Therefore, the optimal path search system 1 is a technology of constructing a rotation data structure using node or link data, a technology of converting link-listed rotation travel time into rotation-based rotation data, or a technology of searching for a path based on rotation. can be configured.

회전기반 회전데이터 구축부(100)는 링크 데이터에 포함된 링크에서 인접한 링크로 이동 가능한 회전을 생성하고 생성된 회전의 회전 ID, 출발링크 ID, 도착링크 ID, 또는 통행시간을 포함하는 회전기반 회전데이터 구조를 구축할 수 있다. 회전기반 회전데이터 구축부(100)는 최적경로 탐색 시스템(1)이 회전기반으로 최적 경로를 탐색하기 위한 회전데이터 구조를 회전기반으로 구축하는 기능을 수행할 수 있다. 회전기반 회전데이터 구축부(100)가 구축하는 데이터 구조를 설명하기 위해 노드, 링크, 회전제약 데이터의 구조를 도 4와 도 5에서 설명한다.The rotation-based rotation data construction unit 100 generates a rotation that can move from a link included in the link data to an adjacent link, and includes a rotation ID, a departure link ID, an arrival link ID, or a travel time of the generated rotation. You can build data structures. The rotation-based rotation data construction unit 100 may perform a rotation-based function of constructing a rotation data structure for the optimal path search system 1 to search for an optimal path based on rotation. In order to explain the data structure built by the rotation-based rotation data construction unit 100, the structures of nodes, links, and rotation constraint data will be described in FIGS. 4 and 5.

도 4는 본 발명의 실시예에 따른 노드 데이터와 링크 데이터의 구조를 나타낸다. 도 4의 (a)를 참조하면, 노드 데이터는 노드 ID와 좌표로 구성된다. 각각의 노드는 노드 ID로 구분될 수 있다. 각각의 노드 ID는 x좌표값과 y좌표값으로 특정될 수 있다. 도 4의 (b)를 참조하면, 링크 데이터는 링크 ID, 출발노드 ID(FNode ID) 및 도착노드 ID(TNode ID)로 구성될 수 있다. 각각의 링크는 링크 ID로 구분될 수 있다. 각각의 링크 ID는 출발노드 ID와 도착노드 ID로 특정될 수 있다. 4 shows the structure of node data and link data according to an embodiment of the present invention. Referring to (a) of FIG. 4 , node data is composed of a node ID and coordinates. Each node can be identified by a node ID. Each node ID may be specified by an x-coordinate value and a y-coordinate value. Referring to (b) of FIG. 4, link data may include a link ID, a source node ID (FNode ID), and a destination node ID (TNode ID). Each link may be identified by a link ID. Each link ID may be specified by a source node ID and a destination node ID.

노드 데이터는 노드 ID를 Key로 가져갈 수 있다. 링크 데이터는 노드 데이터에 있는 노드 ID를 벗어나지 않는 범위에서 출발노드 ID와 도착노드 ID를 Key로 가져갈 수 있다. 링크 데이터는 링크 ID를 Key로 사용할 수 있도록 구성될 수 있다. Node data can take the node ID as a key. Link data can take the starting node ID and destination node ID as keys within the scope of the node ID in the node data. Link data can be configured to use link ID as a key.

도 5는 회전제약 데이터의 구조로서, 도 5의 (a)는 노드기반 회전제약 데이터를 나타내고, 도 5의 (b)는 링크기반 회전제약 데이터를 나타낸다. 5 is a structure of rotation constraint data, FIG. 5(a) shows node-based rotation constraint data, and FIG. 5(b) shows link-based rotation constraint data.

도 5의 (a)를 참조하면, 노드기반 회전제약 데이터는 출발노드 ID, 중간노드 ID, 도착노드 ID, 또는 회전제약으로 구성될 수 있다. 노드기반 회전제약 데이터에서 출발노드 ID, 중간노드 ID, 및 도착노드 ID는 회전을 특정할 수 있다. 노드기반 회전제약 데이터에서 회전제약은 특정된 회전의 회전가능 또는 회전불가능을 나타낼 수 있다. Referring to (a) of FIG. 5 , node-based rotation constraint data may include a starting node ID, an intermediate node ID, an arrival node ID, or a rotation constraint. In the node-based rotation constraint data, a starting node ID, an intermediate node ID, and an arrival node ID may specify a rotation. In node-based rotation constraint data, rotation constraints may indicate whether a specified rotation is rotatable or non-rotatable.

도 5의 (b)를 참조하면, 링크기반 회전제약 데이터는 출발링크 ID, 도착링크 ID, 또는 회전제약으로 구성될 수 있다. 링크기반 회전제약 데이터에서 출발링크 ID와 도착링크 ID는 회전을 특정할 수 있다. 링크기반 회전제약 데이터에서 회전제약은 특정된 회전의 회전가능 또는 회전불가능을 나타낼 수 있다. Referring to (b) of FIG. 5, the link-based rotation constraint data may include a starting link ID, an arrival link ID, or a rotation constraint. In the link-based rotation constraint data, the originating link ID and the destination link ID may specify rotation. In link-based rotation constraint data, rotation constraints may indicate whether a specified rotation is rotatable or non-rotatable.

도 6은 본 발명의 실시예에 따른 회전기반 회전데이터의 구조를 나타낸다. 도 6을 참조하면, 회전기반 회전데이터 구축부(100)가 구축하는 회전기반 회전데이터는 회전 ID, 출발링크 ID, 도착링크 ID, 또는 통행시간으로 구성될 수 있다. 회전기반 회전데이터에서 각각의 회전은 회전 ID로 구분될 수 있다. 회전기반 회전데이터는 회전이 시작되는 출발링크 ID와 회전이 끝나는 도착링크 ID로 각각의 회전을 특정할 수 있다. 회전기반 회전데이터에서 통행시간은 회전하는데 걸리는 시간을 나타낼 수 있다. 6 shows the structure of rotation-based rotation data according to an embodiment of the present invention. Referring to FIG. 6 , the rotation-based rotation data constructed by the rotation-based rotation data construction unit 100 may include a rotation ID, a departure link ID, an arrival link ID, or travel time. In rotation-based rotation data, each rotation can be distinguished by a rotation ID. Rotation-based rotation data may specify each rotation with an ID of a starting link where rotation starts and an ID of an arrival link where rotation ends. In rotation-based rotation data, travel time may represent the time required to rotate.

회전기반 회전데이터 구축부(100)가 회전기반 회전데이터를 구축하는 일 실시예를 설명한다. 회전기반 회전데이터 구축부(100)는 서버(3)에서 노드 데이터를 읽어와 노드 ID를 이용한 Key를 형성할 수 있다. 회전기반 회전데이터 구축부(100)는 서버(3)에서 링크 데이터를 읽어와 출발노드 ID와 도착노드 ID를 이용한 Key를 형성할 수 있다. 회전기반 회전데이터 구축부(100)는 링크데이터를 읽어와서 링크ID를 이용한 Key를 형성할 수도 있다. 회전기반 회전데이터 구축부(100)는 회전제약 데이터를 읽어와 회전이 시작되는 링크에 회전제약이 존재하는 표시를 입력할 수 있다. 회전기반 회전데이터 구축부(100)가 읽어오는 회전제약 데이터는 좌회전 금지, 진입금지, 또는 유턴 허용 등의 데이터를 포함할 수 있다. An embodiment in which the rotation-based rotation data construction unit 100 constructs rotation-based rotation data will be described. The rotation-based rotation data construction unit 100 may read node data from the server 3 and form a key using a node ID. The rotation-based rotation data construction unit 100 may read link data from the server 3 and form a key using the departure node ID and destination node ID. The rotation-based rotation data construction unit 100 may read link data and form a key using a link ID. The rotation-based rotation data construction unit 100 may read rotation constraint data and input an indication that rotation constraints exist in a link where rotation starts. The rotation restriction data read by the rotation-based rotation data construction unit 100 may include data such as prohibiting left turn, prohibiting entry, or permitting a U-turn.

회전기반 회전데이터 구축부(100)는 회전기반 회전데이터 구조를 구축하기 위해 링크에서 인접한 링크로 이동 가능한 회전을 생성할 수 있다. 회전기반 회전데이터 구축부(100)가 회전을 생성하는 단계는 다음과 같다. 회전기반 회전데이터 구축부(100)는 출발링크ID의 도착노드ID를 추출하여 도착노드ID로 시작하는 모든 링크를 추출할 수 있다. 회전기반 회전데이터 구축부(100)는 추출된 링크를 도착링크 ID로 하는 회전을 생성할 수 있다. The rotation-based rotation data construction unit 100 may generate a rotation movable from a link to an adjacent link in order to build a rotation-based rotation data structure. Steps for the rotation-based rotation data construction unit 100 to generate rotation are as follows. The rotation-based rotation data construction unit 100 may extract all links starting with the arrival node ID by extracting the arrival node ID of the departure link ID. The rotation-based rotation data construction unit 100 may generate a rotation using the extracted link as the destination link ID.

회전기반 회전데이터 구축부(100)는 회전제약 데이터가 있는 링크에서는 회전제약 데이터가 회전 금지 데이터이면 생성된 회전에서 금지되는 회전을 삭제하고, 회전제약 데이터가 유턴 허용 데이터이면 유턴하는 회전을 생성할 수 있다. 회전기반 회전데이터 구축부(100)는 회전제약 데이터가 없는 링크에서는 유턴하는 회전을 제외하고 인접한 링크로 이동 가능한 회전을 생성할 수 있다. 회전기반 회전데이터 구축부(100)는 생성된 회전의 출발링크 ID를 이용한 Key를 생성할 수 있다. 이와 같이, 회전기반 회전데이터 구축부(100)는 회전제약을 반영하여 현실적인 최적경로 탐색을 가능하게 할 수 있다. The rotation-based rotation data construction unit 100 deletes the prohibited rotation from the generated rotation if the rotation constraint data is rotation prohibition data in the link with rotation constraint data, and generates a rotation that makes a U-turn if the rotation constraint data is U-turn permission data. can The rotation-based rotation data construction unit 100 may generate a rotation that is movable to an adjacent link except for a rotation that makes a U-turn in a link without rotation constraint data. The rotation-based rotation data construction unit 100 may generate a key using the starting link ID of the generated rotation. In this way, the rotation-based rotation data construction unit 100 can enable a realistic optimal path search by reflecting rotation constraints.

통행시간 추출부(300)는 서버에 저장된 회전데이터에서 회전 ID에 해당하는 통행시간을 추출하여 회전기반 회전데이터 구축부(100)가 구축한 회전기반 회전데이터에 저장할 수 있다. 통행시간 추출부(300)는 서버(3)에서 실시간으로 수집되는 교통정보 중 링크에서 링크를 이동하는데 걸리는 시간인 회전 통행시간을 추출할 수 있다. 통행시간 추출부(300)는 회전 통행시간을 추출하여 출발링크와 도착링크가 일치하는 회전 ID의 통행시간에 저장할 수 있다. 통행시간 추출부(300)는 서버(3)에 저장된 교통정보가 노드기반 또는 링크기반인 경우 회전기반 회전데이터 구축부(100)가 구축한 회전데이터에 저장할 수 있도록 회전기반으로 변환할 수 있다. The travel time extraction unit 300 may extract the travel time corresponding to the rotation ID from the rotation data stored in the server and store it in the rotation-based rotation data constructed by the rotation-based rotation data construction unit 100 . The travel time extractor 300 may extract rotational travel time, which is the time required to move from link to link, from traffic information collected in real time by the server 3 . The travel time extraction unit 300 may extract the rotation travel time and store it in the travel time of the rotation ID where the departure link and the arrival link coincide. When the traffic information stored in the server 3 is node-based or link-based, the travel time extractor 300 may convert it into rotation-based data so that it can be stored in the rotation data constructed by the rotation-based rotation data construction unit 100.

통행시간 추출부(300)는 내비게이션 등의 시스템을 통해 생성된 회전 통행시간을 회전기반 회전데이터 구축부(100)에 의해 생성된 회전기반 회전데이터로 변환시키는 역할을 할 수 있다. 통행시간 추출부(300)는 기존 교통정보 형식은 링크 또는 노드 기반으로 구성되어 있으므로 교통정보 형식을 회전기반 회전데이터로 변환하여 회전 ID와 매칭되게 할 수 있다. The travel time extractor 300 may play a role of converting the rotation travel time generated through a system such as a navigation into rotation-based rotation data generated by the rotation-based rotation data construction unit 100 . Since the existing traffic information format is configured based on links or nodes, the travel time extractor 300 can convert the traffic information format into rotation-based rotation data so as to be matched with a rotation ID.

통행시간 추출부(300)는 서버(3)에 저장된 회전데이터가 출발링크 ID, 도착링크 ID, 및 통행시간을 포함하는 링크기반 회전데이터인 경우, 회전기반 회전데이터로 변환할 수 있다. 통행시간 추출부(300)는 서버(3)에 저장된 교통정보를 회전기반 회전데이터 구축부(100)가 구축한 회전데이터에 저장할 수 있도록 링크기반 회전데이터를 회전기반 회전데이터로 변환할 수 있다. 통행시간 추출부(300)는 회전기반 회전데이터에서 회전 ID에 해당하는 통행시간을 추출할 수 있다. 통행시간 추출부(300)는 링크기반의 회전데이터는 출발링크 ID와 도착링크 ID로 구성되므로 출발링크 ID와 도착링크 ID를 Key로 해당 회전 ID를 추출하여 해당 필드에 통행시간을 저장할 수 있다. When the rotation data stored in the server 3 is link-based rotation data including a departure link ID, an arrival link ID, and a travel time, the travel time extractor 300 may convert it into rotation-based rotation data. The travel time extractor 300 may convert link-based rotation data into rotation-based rotation data so that the traffic information stored in the server 3 can be stored in the rotation data constructed by the rotation-based rotation data construction unit 100 . The travel time extractor 300 may extract a travel time corresponding to a rotation ID from rotation-based rotation data. Since the link-based rotation data is composed of a departure link ID and an arrival link ID, the travel time extractor 300 extracts the rotation ID using the departure link ID and the arrival link ID as keys, and stores the travel time in a corresponding field.

통행시간 추출부(300)는 서버(3)에 저장된 회전데이터가 출발노드 ID, 중간노드 ID, 도착노드 ID, 및 통행시간으로 구성된 노드기반 회전데이터인 경우, 출발노드 ID와 중간노드 ID에 대응되는 링크 ID를 출발링크 ID로 저장하고 중간노드 ID와 도착노드 ID에 대응되는 링크 ID를 도착링크 ID로 저장하여, 출발링크 ID, 도착링크 ID, 및 통행시간을 포함하는 링크기반 회전데이터로 변환하고, 변환된 링크기반 회전데이터는 회전기반 회전데이터로 변환할 수 있다. 통행시간 추출부(300)는 서버(3)에 저장된 교통정보를 회전기반 회전데이터 구축부(100)가 구축한 회전데이터에 저장할 수 있도록 노드기반 회전데이터를 링크기반 회전데이터로 변환할 수 있다. 통행시간 추출부(300)는 변환된 링크기반 회전데이터를 회전기반 회전데이터로 다시 한번 변환할 수 있다.When the rotation data stored in the server 3 is node-based rotation data composed of a departure node ID, an intermediate node ID, an arrival node ID, and a travel time, the travel time extractor 300 responds to the departure node ID and the intermediate node ID. Stores the corresponding link ID as the departure link ID and stores the link ID corresponding to the intermediate node ID and arrival node ID as the destination link ID, and converts it into link-based rotation data including the departure link ID, arrival link ID, and travel time And, the converted link-based rotation data can be converted into rotation-based rotation data. The travel time extractor 300 may convert node-based rotation data into link-based rotation data so that traffic information stored in the server 3 can be stored in rotation data constructed by the rotation-based rotation data construction unit 100 . The travel time extractor 300 may convert the converted link-based rotation data into rotation-based rotation data once again.

통행시간 추출부(300)는 노드기반의 회전데이터는 출발노드 ID, 중간노드 ID, 및 도착노드 ID로 구성되므로 출발노드 ID와 중간노드 ID를 Key로 해당 링크 ID를 추출하여 출발링크 ID로 저장할 수 있다. 통행시간 추출부(300)는 중간노드 ID와 도착노드 ID를 Key로 해당 링크 ID를 추출하여 도착링크 ID로 저장할 수 있다. 통행시간 추출부(300)는 링크기반의 회전데이터는 출발링크 ID와 도착링크 ID로 구성되므로 출발링크 ID와 도착링크 ID를 Key로 해당 회전 ID를 추출하여 해당 필드에 통행시간을 저장할 수 있다. Since the node-based rotation data is composed of a starting node ID, an intermediate node ID, and an arrival node ID, the travel time extractor 300 extracts the corresponding link ID using the starting node ID and the intermediate node ID as keys and stores the corresponding link ID as the starting link ID. can The travel time extraction unit 300 may extract a corresponding link ID using the intermediate node ID and the arrival node ID as keys and store the corresponding link ID as the arrival link ID. Since the link-based rotation data is composed of a departure link ID and an arrival link ID, the travel time extractor 300 extracts the rotation ID using the departure link ID and the arrival link ID as keys, and stores the travel time in a corresponding field.

도 7은 본 발명의 실시예에 따른 통행시간 추출부(300)의 데이터 변환과정을 나타낸다. 도 7을 참조하면, 통행시간 추출부(300)는 서버(3) 저장된 노드기반 회전데이터를 회전기반 회전데이터로 변환하여 링크1에서 링크3으로 이동하는 회전1의 통행시간을 추출할 수 있다. 통행시간 추출부(300)는 노드기반 회전데이터에서 출발노드1과 중간노드2를 Key로 링크1을 추출하여 출발링크1로 저장할 수 있다. 통행시간 추출부(300)는 노드기반 회전데이터에서 중간노드2과 도착노드3을 Key로 링크3을 추출하여 도착링크3으로 저장할 수 있다. 이 과정을 통해 통행시간 추출부(300)는 출발노드1, 중간노드2, 도착노드3, 및 통행시간 0.15로 구성된 노드기반 회전데이터를 출발링크1, 도착링크3, 및 통행시간 0.15로 구성된 링크기반 회전데이터로 변환할 수 있다. 7 shows a data conversion process of the travel time extractor 300 according to an embodiment of the present invention. Referring to FIG. 7 , the travel time extractor 300 converts node-based rotation data stored in the server 3 into rotation-based rotation data to extract the travel time of rotation 1 moving from link 1 to link 3. The travel time extraction unit 300 may extract link 1 using the start node 1 and the intermediate node 2 as keys from the node-based rotation data and store it as the start link 1. The travel time extractor 300 may extract link 3 using intermediate node 2 and arrival node 3 as keys from node-based rotation data and store it as arrival link 3. Through this process, the travel time extractor 300 transfers node-based rotation data composed of departure node 1, intermediate node 2, arrival node 3, and travel time 0.15 to a link composed of departure link 1, arrival link 3, and travel time 0.15. It can be converted into base rotation data.

통행시간 추출부(300)는 변환된 링크기반 회전데이터에서 출발링크1과 도착링크3을 Key로 회전1을 추출하여 해당 필드의 통행시간에 0.15를 저장할 수 있다. 이 과정을 통해 통행시간 추출부(300)는 출발링크1, 도착링크3, 및 통행시간 0.15로 구성된 링크기반 회전데이터를 회전1, 출발링크1, 도착링크3, 및 통행시간 0.15로 구성된 회전기반 회전데이터로 변환할 수 있다. The travel time extractor 300 may extract rotation 1 using the departure link 1 and arrival link 3 as keys from the converted link-based rotation data, and store 0.15 in the travel time of the corresponding field. Through this process, the travel time extractor 300 converts link-based rotation data composed of departure link 1, arrival link 3, and travel time 0.15 into rotation-based rotation data composed of rotation 1, departure link 1, arrival link 3, and travel time 0.15. It can be converted into rotation data.

도 8은 본 발명의 실시예에 따른 회전기반 경로 탐색부(500)의 구성도를 나타낸다. 도 8을 참조하면, 회전기반 경로 탐색부(500)는 제 1 라벨링 모듈(510), 표식 모듈(520), 제 2 라벨링 모듈(530), 표식 변경 모듈(540), 최적경로 추출 모듈(550), 및 라벨 제거 모듈(560)을 포함할 수 있다. 8 shows a configuration diagram of a rotation-based path search unit 500 according to an embodiment of the present invention. Referring to FIG. 8 , the rotation-based path search unit 500 includes a first labeling module 510, a mark module 520, a second labeling module 530, a mark change module 540, and an optimal path extraction module 550. ), and a label removal module 560.

회전기반 경로 탐색부(500)는 회전기반 회전데이터 구축부(100)가 구축한 회전기반 회전데이터를 기준으로 최적 경로를 추출할 수 있다. 회전기반 경로 탐색부(500)는 좌회전, 우회전, 유턴 또는 피턴 등의 회전 통행시간이 고려된 회전기반 회전데이터를 기준으로 최적 경로를 추출하므로 오경로 탐색을 최소화할 수 있다. 도 9a 내지 도 9d에 나타난 실시예를 통해 회전기반 경로 탐색부(500)의 경로탐색 방법을 살펴본다.The rotation-based path search unit 500 may extract an optimal path based on the rotation-based rotation data constructed by the rotation-based rotation data construction unit 100 . The rotation-based path search unit 500 extracts an optimal path based on rotation-based rotation data in which rotation travel times such as a left turn, a right turn, a U-turn, or a pit-turn are taken into account, so that the search for a wrong path can be minimized. A path search method of the rotation-based path search unit 500 will be described through the embodiments shown in FIGS. 9A to 9D.

도 9a 내지 도 9d는 본 발명의 실시예에 따른 회전기반 경로 탐색부(500)가 수행하는 알고리즘 전개 과정을 나타낸다. 도 9a 내지 도 9d에서 동그라미는 노드, 실선은 링크, 네모상자는 링크 ID, 점선은 회전을 의미한다. 점선 옆에 있는 숫자는 회전시간을 의미하고, 네모상자 옆에 있는 (x,y)는 라벨을 의미한다. 여기서 라벨의 x는 이전 링크번호이며, y는 해당 링크에 도달하기까지의 시간을 의미한다. 9A to 9D show an algorithm development process performed by the rotation-based path search unit 500 according to an embodiment of the present invention. 9A to 9D, circles represent nodes, solid lines represent links, square boxes represent link IDs, and dotted lines represent rotations. The number next to the dotted line means the rotation time, and the (x,y) next to the box means the label. Here, x of the label is the previous link number, and y is the time until reaching the corresponding link.

도 9a를 참조하면, 회전기반 경로 탐색부(500)는 경로탐색 기술인 Dijstra 알고리즘을 토대로 라벨 표지 기법을 사용할 수 있다. 회전기반 경로 탐색부(500)는 노드에 라벨을 표시하는 기존 경로탐색과는 달리 링크에 라벨을 표시하여 경로탐색을 진행할 수 있다. 회전기반 경로 탐색부(500)가 링크에 라벨을 표시하는 것은 기존 링크기반 알고리즘과의 가장 큰 차이점이다. 이하, 노드1에서 출발하는 것을 예시로 회전기반의 라벨 표시를 설명한다.Referring to FIG. 9A , the rotation-based path search unit 500 may use a label marking technique based on the Dijstra algorithm, which is a path search technique. The rotation-based route search unit 500 may perform route search by displaying a label on a link, unlike conventional route search in which a label is displayed on a node. The biggest difference from the existing link-based algorithm is that the rotation-based path search unit 500 displays labels on links. Hereinafter, rotation-based label display will be described with starting from node 1 as an example.

먼저, 회전기반 경로 탐색부(500)는 노드1에 직접 연결된 링크가 링크1번과 링크2번이므로 링크1과 링크2를 기준으로 회전을 검색할 수 있다. 회전기반 경로 탐색부(500)는 링크1을 기준으로 회전을 검색하면 링크9와 링크11이 연결되고 링크2를 기준으로 회전을 검색하면 링크4와 링크5가 연결될 수 있다. 이때, 회전기반 경로 탐색부(500)는 링크9에는 (1,1.5), ,링크11에는 (1,1.2), 링크4에는 (2,1.3), 링크5에는 (2,0.7)의 라벨을 붙일 수 있다. 회전기반 경로 탐색부(500)의 이러한 기능은 제1 라벨링 모듈(510)에서 수행될 수 있다. First, since links directly connected to node 1 are link 1 and link 2, the rotation-based path search unit 500 may search for rotation based on link 1 and link 2. The rotation-based path search unit 500 may connect links 9 and 11 when a rotation is searched for based on link 1, and links 4 and 5 may be connected when a rotation is searched for based on link 2. At this time, the rotation-based path search unit 500 labels (1,1.5) for link 9, (1,1.2) for link 11, (2,1.3) for link 4, and (2,0.7) for link 5. can be attached This function of the rotation-based path search unit 500 may be performed by the first labeling module 510 .

회전기반 경로 탐색부(500)는 첫 번째 검색에서 링크5까지의 통행시간이 가장 짧으므로 링크5의 라벨에 *을 부여할 수 있다. 회전기반 경로 탐색부(500)의 이러한 기능은 표식 모듈(520)에서 수행될 수 있다. Since the travel time from the first search to link 5 is the shortest, the turn-based route search unit 500 may assign * to the label of link 5. This function of the rotation-based path search unit 500 may be performed by the mark module 520 .

도 9b를 참조하면, 회전기반 경로 탐색부(500)는 링크5가 확정된 후 링크5에서 연결된 링크를 검색할 수 있다. 회전기반 경로 탐색부(500)는 링크5에 연결된 링크13, 링크14, 링크15를 검색하여 (5,1.2), (2,2.9), (5,2.0)의 라벨을 붙일 수 있다. 회전기반 경로 탐색부(500)의 이러한 기능은 제2 라벨링 모듈(530)에서 수행될 수 있다. Referring to FIG. 9B , the rotation-based path search unit 500 may search for a link connected to link 5 after link 5 is determined. The rotation-based path search unit 500 may search for links 13, 14, and 15 connected to link 5 and label them as (5, 1.2), (2, 2.9), and (5, 2.0). This function of the rotation-based path search unit 500 may be performed by the second labeling module 530 .

회전기반 경로 탐색부(500)는 링크5를 제외한 나머지 라벨 중 가장 짧은 시간을 기록한 링크11에 *을 부여하고 링크5에 붙은 라벨을 제거할 수 있다. 회전기반 경로 탐색부(500)의 이러한 기능은 표식 변경 모듈(540)에서 수행될 수 있다. The rotation-based route search unit 500 may assign * to link 11 recording the shortest time among the remaining labels except for link 5 and may remove the label attached to link 5. This function of the rotation-based path search unit 500 may be performed by the mark change module 540 .

도 9c를 참조하면, 회전기반 경로 탐색부(500)는 링크11이 확정된 후 링크11에서 연결된 링크를 검색할 수 있다. 회전기반 경로 탐색부(500)는 링크11에 연결된 링크20을 검색하여 링크20에 (11,2.7)의 라벨을 붙일 수 있다. 회전기반 경로 탐색부(500)는 링크11을 제외한 나머지 라벨 중 가장 짧은 시간을 기록한 링크13에 *을 부여하고 링크11에 붙은 라벨을 제거할 수 있다. Referring to FIG. 9C , the rotation-based path search unit 500 may search for a link connected to link 11 after link 11 is determined. The rotation-based path search unit 500 may search for the link 20 connected to the link 11 and attach a label of (11, 2.7) to the link 20. The rotation-based path search unit 500 may assign * to the link 13 recording the shortest time among the remaining labels except for the link 11 and may remove the label attached to the link 11.

회전기반 경로 탐색부(500)는 링크13이 확정된 후 링크13에서 연결된 링크를 검색할 수 있다. 회전기반 경로 탐색부(500)는 링크13에 연결된 링크8, 링크11을 검색할 수 있다. 회전기반 경로 탐색부(500)는 링크8의 도착노드ID가 출발점(노드1)이므로 라벨링에서 제외할 수 있다. 회전기반 경로 탐색부(500)는 링크11은 이미 라벨링이 완료되었으므로 라벨링에서 제외할 수 있다. 회전기반 경로 탐색부(500)는 링크13을 제외한 나머지 라벨 중 가장 짧은 시간을 기록한 링크9에 *을 부여하고 링크13에 붙은 라벨을 제거할 수 있다. After the link 13 is determined, the rotation-based path search unit 500 may search for a link connected to the link 13 . The rotation-based path search unit 500 may search for links 8 and 11 connected to link 13. Since the destination node ID of link 8 is the starting point (node 1), the rotation-based path search unit 500 can exclude it from labeling. The rotation-based path search unit 500 may exclude link 11 from labeling because labeling has already been completed. The rotation-based route search unit 500 may assign * to link 9 recording the shortest time among the remaining labels excluding link 13 and may remove the label attached to link 13.

회전기반 경로 탐색부(500)는 링크9가 확정된 후 링크9에서 연결된 링크를 검색할 수 있다. 회전기반 경로 탐색부(500)는 링크9에 연결된 링크12, 링크14, 링크15을 검색하여 (9,3.4), (9,2.8), (9,2.1)의 라벨을 붙일 수 있다. 회전기반 경로 탐색부(500)는 링크14의 경우 기존 라벨(2,2.9) 값보다 통행시간이 0.1이 빠르므로 기존 라벨을 대체할 수 있다. 회전기반 경로 탐색부(500)는 링크 15의 경우 기존 라벨 (5,2.0) 보다 통행시간이 느리므로 기존 라벨을 대체하지 못하고 탈락시킬 수 있다. 이와 같이, 회전기반 경로 탐색부(500)의 통행시간이 가장 작은 라벨을 제외한 라벨을 제거하는 기능은 라벨 제거 모듈(560)에서 수행될 수 있다. The rotation-based path search unit 500 may search for a link connected to link 9 after link 9 is determined. The rotation-based path search unit 500 may search for links 12, 14, and 15 connected to link 9 and label them as (9,3.4), (9,2.8), and (9,2.1). In the case of the link 14, the turn-based path search unit 500 can replace the existing label because the travel time is 0.1 faster than the values of the existing labels (2, 2.9). In the case of link 15, the turn-based route search unit 500 has a slower travel time than the existing labels (5, 2.0), so it cannot replace the existing label and may drop it. As such, the function of removing labels other than the label having the smallest traveling time of the rotation-based route search unit 500 may be performed by the label removal module 560 .

도 9d를 참조하면, 회전기반 경로 탐색부(500)는 위와 같은 과정을 반복하여 최종적인 라벨링 결과를 도출할 수 있다. 회전기반 경로 탐색부(500)는 최종 라벨링된 결과에서 위해 Backward 라벨을 추적하는 방식으로 최적경로를 추출할 수 있다. Referring to FIG. 9D , the rotation-based path search unit 500 may derive a final labeling result by repeating the above process. The rotation-based path search unit 500 may extract an optimal path by tracking backward labels in the final labeled result.

본 실시예로 회전기반 경로 탐색부(500)는 노드9까지의 경로를 추출하면 노드9의 라벨은 (23,3.8)이므로 Back 링크 ID인 23을 추출하여 링크23의 라벨을 참조하여 경로를 추출할 수 있다. 회전기반 경로 탐색부(500)는 링크23의 Back 링크 ID는 링크15, 링크15의 Back 링크 ID는 링크5, 링크5의 Back 링크 ID는 링크2로 추출할 수 있다. 회전기반 경로 탐색부(500)는 최적경로를 노드 ID로는 9-8-5-2-1로 추출할 수 있다. 회전기반 경로 탐색부(500)는 최적경로를 링크 ID로는 23-15-5-2로 추출할 수 있다. 회전기반 경로 탐색부(500)의 이러한 기능은 최적경로 추출 모듈(550)에서 수행될 수 있다. In this embodiment, when the rotation-based path search unit 500 extracts the path to node 9, since the label of node 9 is (23,3.8), it extracts the back link ID of 23 and extracts the path by referring to the label of link 23. can do. The rotation-based path search unit 500 can extract the back link ID of link 23 as link 15, the back link ID of link 15 as link 5, and the back link ID of link 5 as link 2. The rotation-based path search unit 500 may extract an optimal path as 9-8-5-2-1 as a node ID. The rotation-based path search unit 500 may extract the optimal path as 23-15-5-2 as a link ID. This function of the rotation-based path search unit 500 may be performed by the optimal path extraction module 550 .

도 10은 본 발명의 실시예에 따른 회전기반 경로 탐색부(500)가 이용하는 bucket&heap 하이브리드 자료구조를 나타낸다. 도 10을 참조하면, 회전기반 경로 탐색부(500)는 상위 버켓 내부에 하위 버켓을 구성하는 이중 버켓 데이터 구조를 사용하여 최적경로를 탐색할 수 있다. 회전기반 경로 탐색부(500)는 이중 버켓을 구성하여 그 내부를 정렬할 수 있는 구조를 사용할 수 있다. 회전기반 경로 탐색부(500)는 이중 버켓의 내부 정렬을 위한 데이터 구조로 heap 구조가 적용될 수 있다. 바람직하게는, 회전기반 경로 탐색부(500)는 이중 버켓의 내부 정렬을 위한 데이터 구조로 binary heap 구조가 적용될 수 있다. 10 shows a bucket & heap hybrid data structure used by the rotation-based path search unit 500 according to an embodiment of the present invention. Referring to FIG. 10 , the rotation-based path search unit 500 may search for an optimal path using a double bucket data structure constituting a lower bucket inside an upper bucket. The rotation-based path search unit 500 may use a structure capable of aligning the inside of a double bucket by configuring it. A heap structure may be applied to the rotation-based path search unit 500 as a data structure for internal alignment of double buckets. Preferably, a binary heap structure may be applied to the rotation-based path search unit 500 as a data structure for internal alignment of double buckets.

회전기반 경로 탐색부(500)는 하나의 bucket에 유사한 값을 가지고 있는 데이터를 저장하는 구조인 Bucket 자료구조를 사용할 수 있다. 본 실시예로, 회전기반 경로 탐색부(500)는 하나의 출발지를 기준으로 누적 통행시간을 노드에 저장할 수 있다. 회전기반 경로 탐색부(500)는 1분 단위로 bucket을 구성한다고 가정할 때 11번째 bucket에는 통행시간이 10분보다 크고 11분보다 작은 노드 ID를 리스트로 관리할 수 있다. The rotation-based path search unit 500 may use a Bucket data structure, which is a structure for storing data having similar values in one bucket. In this embodiment, the rotation-based route search unit 500 may store accumulated travel time in a node based on one starting point. Assuming that the rotation-based path search unit 500 configures buckets in units of 1 minute, the 11th bucket can manage node IDs with a travel time greater than 10 minutes and less than 11 minutes as a list.

회전기반 경로 탐색부(500)는 upper bucket와 lower bucket으로 구성된 double bucket 구조를 사용할 수 있다. 회전기반 경로 탐색부(500)는 lower bucket을 0.1분 단위로 구성한다고 할 때, upper bucket 내부에 lower bucket이 10개씩 존재하게 되는 형태로 구성될 수 있다. 본 실시예로, 회전기반 경로 탐색부(500)는 upper bucket이 11번째이고 lower bucket이 5번째에 있는 bucket 내부에 노드까지의 누적 통행시간이 10.5분보다 크고 10.6분보다 작은 노드만을 리스트로 관리할 수 있다. 회전기반 경로 탐색부(500)는 double bucket을 이용하여 최종적으로 하위 bucket에 저장되는 데이터의 수를 적게 유지할 수 있다. The rotation-based path search unit 500 may use a double bucket structure composed of an upper bucket and a lower bucket. The rotation-based path search unit 500 may be configured in such a way that 10 lower buckets exist inside the upper bucket when lower buckets are configured in units of 0.1 minutes. In this embodiment, the rotation-based path search unit 500 manages only the nodes whose cumulative travel time is greater than 10.5 minutes and less than 10.6 minutes to a node inside the bucket where the upper bucket is the 11th and the lower bucket is the 5th as a list. can do. The rotation-based path search unit 500 may keep the number of data finally stored in lower buckets small by using double buckets.

회전기반 경로 탐색부(500)는 bucket 자료구조를 이용하여 특정 범위 내에 있는 값을 갖는 데이터를 저장하고 있다가 해당 bucket의 순서가 오면 내부에 있는 데이터들을 다시 정렬하는 방식으로 운영할 수 있다. 회전기반 경로 탐색부(500)는 위에서 설명한 라벨링을 이용하여 경로를 탐색하는 과정이 진행되면서 정렬을 수행하므로 bucket&heap 하이브리드 자료구조를 이용할 경우 통행시간이 큰 경우는 뒤로 미뤄 놓기 때문에 작은 범위로 관리할 수 있다. 따라서, 회전기반 경로 탐색부(500)는 정렬하는 데이터의 사이즈를 감소시키고 정렬횟수를 감소시킬 수 있어 최적경로 탐색시간을 단축할 수 있다. The rotation-based path search unit 500 can be operated by using a bucket data structure to store data having a value within a specific range, and rearranging the data inside when the order of the corresponding bucket comes. Since the rotation-based path search unit 500 performs sorting while the process of searching for a path using the labeling described above is in progress, when using the bucket&heap hybrid data structure, when the travel time is large, it can be managed in a small range because it is delayed. there is. Accordingly, the rotation-based path search unit 500 can reduce the size of data to be sorted and the number of times of sorting, thereby shortening the optimal path search time.

제1 라벨링 모듈(510)은 출발 노드에 직접 연결된 링크에서 회전 가능한 인접 링크를 검색하여 이전 링크번호와 통행시간을 포함하는 라벨을 부여할 수 있다. The first labeling module 510 may search for rotatable adjacent links among links directly connected to the starting node, and assign a label including a previous link number and travel time.

표식 모듈(520)은 표식을 갖는 라벨이 없는 경우 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시할 수 있다. When there is no label with the mark, the mark module 520 may search for a link having the shortest travel time among the labeled links, and display a mark on the label of the searched link.

제2 라벨링 모듈(530)은 표식을 갖는 라벨이 부여된 링크에서 회전 가능한 인접 링크를 검색하여 라벨을 부여할 수 있다. The second labeling module 530 may search for a rotatable adjacent link among labeled links having a mark and assign a label thereto.

표식 변경 모듈(540)은 표식을 갖는 라벨을 제외한 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하고 이전 표식을 갖는 라벨을 삭제할 수 있다. The mark change module 540 may search for a link having the shortest travel time among labeled links excluding labels with a mark, display a mark on the label of the searched link, and delete a label with a previous mark.

최적경로 추출 모듈(550)은 도착 노드에 직접 연결된 링크의 라벨에 포함된 이전 링크번호를 역순으로 연결하여 최적 경로를 추출할 수 있다. The optimal path extraction module 550 may extract an optimal path by connecting previous link numbers included in labels of links directly connected to the destination node in reverse order.

라벨 제거 모듈(560)은 하나의 링크에 부여된 라벨이 복수개인 경우에는 통행시간이 가장 작은 라벨을 제외한 라벨을 제거할 수 있다. When a plurality of labels are assigned to one link, the label removal module 560 may remove labels other than a label having the smallest travel time.

도 11은 본 발명의 실시예에 따른 최적경로 탐색 시스템(1)의 경로탐색 알고리즘 흐름도를 나타낸다. 도 11을 참조하면, 최적경로 탐색 시스템(1)은 서버(3)에서 노드 데이터, 링크 데이터, 및 회전제약 데이터를 읽어올 수 있다. 최적경로 탐색 시스템(1)은 읽어온 데이터를 이용하여 회전기반 회전데이터 구조를 구축할 수 있다. 최적경로 탐색 시스템(1)은 서버(3)에 저장된 노드 또는 링크기반의 회전데이터를 회전기반의 회전데이터로 변경할 수 있다. 최적경로 탐색 시스템(1)은 변경된 회전기반의 회전데이터의 통행시간을 추출하여 구축된 회전기반 회전데이터 구조의 해당 필드에 저장할 수 있다. 최적경로 탐색 시스템(1)은 bucket 구조를 생성하고 생성된 bucket에 heap을 생성할 수 있다. 최적경로 탐색 시스템(1)은 경로탐색 기술인 Dijstra 알고리즘을 토대로 라벨 표지 기법을 사용하여 링크에 라벨링을 진행할 수 있다. 최적경로 탐색 시스템(1)은 backward 경로를 추출하여 도착지까지의 최적경로를 추출할 수 있다. 11 shows a flow chart of a path search algorithm of the optimal path search system 1 according to an embodiment of the present invention. Referring to FIG. 11 , the optimal path search system 1 may read node data, link data, and rotation constraint data from the server 3 . The optimal path search system 1 may construct a rotation-based rotation data structure using the read data. The optimal path search system 1 may change node or link-based rotation data stored in the server 3 into rotation-based rotation data. The optimal path search system 1 may extract the travel time of the changed rotation-based rotation data and store it in a corresponding field of the constructed rotation-based rotation data structure. The optimal path search system 1 may create a bucket structure and create a heap in the created bucket. The optimal path search system 1 may proceed with labeling of links using a labeling technique based on the Dijstra algorithm, which is a path search technology. The optimal route search system 1 can extract the optimal route to the destination by extracting the backward route.

본 발명의 또다른 실시예로 최적경로 탐색 방법은 회전기반 회전데이터 구축단계, 통행시간 추출단계, 회전기반 회전데이터 변환단계, 및 회전기반 경로 탐색단계를 포함할 수 있다. As another embodiment of the present invention, the optimal route search method may include a turn-based rotation data construction step, a travel time extraction step, a turn-based rotation data conversion step, and a turn-based route search step.

회전기반 회전데이터 구축단계는 링크 데이터에 포함된 링크에서 인접한 링크로 이동 가능한 회전을 생성하고 생성된 회전의 회전 ID, 출발링크 ID, 도착링크 ID, 또는 통행시간을 포함하는 회전데이터 구조를 구축할 수 있다. 회전기반 회전데이터 구축단계는 전술한 회전기반 회전데이터 구축부에서 수행되는 동작을 의미한다. The rotation-based rotation data construction step creates a rotation that can move from a link included in the link data to an adjacent link, and builds a rotation data structure including the rotation ID, departure link ID, arrival link ID, or travel time of the generated rotation. can The rotation-based rotation data building step refers to an operation performed by the above-described rotation-based rotation data building unit.

통행시간 추출단계는 서버에 저장된 회전데이터에서 회전 ID에 해당하는 통행시간을 추출하여 상기 회전기반 회전데이터 구축단계에서 구축한 회전데이터에 저장할 수 있다. 통행시간 추출단계는 전술한 통행시간 추출부에서 수행되는 동작을 의미한다.The travel time extraction step may extract the travel time corresponding to the rotation ID from the rotation data stored in the server and store it in the rotation data constructed in the rotation-based rotation data construction step. The travel time extraction step refers to an operation performed by the aforementioned travel time extraction unit.

회전기반 경로 탐색단계는 회전기반 회전데이터 구축단계에서 구축한 회전데이터를 기준으로 최적 경로를 추출할 수 있다. 회전기반 경로 탐색단계는 전술한 회전기반 경로 탐색단계에서 수행되는 동작을 의미한다.In the rotation-based path search step, an optimal path may be extracted based on rotation data constructed in the rotation-based rotation data construction step. The rotation-based path search step refers to an operation performed in the aforementioned rotation-based path search step.

회전기반 경로 탐색단계는 출발 노드에 직접 연결된 링크에서 회전 가능한 인접 링크를 검색하여 이전 링크번호와 통행시간을 포함하는 라벨을 부여하는 단계, 표식을 갖는 라벨이 없는 경우 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하는 단계, 표식을 갖는 라벨이 부여된 링크에서 회전 가능한 인접 링크를 검색하여 라벨을 부여하는 단계, 표식을 갖는 라벨을 제외한 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하고 이전 표식을 갖는 라벨을 삭제하는 단계, 및 도착 노드에 직접 연결된 링크의 라벨에 포함된 이전 링크번호를 역순으로 연결하여 최적 경로를 추출하는 단계을 포함할 수 있다. The turn-based route search step searches for adjacent rotatable links among the links directly connected to the starting node and assigns a label including the previous link number and travel time. If there is no label with a marker, travel time among the labeled links Retrieving this shortest link, labeling the retrieved link, searching for adjacent rotatable links from the links labeled with the marker and labeling them, assigning labels excluding the labeled with the marker Retrieving the link with the shortest travel time among the found links, displaying a mark on the label of the searched link and deleting the label with the previous mark, and the previous link number included in the label of the link directly connected to the destination node in reverse order. It may include a step of extracting an optimal path by connecting.

이상에서 대표적인 실시예를 통하여 본 발명을 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명한 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다. Although the present invention has been described in detail through representative embodiments, those skilled in the art will understand that various modifications are possible to the above-described embodiments without departing from the scope of the present invention. will be. Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined, and should be defined by all changes or modifications derived from the claims and equivalent concepts as well as the claims to be described later.

1 : 최적경로 탐색 시스템
3 : 서버
100 : 회전기반 회전데이터 구축부
300 : 통행시간 추출부
500 : 회전기반 경로 탐색부
510 : 제 1 라벨링 모듈
520 : 표식 모듈
530 : 제 2 라벨링 모듈
540 : 표식 변경 모듈
550 : 최적경로 추출 모듈
560 : 라벨 제거 모듈
1: Optimal path search system
3: Server
100: rotation-based rotation data construction unit
300: travel time extraction unit
500: rotation-based path search unit
510: first labeling module
520: mark module
530: second labeling module
540: mark change module
550: optimal path extraction module
560: label removal module

Claims (9)

노드 ID와 좌표로 구성된 노드 데이터, 링크 ID, 출발 노드 ID, 및 도착 노드 ID로 구성된 링크 데이터, 또는 회전 가능성에 대한 정보를 포함하는 회전제약 데이터를 서버에서 읽어와 최적경로를 탐색하는 최적경로 탐색 시스템에 있어서,
상기 링크 데이터에 포함된 링크에서 인접한 링크로 이동 가능한 회전을 생성하고 생성된 회전의 회전 ID, 출발링크 ID, 도착링크 ID, 또는 통행시간을 포함하는 회전기반 회전데이터 구조를 구축하는 회전기반 회전데이터 구축부;
상기 서버에 저장된 회전데이터에서 회전 ID에 해당하는 통행시간을 추출하여 상기 회전기반 회전데이터 구축부가 구축한 회전기반 회전데이터에 저장하는 통행시간 추출부;
상기 회전기반 회전데이터 구축부가 구축한 회전기반 회전데이터를 기준으로 최적 경로를 추출하는 회전기반 경로 탐색부를 포함하는 것을 특징으로 하는 최적경로 탐색 시스템.
Node data consisting of node ID and coordinates, link data consisting of link ID, starting node ID, and arrival node ID, or rotation constraint data including rotation possibility information are read from the server to search for an optimal path. in the system,
Rotation-based rotation data for constructing a rotation-based rotation data structure that generates a rotation that can move from a link included in the link data to an adjacent link and includes the rotation ID, departure link ID, arrival link ID, or travel time of the generated rotation. construction department;
a travel time extraction unit extracting travel time corresponding to a rotation ID from rotation data stored in the server and storing the travel time in the rotation-based rotation data constructed by the rotation-based rotation data construction unit;
An optimal path search system comprising a rotation-based path search unit for extracting an optimal path based on the rotation-based rotation data built by the rotation-based rotation data construction unit.
제 1 항에 있어서,
상기 통행시간 추출부는,
상기 서버에 저장된 회전데이터가 출발링크 ID, 도착링크 ID, 및 통행시간을 포함하는 링크기반 회전데이터인 경우, 회전기반 회전데이터로 변환하여, 변환된 회전기반 회전데이터에서 회전 ID에 해당하는 통행시간을 추출하는 것을 특징으로 하는 최적경로 탐색 시스템.
According to claim 1,
The travel time extraction unit,
If the rotation data stored in the server is link-based rotation data including a departure link ID, an arrival link ID, and travel time, it is converted into rotation-based rotation data, and travel time corresponding to the rotation ID in the converted rotation-based rotation data. Optimal path search system, characterized in that for extracting.
제 1 항에 있어서,
상기 통행시간 추출부는,
상기 서버에 저장된 회전데이터가 출발노드 ID, 중간노드 ID, 도착노드 ID, 및 통행시간으로 구성된 노드기반 회전데이터인 경우, 출발노드 ID와 중간노드 ID에 대응되는 링크 ID를 출발링크 ID로 저장하고 중간노드 ID와 도착노드 ID에 대응되는 링크 ID를 도착링크 ID로 저장하여, 출발링크 ID, 도착링크 ID, 및 통행시간을 포함하는 링크기반 회전데이터로 변환하고,
변환된 링크기반 회전 데이터는 회전기반 회전데이터로 변환하여, 변환된 회전기반 회전데이터에서 회전 ID에 해당하는 통행시간을 추출하는 것을 특징으로 하는 최적경로 탐색 시스템.
According to claim 1,
The travel time extraction unit,
If the rotation data stored in the server is node-based rotation data composed of a start node ID, an intermediate node ID, an arrival node ID, and a travel time, a link ID corresponding to the start node ID and the intermediate node ID is stored as a start link ID, Link IDs corresponding to the intermediate node ID and destination node ID are stored as arrival link IDs, and converted into link-based rotation data including departure link ID, arrival link ID, and travel time;
The converted link-based rotation data is converted into rotation-based rotation data, and a travel time corresponding to a rotation ID is extracted from the converted rotation-based rotation data.
제 1 항에 있어서,
상기 회전기반 회전데이터 구축부는,
회전제약 데이터가 있는 링크에서는 회전제약 데이터가 회전 금지 데이터이면 생성된 회전에서 금지되는 회전을 삭제하고, 회전제약 데이터가 유턴 허용 데이터이면 유턴하는 회전을 생성하며,
회전제약 데이터가 없는 링크에서는 유턴하는 회전을 제외하고 인접한 링크로 이동 가능한 회전을 생성하는 것을 특징으로 하는 최적경로 탐색 시스템.
According to claim 1,
The rotation-based rotation data construction unit,
In a link with rotation constraint data, if the rotation constraint data is rotation prohibited data, the rotation prohibited from the generated rotation is deleted, and if the rotation constraint data is U-turn permitted data, a rotation that makes a U-turn is created,
An optimal path search system characterized in that in a link without rotation constraint data, a rotation that can be moved to an adjacent link is generated except for a rotation that makes a U-turn.
제 1 항에 있어서,
상기 회전기반 경로 탐색부는,
출발 노드에 직접 연결된 링크에서 회전 가능한 인접 링크를 검색하여 이전 링크번호와 통행시간을 포함하는 라벨을 부여하는 제1 라벨링 모듈;
표식을 갖는 라벨이 없는 경우 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하는 표식 모듈;
표식을 갖는 라벨이 부여된 링크에서 회전 가능한 인접 링크를 검색하여 라벨을 부여하는 제2 라벨링 모듈;
표식을 갖는 라벨을 제외한 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 새로운 표식을 표시하고 이전 표식을 갖는 라벨을 삭제하는 표식 변경 모듈;
도착 노드에 직접 연결된 링크의 라벨에 포함된 이전 링크번호를 역순으로 연결하여 최적 경로를 추출하는 최적경로 추출 모듈을 포함하는 것을 특징으로 하는 최적경로 탐색 시스템.
According to claim 1,
The rotation-based path search unit,
A first labeling module for searching for adjacent rotatable links from links directly connected to the starting node and assigning a label including a previous link number and travel time;
a marker module for searching for a link having the shortest travel time among labeled links when there is no label with a marker, and displaying a marker on the label of the searched link;
a second labeling module for searching for a rotatable adjacent link among labeled links having a mark and assigning a label thereto;
a label change module that searches for a link with the shortest travel time among labeled links excluding labels with a label, displays a new label on the label of the searched link, and deletes the label with the previous label;
An optimal route search system comprising an optimal route extraction module for extracting an optimal route by connecting previous link numbers included in the label of a link directly connected to the destination node in reverse order.
제 5 항에 있어서,
상기 회전기반 경로 탐색부는,
하나의 링크에 부여된 라벨이 복수개인 경우에는 통행시간이 가장 작은 라벨을 제외한 라벨을 제거하는 라벨 제거 모듈을 더 포함하는 것을 특징으로 하는 최적경로 탐색 시스템.
According to claim 5,
The rotation-based path search unit,
When a plurality of labels are assigned to one link, the optimal path search system further comprises a label removal module for removing labels other than the label with the smallest travel time.
제 1 항에 있어서,
상기 회전기반 경로 탐색부는,
상위 버켓 내부에 하위 버켓을 구성하는 이중 버켓 데이터 구조를 사용하여 최적경로를 탐색하는 것을 특징으로 하는 최적경로 탐색 시스템.
According to claim 1,
The rotation-based path search unit,
An optimal path search system characterized by searching for an optimal path using a double bucket data structure constituting a lower bucket inside an upper bucket.
노드 ID와 좌표로 구성된 노드 데이터, 링크 ID, 출발 노드 ID, 및 도착 노드 ID로 구성된 링크 데이터, 또는 회전 가능성에 대한 정보를 포함하는 회전제약 데이터를 서버에서 읽어와 최적경로를 탐색하는 최적경로 탐색 방법에 있어서,
상기 링크 데이터에 포함된 링크에서 인접한 링크로 이동 가능한 회전을 생성하고 생성된 회전의 회전 ID, 출발링크 ID, 도착링크 ID, 또는 통행시간을 포함하는 회전기반 회전데이터 구조를 구축하는 회전기반 회전데이터 구축단계;
상기 서버에 저장된 회전데이터에서 회전 ID에 해당하는 통행시간을 추출하여 상기 회전기반 회전데이터 구축단계에서 구축한 회전기반 회전데이터에 저장하는 통행시간 추출단계;
상기 회전기반 회전데이터 구축단계에서 구축한 회전기반 회전데이터를 기준으로 최적 경로를 추출하는 회전기반 경로 탐색단계를 포함하는 것을 특징으로 하는 최적경로 탐색 방법.
Node data consisting of node ID and coordinates, link data consisting of link ID, starting node ID, and arrival node ID, or rotation constraint data including rotation possibility information are read from the server to search for an optimal path. in the method,
Rotation-based rotation data for constructing a rotation-based rotation data structure that generates a rotation that can move from a link included in the link data to an adjacent link and includes the rotation ID, departure link ID, arrival link ID, or travel time of the generated rotation. construction phase;
a travel time extraction step of extracting a travel time corresponding to a rotation ID from rotation data stored in the server and storing the travel time in the rotation-based rotation data constructed in the rotation-based rotation data construction step;
and a rotation-based path search step of extracting an optimal path based on the rotation-based rotation data constructed in the rotation-based rotation data construction step.
제 8 항에 있어서,
상기 회전기반 경로 탐색단계는,
출발 노드에 직접 연결된 링크에서 회전 가능한 인접 링크를 검색하여 이전 링크번호와 통행시간을 포함하는 라벨을 부여하는 단계;
표식을 갖는 라벨이 없는 경우 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하는 단계;
표식을 갖는 라벨이 부여된 링크에서 회전 가능한 인접 링크를 검색하여 라벨을 부여하는 단계;
표식을 갖는 라벨을 제외한 라벨이 부여된 링크 중 통행시간이 가장 짧은 링크를 검색하고, 검색된 링크의 라벨에 표식을 표시하고 이전 표식을 갖는 라벨을 삭제하는 단계;
도착 노드에 직접 연결된 링크의 라벨에 포함된 이전 링크번호를 역순으로 연결하여 최적 경로를 추출하는 단계을 포함하는 것을 특징으로 하는 최적경로 탐색 방법.
According to claim 8,
In the rotation-based path search step,
Searching for an adjacent rotatable link from links directly connected to the starting node and assigning a label including a previous link number and travel time;
If there is no label with a mark, searching for a link having the shortest travel time among the labeled links, and displaying a mark on the label of the searched link;
searching for adjacent rotatable links in the labeled links having a marker and assigning labels thereto;
searching for a link with the shortest travel time among labeled links excluding labels with a mark, displaying a mark on a label of the searched link, and deleting a label with a previous mark;
An optimal route search method comprising the step of extracting an optimal route by connecting previous link numbers included in labels of links directly connected to the destination node in reverse order.
KR1020210148195A 2021-11-01 2021-11-01 Turn-based optimal path search method and system KR102668821B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210148195A KR102668821B1 (en) 2021-11-01 2021-11-01 Turn-based optimal path search method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210148195A KR102668821B1 (en) 2021-11-01 2021-11-01 Turn-based optimal path search method and system

Publications (2)

Publication Number Publication Date
KR20230063199A true KR20230063199A (en) 2023-05-09
KR102668821B1 KR102668821B1 (en) 2024-05-27

Family

ID=86409257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210148195A KR102668821B1 (en) 2021-11-01 2021-11-01 Turn-based optimal path search method and system

Country Status (1)

Country Link
KR (1) KR102668821B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060178819A1 (en) * 2005-02-04 2006-08-10 Microsoft Corporation Efficient navigation routing system and method
KR20070070700A (en) 2005-12-29 2007-07-04 에스케이 주식회사 Method and system for providing traffic information
KR20120002416A (en) * 2010-06-30 2012-01-05 현대자동차주식회사 System for providing traffic information with turning information in crossroads and thereof method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060178819A1 (en) * 2005-02-04 2006-08-10 Microsoft Corporation Efficient navigation routing system and method
KR20070070700A (en) 2005-12-29 2007-07-04 에스케이 주식회사 Method and system for providing traffic information
KR20120002416A (en) * 2010-06-30 2012-01-05 현대자동차주식회사 System for providing traffic information with turning information in crossroads and thereof method

Also Published As

Publication number Publication date
KR102668821B1 (en) 2024-05-27

Similar Documents

Publication Publication Date Title
CN101313304B (en) Schematic destination maps
Rosvall et al. Networks and cities: An information perspective
JP3793032B2 (en) Road guide method and apparatus
JP5300821B2 (en) Traffic information description model establishment method, traffic information element knowledge base generation method, traffic information conversion method, traffic information description model establishment device, traffic information element knowledge base generation device, and traffic information conversion device
CN103323018B (en) Based on feature identification and the method for fast searching of the hotspot path of period
JP5440217B2 (en) Map data and electronic equipment
JP5440219B2 (en) Map data and map data creation method
JP2008242053A (en) Road map data structure, road map data storage medium, navigation device, and road map data generation method
JP2008089375A (en) Data updating system, navigation device, and data updating method
Chen et al. ScenicPlanner: planning scenic travel routes leveraging heterogeneous user-generated digital footprints
JP2001165681A (en) Traffic network route searing method
KR20210117235A (en) Method for managing travel route database based on location and server for the method
Wang et al. Constrained route planning over large multi-modal time-dependent networks
KR20230063199A (en) Turn-based optimal path search method and system
Falek et al. Muse: Multimodal separators for efficient route planning in transportation networks
CN113656979B (en) Road network data generation method and device, electronic equipment and storage medium
CN103246650A (en) Road logic model and manufacture method thereof
CN112269845B (en) Method for quickly matching electronic road map and bus route facing to different source data
CN114580796A (en) Tour attribute path planning method
Alivand et al. Choice set generation for modeling scenic route choice behavior with geographic information systems
JP2005338032A (en) Positional information providing device and positional information using terminal
Babu et al. Urban delay tolerant network simulator (udtnsim v0. 1)
JP2010217459A (en) Device, system, program, and method for managing road network diagram
JP2016095425A (en) Map data creation device and computer program
KR102553026B1 (en) FDB-based roadmap generation device and method for route search

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant