KR102474014B1 - Method and apparatus for finding matching routes between different map databases - Google Patents

Method and apparatus for finding matching routes between different map databases Download PDF

Info

Publication number
KR102474014B1
KR102474014B1 KR1020220046265A KR20220046265A KR102474014B1 KR 102474014 B1 KR102474014 B1 KR 102474014B1 KR 1020220046265 A KR1020220046265 A KR 1020220046265A KR 20220046265 A KR20220046265 A KR 20220046265A KR 102474014 B1 KR102474014 B1 KR 102474014B1
Authority
KR
South Korea
Prior art keywords
path
candidate
obtaining
link
links
Prior art date
Application number
KR1020220046265A
Other languages
Korean (ko)
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 PCT/KR2022/014090 priority Critical patent/WO2023191205A1/en
Priority to KR1020220163911A priority patent/KR20230139765A/en
Application granted granted Critical
Publication of KR102474014B1 publication Critical patent/KR102474014B1/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
    • 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
    • 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
    • G01C21/3492Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G06Q50/40

Abstract

Disclosed is a method for obtaining a second route of a second map database matching a first route, which is a route of a first map database, between different map databases composed of nodes and links. The method comprises the steps of: matching data on a first map database and data on a second map database by using the same coordinate system; obtaining candidate links, which match a first route, from a second database based on coordinate information of the first route; obtaining a start candidate link group and an end candidate link group from among the candidate links, based on information on an angle formed with a link included in the first route; and obtaining a second route by searching for a route connecting a link included in the start candidate link group and a link included in the end candidate link group.

Description

서로 다른 지도 데이터 베이스 사이에서 매칭되는 경로를 찾는 방법 및 장치{METHOD AND APPARATUS FOR FINDING MATCHING ROUTES BETWEEN DIFFERENT MAP DATABASES}Method and device for finding matching routes between different map databases

본 개시는 서로 다른 지도 데이터 베이스 사이에서 매칭되는 경로를 찾기 위한 방법을 위한 것이다. The present disclosure is for a method for finding matching routes between different map databases.

국내 도로 교통 현황은 국내 표준노드링크 형태 만으로 제공한다. 이에, 다른 지도 데이터 양식을 활용하여 서비스를 제공하는 경우, 국내 도로 교통현황을 반영할 수 없는 문제점이 있다. 특히, 구글의 경우 OSM(Open Street Map)data model 방식으로 지도 데이터를 제공하며, 이는 국내의 표준노드링크와 정확히 매칭되지 않으며, 그 결과, OSM을 활용하여 서비스를 제공하는 회사들은 국내 도로 교통현황을 제공하기 힘든 문제점이 있었다.Domestic road traffic conditions are provided only in the form of domestic standard node links. Accordingly, when services are provided using other map data formats, there is a problem in that the domestic road traffic conditions cannot be reflected. In particular, Google provides map data in the OSM (Open Street Map) data model method, which does not exactly match with domestic standard node links. There was a problem that was difficult to provide.

이를 해결하기 위해서, 다른 지도 데이터 사이에서 정확히 매칭되는 경로를 찾기 위한 방법이 연구되고 있다.In order to solve this problem, research is being conducted on a method for finding a route that is accurately matched between different map data.

등록 특허 제 1538042호는 다른 데이터 방식(2D 와 3D) 사이에서 경로를 변환하는 방법을 제공하고 있다.Registered Patent No. 1538042 provides a method for converting paths between different data formats (2D and 3D).

본 개시는 전술한 배경기술에 대응하여 안출 된 것으로, 서로 다른 지도 데이터 베이스 사이에서, 제 1 지도 데이터 베이스의 경로와 정확히 매칭되는 제 2 지도 데이터베이스의 경로를 찾는 방법을 제공하고자 한다.The present disclosure has been made in response to the aforementioned background art, and aims to provide a method for finding a route of a second map database that exactly matches a route of a first map database among different map databases.

전술한 과제를 해결하기 위하여, 노드와 링크로 구성된 서로 다른 지도 데이터 베이스 사이에서, 제 1 지도 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 지도 데이터 베이스의 제 2 경로를 획득하는 방법이 제공된다. 상기 방법은, 제 1 지도 데이터 베이스의 데이터와 제 2 지도 데이터 베이스의 데이터를 동일한 좌표계로 매칭시키는 단계; 기 제 1 경로의 좌표 정보에 기초하여 상기 제 1 경로와 매칭되는 후보 링크들을 제 2 데이터 베이스에서 획득하는 단계; 기 제 1 경로에 포함된 링크와 이루는 각도 정보에 기초하여, 상기 후보 링크들 중에서 시작 후보 링크 그룹 및 종료 후보 링크 그룹을 획득하는 단계; 및 작 후보 링크 그룹에 포함된 링크와 종료 후보 링크 그룹에 포함된 링크를 연결하는 경로를 탐색함으로써, 상기 제 2 경로를 획득하는 단계; 포함할 수 있다.In order to solve the above problem, a method for obtaining a second path of a second map database that matches a first path that is a path of a first map database between different map databases composed of nodes and links is provided. do. The method may include matching data of a first map database and data of a second map database in the same coordinate system; obtaining candidate links matching the first route from a second database based on coordinate information of the first route; obtaining a start candidate link group and an end candidate link group from among the candidate links, based on angle information formed with a link included in the first path; and acquiring the second path by searching for a path connecting a link included in the starting candidate link group and a link included in the ending candidate link group. can include

대안적으로, 후보 링크들을 제 2 데이터 베이스에서 획득하는 단계는: 기 제 1 경로에 포함된 적어도 하나의 링크들에 포함된 위도 좌표 정보를 획득하는 단계; 기 제 1 경로에 포함된 적어도 하나의 링크들에 포함된 경도 좌표 정보를 획득하는 단계; 기 위도 좌표 정보 및 경도 좌표 정보에 기초하여 적어도 하나의 평면을 획득하는 단계; 기 획득한 적어도 하나의 평면을 사전 결정된 오차범위에 기초하여 확장하는 단계; 기 확장된 평면에 기초하여 제 2 지도 데이터 베이스의 노드들을 획득하는 단계; 및 기 획득된 노드들을 포함하는 링크들을 후보 링크들로 획득하는 단계; 를 포함할 수 있다.Alternatively, acquiring the candidate links from the second database may include: obtaining latitude coordinate information included in at least one link included in the first route; obtaining longitude coordinate information included in at least one link included in the first route; obtaining at least one plane based on the latitude coordinate information and the longitude coordinate information; extending at least one previously acquired plane based on a predetermined error range; obtaining nodes of a second map database based on the previously expanded plane; and obtaining links including previously obtained nodes as candidate links; can include

대안적으로, 상기 시작 후보 링크 그룹과 상기 종료 후보 링크 그룹을 획득하는 단계는: 상기 제 1 경로의 최초 링크와 이루는 각도가 제 1 각도 이하인 링크들을 시작 후보 링크 그룹으로 결정하는 단계; 및 상기 제 2 경로의 최후 링크와 이루는 각도가 제 2 각도 이하인 링크들을 종료 후보 링크 그룹으로 결정하는 단계; 를 포함할 수 있다.Alternatively, the acquiring of the starting candidate link group and the ending candidate link group may include: determining links having an angle less than or equal to a first angle with the first link of the first path as starting candidate link groups; and determining links having an angle less than or equal to a second angle with the last link of the second path as termination candidate link groups. can include

대안적으로, 상기 제 1 각도와 상기 제 2 각도는 모두 20도일 수 있다.Alternatively, both the first angle and the second angle may be 20 degrees.

대안적으로, 상기 시작 후보 링크 그룹으로 결정하는 단계는 상기 제 1 경로의 최초링크와의 거리정보를 더 고려하여 시작 후보 링크 그룹을 결정하고, 상기 종료 후보 링크 그룹으로 결정하는 단계는 상기 제 1 경로의 최후링크와의 거리정보를 더 고려하여 종료 후보 링크 그룹을 결정할 수 있다.Alternatively, in the determining of the starting candidate link group, the starting candidate link group is determined by further considering distance information from the first link of the first path, and the determining of the ending candidate link group includes the first link group. An ending candidate link group may be determined by further considering distance information from the last link of the path.

대안적으로, 상기 시작 후보 링크 그룹은 복수개의 링크를 포함하고, 상기 종료 후보 링크 그룹도 복수개의 링크를 포함하며, 상기 제 2 경로를 획득하는 단계에서 상기 컴퓨팅 장치는: 시작 후보 링크 그룹에 포함된 링크와 종료 후보 링크 그룹에 포함된 링크를 잇는 경로들 중 최단거리 경로를 후보 경로로서 획득함으로써 상기 시작 후보 링크 그룹에 포함된 복수개의 링크 각각과 종료 후보 링크 그룹에 포함된 복수개의 링크 각각을 잇는 복수개의 후보 경로를 획득하고, 획득한 후보 경로들 중 제 2 경로를 획득할 수 있다.Alternatively, the starting candidate link group includes a plurality of links, the ending candidate link group also includes a plurality of links, and in the step of acquiring the second path, the computing device: included in the starting candidate link group Each of the plurality of links included in the start candidate link group and each of the plurality of links included in the end candidate link group is obtained as a candidate path among paths connecting the linked link and the link included in the end candidate link group. It is possible to obtain a plurality of candidate paths that connect, and obtain a second path among the obtained candidate paths.

대안적으로, 상기 컴퓨팅 장치는, 상기 제 1 경로의 시작 노드와의 거리 정보 및 상기 제 1 경로의 종료 노드와의 거리 정보에 기초하여 상기 후보 경로들 중 상기 제 2 경로를 선택할 수 있다.Alternatively, the computing device may select the second path from among the candidate paths based on distance information from a start node of the first path and distance information from an end node of the first path.

전술한 과제를 해결하기 위한 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서가 노드와 링크로 구성된 서로 다른 지도 데이터 베이스 사이에서 제 1 지도 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 지도 데이터 베이스의 제 2 경로를 획득하도록 하는 명령들을 포함하며, 상기 명령들은, 제 1 데이터 베이스의 데이터와 제 2 데이터 베이스의 데이터를 동일한 좌표계로 매칭시키는 단계; 상기 제 1 경로의 좌표 정보에 기초하여 상기 제 1 경로와 매칭되는 후보 링크들을 제 2 데이터 베이스에서 획득하는 단계; 상기 제 1 경로에 포함된 링크와 이루는 각도 정보에 기초하여, 상기 후보 링크들 중에서 시작 후보 링크 그룹 및 종료 후보 링크 그룹을 획득하는 단계; 및 시작 후보 링크 그룹에 포함된 링크와 종료 후보 링크 그룹에 포함된 링크를 연결하는 경로를 탐색함으로써, 상기 제 2 경로를 획득하는 단계; 를 포함하는,컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.A computer program stored in a computer readable storage medium for solving the above problems, wherein the computer program is configured to generate a first path that is a path of a first map database between different map databases composed of nodes and links by one or more processors. It includes instructions for obtaining a second path of a second map database that matches, the instructions comprising: matching data of the first database and data of the second database to the same coordinate system; obtaining candidate links matching the first route from a second database based on coordinate information of the first route; obtaining a start candidate link group and an end candidate link group from among the candidate links, based on angle information formed with a link included in the first path; and acquiring the second path by searching for a path connecting a link included in the starting candidate link group and a link included in the ending candidate link group. Including, it can provide a computer program stored in a computer-readable storage medium.

본 개시는 제 1 지도 데이터 베이스의 경로와 정확히 매칭되는 제 2 지도 데이터베이스의 경로를 획득할 수 있다.According to the present disclosure, a route of a second map database that exactly matches a route of a first map database may be obtained.

도 1 은 본 개시의 일 실시예에 따른 지도 데이터 베이스를 설명하기 위한 도면이다.
도 2 는 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)를 설명하기 위한 도면이다.
도 3 은 본 개시의 일 실시예에 따라, 컴퓨팅 장치(100)가 제 2 경로를 획득하는 방법을 설명하기 위한 도면이다.
도 4A 내지 도 4C는 본 개시의 일 실시예에 따라 제 2 경로를 획득하는 방법을 보여주기 위한 도면이다.
도 5는 본 개시의 다른 실시예에 따라 후보 경로들을 획득하는 방법을 설명하기 위한 도면이다.
도 6 은 본 개시의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 략하고 일반적인 개략도이다.
1 is a diagram for explaining a map database according to an embodiment of the present disclosure.
2 is a diagram for explaining a computing device 100 according to an embodiment of the present disclosure.
FIG. 3 is a diagram for explaining a method of obtaining a second path by the computing device 100 according to an embodiment of the present disclosure.
4A to 4C are diagrams illustrating a method of obtaining a second path according to an embodiment of the present disclosure.
5 is a diagram for explaining a method of obtaining candidate routes according to another embodiment of the present disclosure.
6 is a simplified and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

다양한 실시예들이 이제 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본 개시의 이해를 제공하기 위해서 제시된다. 그러나, 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다.Various embodiments are now described with reference to the drawings. In this specification, various descriptions are presented to provide an understanding of the present disclosure. However, it is apparent that these embodiments may be practiced without these specific details.

본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통해 전송되는 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.The terms “component,” “module,” “system,” and the like, as used herein, refer to a computer-related entity, hardware, firmware, software, a combination of software and hardware, or an execution of software. For example, a component may be, but is not limited to, a procedure, processor, object, thread of execution, program, and/or computer running on a processor. For example, both an application running on a computing device and a computing device may be components. One or more components may reside within a processor and/or thread of execution. A component can be localized within a single computer. A component may be distributed between two or more computers. Also, these components can execute from various computer readable media having various data structures stored thereon. Components may be connected, for example, via signals with one or more packets of data (e.g., data and/or signals from one component interacting with another component in a local system, distributed system) to other systems and over a network such as the Internet. data being transmitted) may communicate via local and/or remote processes.

더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless otherwise specified or clear from the context, “X employs A or B” is intended to mean one of the natural inclusive substitutions. That is, X uses A; X uses B; Or, if X uses both A and B, "X uses either A or B" may apply to either of these cases. Also, the term "and/or" as used herein should be understood to refer to and include all possible combinations of one or more of the listed related items.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는"이라는 용어는, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.Also, the terms "comprises" and/or "comprising" should be understood to mean that the features and/or components are present. However, it should be understood that the terms "comprises" and/or "comprising" do not exclude the presence or addition of one or more other features, elements, and/or groups thereof. Also, unless otherwise specified or where the context clearly indicates that a singular form is indicated, the singular in this specification and claims should generally be construed to mean "one or more".

그리고, “A 또는 B 중 적어도 하나”이라는 용어는, “A만을 포함하는 경우”, “B 만을 포함하는 경우”, “A와 B의 구성으로 조합된 경우”를 의미하는 것으로 해석되어야 한다. In addition, the term “at least one of A or B” should be interpreted as meaning “when only A is included”, “when only B is included”, and “when A and B are combined”.

당업자들은 추가적으로 여기서 개시된 실시예들과 관련되어 설명된 다양한 예시적 논리적 블록들, 구성들, 모듈들, 회로들, 수단들, 로직들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수 있음을 인식해야 한다. 하드웨어 및 소프트웨어의 상호교환성을 명백하게 예시하기 위해, 다양한 예시적 컴포넌트들, 블록들, 구성들, 수단들, 로직들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그러한 기능성이 하드웨어로 또는 소프트웨어로서 구현되는지 여부는 전반적인 시스템에 부과된 특정 어플리케이션(application) 및 설계 제한들에 달려 있다. 숙련된 기술자들은 각각의 특정 어플리케이션들을 위해 다양한 방법들로 설명된 기능성을 구현할 수 있다. 다만, 그러한 구현의 결정들이 본 개시내용의 영역을 벗어나게 하는 것으로 해석되어서는 안된다.Those skilled in the art will further understand that the various illustrative logical blocks, components, modules, circuits, means, logics, and algorithm steps described in connection with the embodiments disclosed herein may be implemented using electronic hardware, computer software, or combinations of both. It should be recognized that it can be implemented as To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, configurations, means, logics, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented in hardware or as software depends on the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application. However, such implementation decisions should not be interpreted as causing a departure from the scope of this disclosure.

제시된 실시예들에 대한 설명은 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다. 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예 들로 한정되는 것이 아니다. 본 발명은 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다. The description of the presented embodiments is provided to enable any person skilled in the art to use or practice the present invention. Various modifications to these embodiments will be apparent to those skilled in the art of this disclosure. The general principles defined herein may be applied to other embodiments without departing from the scope of this disclosure. Thus, the present invention is not limited to the embodiments presented herein. The present invention is to be accorded the widest scope consistent with the principles and novel features set forth herein.

도 1 은 본 개시의 일 실시예에 따른 지도 데이터 베이스를 설명하기 위한 도면이다.1 is a diagram for explaining a map database according to an embodiment of the present disclosure.

본 개시의 일 실시예에 따르면, 지도 데이터 베이스는 노드와 링크로 구성될 수 있다. According to an embodiment of the present disclosure, a map database may be composed of nodes and links.

여기서, 노드는 차량이 도로를 주행함에 있어 속도의 변화가 발생되는 곳을 표현한 것일 수 있다. 구체적으로, 노드는 교차로, 고가도로시종점, 도로의 시종점, 지하차도 시종점, 터널 시종점, 행정 경계 등을 표현한 것일 수 있으며, 이에 한정되지 않는다.Here, the node may represent a place where a change in speed occurs when the vehicle travels on the road. Specifically, the node may represent an intersection, an overpass, a starting and ending point of a road, an underpass starting and ending point, a tunnel starting and ending point, an administrative boundary, and the like, but is not limited thereto.

또한, 링크는 속도변화 발생점인 노드와 노드를 연결한 선을 의미할 수 있으며, 현실의 도로를 표현한 것일 수 있다. 구체적으로, 링크는 도로, 교량, 고가도로, 지하차도, 터널 등을 표현할 것일 수 있으며, 이에 한정되지 않는다.In addition, the link may mean a node that is a speed change occurrence point and a line connecting the node, and may represent a real road. Specifically, the links may represent roads, bridges, overpasses, underpasses, tunnels, and the like, but are not limited thereto.

지도 데이터 베이스는 구축의 주체에 따라 상이하게 구축될 수 있다. 예를 들어, 국내의 동일한 장소에 대해서 지도 데이터 베이스를 구축하더라도, 한국에서 구축한 지도 데이터와 해외의 국가에서 구축한 지도 데이터는 서로 상이할 수 있다.The map database may be constructed differently depending on the subject of construction. For example, even if a map database is constructed for the same place in Korea, map data constructed in Korea and map data constructed in foreign countries may be different from each other.

한국의 정부에서는 교통량 데이터를 정부에서 구축한 지도 데이터에 매칭시켜서 제공하고 있다. 그 결과, 다른 주체가 구축한 국내의 지도 데이터를 활용하여 서비스를 제공하는 경우, 교통량 데이터를 활용하기 어려운 단점이 있어, 국내에서 구축한 지도데이터와 해외의 국가에서 구축한 지도 데이터를 매칭시킬 필요가 있다.The Korean government provides traffic data by matching it with map data built by the government. As a result, when providing services using domestic map data built by other entities, there is a disadvantage in that it is difficult to utilize traffic data, so it is necessary to match map data built in Korea with map data built in foreign countries. there is

도 1 의 (a)는, 본개시의 일 실시예에 따라, 제 1 지도 데이터 베이스에서 노드와 링크로 이루어진 하나의 경로(예를 들어, 제 1 경로)를 나타낸다. 제 2 의 (b)는 제 2 지도 데이터 베이스에서 제 1 경로의 인근을 표현한 데이터이며, 이하, 제 2 지도 데이터베이스에서 제 1 경로와 매칭되는 경로를 찾는 방법을 개시한다.1(a) shows one path (eg, a first path) composed of nodes and links in a first map database according to an embodiment of the present disclosure. Part 2 (b) is data representing the neighborhood of the first route in the second map database. Hereinafter, a method for finding a route matching the first route in the second map database will be described.

도 2 는 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)를 설명하기 위한 도면이다.2 is a diagram for explaining a computing device 100 according to an embodiment of the present disclosure.

도 2에 도시된 컴퓨팅 장치(100)의 구성은 간략화 하여 나타낸 예시일 뿐이다. 본 개시의 일 실시예에서 컴퓨팅 장치(100)는 컴퓨팅 장치(100)의 컴퓨팅 환경을 수행하기 위한 다른 구성들이 포함될 수 있고, 개시된 구성들 중 일부만이 컴퓨팅 장치(100)를 구성할 수도 있다. The configuration of the computing device 100 shown in FIG. 2 is only a simplified example. In one embodiment of the present disclosure, the computing device 100 may include other components for performing a computing environment of the computing device 100, and only some of the disclosed components may constitute the computing device 100.

컴퓨팅 장치(100)는 프로세서(110), 메모리(130), 네트워크부(150)를 포함할 수 있다.The computing device 100 may include a processor 110 , a memory 130 , and a network unit 150 .

프로세서(110)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다. 프로세서(110)는 메모리(130)에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 일 실시예에 따른 기계 학습을 위한 데이터 처리를 수행할 수 있다. 본 개시의 일 실시예에 따라 프로세서(110)는 신경망의 학습을 위한 연산을 수행할 수 있다. 프로세서(110)는 딥러닝(DL: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다. 프로세서(110)의 CPU, GPGPU, 및 TPU 중 적어도 하나가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU 와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에서 복수의 컴퓨팅 장치의 프로세서를 함께 사용하여 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에 따른 컴퓨팅 장치에서 수행되는 컴퓨터 프로그램은 CPU, GPGPU 또는 TPU 실행가능 프로그램일 수 있다.The processor 110 may include one or more cores, and includes a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU) of a computing device. unit), data analysis, and processors for deep learning. The processor 110 may read a computer program stored in the memory 130 and process data for machine learning according to an embodiment of the present disclosure. According to an embodiment of the present disclosure, the processor 110 may perform an operation for learning a neural network. The processor 110 is used for neural network learning, such as processing input data for learning in deep learning (DL), extracting features from input data, calculating errors, and updating neural network weights using backpropagation. calculations can be performed. At least one of the CPU, GPGPU, and TPU of the processor 110 may process learning of the network function. For example, the CPU and GPGPU can process learning of network functions and data classification using network functions. In addition, in an embodiment of the present disclosure, the learning of a network function and data classification using a network function may be processed by using processors of a plurality of computing devices together. In addition, a computer program executed in a computing device according to an embodiment of the present disclosure may be a CPU, GPGPU or TPU executable program.

본 개시의 일 실시예에 따르면, 메모리(130)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 정보 및 네트워크부(150)가 수신한 임의의 형태의 정보를 저장할 수 있다.According to an embodiment of the present disclosure, the memory 130 may store any type of information generated or determined by the processor 110 and any type of information received by the network unit 150 .

본 개시의 일 실시예에 따르면, 메모리(130)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 컴퓨팅 장치(100)는 인터넷(internet) 상에서 상기 메모리(130)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다. 전술한 메모리에 대한 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the memory 130 is a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (eg, SD or XD memory, etc.), RAM (Random Access Memory, RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory, ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) -Only Memory), a magnetic memory, a magnetic disk, and an optical disk may include at least one type of storage medium. The computing device 100 may operate in relation to a web storage that performs a storage function of the memory 130 on the Internet. The above description of the memory is only an example, and the present disclosure is not limited thereto.

본 개시의 일 실시예에 따른 네트워크부(150)는 공중전화 교환망(PSTN: Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다. The network unit 150 according to an embodiment of the present disclosure includes a Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), and VDSL ( Various wired communication systems such as Very High Speed DSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and Local Area Network (LAN) may be used.

또한, 본 명세서에서 제시되는 네트워크부(150)는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다. In addition, the network unit 150 presented in this specification includes Code Division Multi Access (CDMA), Time Division Multi Access (TDMA), Frequency Division Multi Access (FDMA), Orthogonal Frequency Division Multi Access (OFDMA), SC-FDMA ( Single Carrier-FDMA) and other systems.

본 개시에서 네트워크부(150)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN: Personal Area Network), 근거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크는 공지의 월드와이드웹(WWW: World Wide Web)일 수 있으며, 적외선(IrDA: Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다.In the present disclosure, the network unit 150 may be configured regardless of its communication mode, such as wired and wireless, and may be configured with various communication networks such as a personal area network (PAN) and a wide area network (WAN). can In addition, the network may be the known World Wide Web (WWW), or may use a wireless transmission technology used for short-range communication, such as Infrared Data Association (IrDA) or Bluetooth.

본 개시의 컴퓨팅 장치(100)는 노드와 링크로 구성된 서로 다른 지도 데이터 베이스 사이에서, 제 1 지도 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 지도 데이터 베이스의 제 2 경로를 획득할 수 있다. 이하, 도 3을 참조하여 자세히 설명 한다.The computing device 100 of the present disclosure may obtain a second path of a second map database that matches a first path of a first map database between different map databases composed of nodes and links. . Hereinafter, it will be described in detail with reference to FIG. 3 .

도 3 은 본 개시의 일 실시예에 따라, 컴퓨팅 장치(100)가 제 2 경로를 획득하는 방법을 설명하기 위한 도면이다.FIG. 3 is a diagram for explaining a method of obtaining a second path by the computing device 100 according to an embodiment of the present disclosure.

단계 S310에서, 컴퓨팅 장치(100)는 제 1 지도 데이터 베이스의 데이터와 제 2 지도 데이터 베이스의 데이터를 동일한 좌표계로 매칭시킬 수 있다.In step S310, the computing device 100 may match data of the first map database and data of the second map database in the same coordinate system.

예를 들어, 컴퓨팅 장치(100)는 제 1 지도 데이터 베이스에 포함된 노드와 링크에 대한 정보와 제 2 지도 데이터 베이스에 포함된 노드와 링크에 대한 정보를 동일한 직교좌표계로 매칭시킬 수 있다.For example, the computing device 100 may match node and link information included in the first map database and node and link information included in the second map database with the same Cartesian coordinate system.

단계 S320에서, 컴퓨팅 장치(100)는 제 1 경로의 좌표 정보에 기초하여 제 1 지도 데이터 베이스의 제 1 경로와 매칭되는 후보 링크들을 제 2 데이터 베이스에서 획득할 수 있다.In step S320, the computing device 100 may obtain candidate links matching the first route of the first map database from the second database based on the coordinate information of the first route.

예를 들어, 컴퓨팅 장치(100)는 제 1 경로의 적어도 하나의 링크들에 포함된 위도 좌표 정보를 획득할 수 있다. 구체적으로 예를 들면, 컴퓨팅 장치(100)는 제 1 경로의 모든 링크들에 포함된 모든 위도 좌표 값을 획득할 수 있다.For example, the computing device 100 may obtain latitude coordinate information included in at least one link of the first route. Specifically, for example, the computing device 100 may obtain all latitude coordinate values included in all links of the first path.

또한, 컴퓨팅 장치(100)는 제 1 경로의 적어도 하나의 링크들에 포함된 경도 좌표 정보를 획득할 수 있다. 구체적으로 예를 들면, 컴퓨팅 장치(100)는 제 1 경로의 모든 링크들에 포함된 모든 경도 좌표 값을 획득할 수 있다. Also, the computing device 100 may obtain longitude coordinate information included in at least one link of the first path. Specifically, for example, the computing device 100 may obtain all longitude coordinate values included in all links of the first path.

또한, 컴퓨팅 장치(100)는 위도 좌표 정보 및 경도 좌표 정보 중 적어도 하나에 기초하여 적어도 하나의 평면을 획득할 수 있다. 구체적으로 예를 들면, 컴퓨팅 장치(100)는 획득한 복수개의 위도 좌표 값들 중 최대값과 최소값, 그리고 획득한 복수개의 경도 좌표 값들 중 최대값과 최소값을 이용하여 하나의 평면을 획득할 수 있다.Also, the computing device 100 may obtain at least one plane based on at least one of latitude coordinate information and longitude coordinate information. Specifically, for example, the computing device 100 may obtain one plane by using the maximum value and the minimum value of the obtained plurality of latitude coordinate values and the maximum value and minimum value of the obtained plurality of longitude coordinate values.

또한, 컴퓨팅 장치(100)는 획득한 적어도 하나의 평면에 기초하여 제 2 지도 데이터 베이스의 노드들을 획득할 수 있고, 획득된 노드들을 포함하는 링크들을 후보 링크들로 획득할 수 있다. 구체적으로 예를 들면, 컴퓨팅 장치(100)는 획득한 평면을 사전 결정된 오차범위에 기초하여 확장하고, 제 2 지도 데이터 상에서 확장된 평면안에 포함된 모든 노드들을 검출할 수 있고, 검출된 노드들 중 적어도 하나를 포함하는 제 2 지도 데이터 상에서의 링크를 후보 링크들로 획득할 수 있다.Also, the computing device 100 may obtain nodes of the second map database based on the obtained at least one plane, and may obtain links including the acquired nodes as candidate links. Specifically, for example, the computing device 100 may expand the acquired plane based on a predetermined error range, detect all nodes included in the expanded plane on the second map data, and among the detected nodes. Links on the second map data including at least one may be obtained as candidate links.

단계 S330에서, 컴퓨팅 장치(100)는 제 1 경로에 포함된 링크와 이루는 각도 정보에 기초하여 후보 링크들 중에서 시작 후보 링크 그룹 및 종료 후보 링크 그룹을 획득할 수 있다.In step S330, the computing device 100 may obtain a start candidate link group and an end candidate link group from among candidate links based on angle information formed with a link included in the first path.

컴퓨팅 장치(100)는 사전 결정된 각도 임계값을 보유할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 시작 후보 링크 그룹을 획득하기 위한 사전 각도 임계값을 보유할 수 있고, 종료 후보 링크 그룹을 획득하기 위한 사전 각도 임계값을 보유할 수 있다. 이 경우, 시작 후보 링크 그룹을 획득하기 위한 사전 각도 임계값과 종료 후보 링크 그룹을 획득하기 위한 사전 각도 임계값은 동일할 수 있다(구체적으로 예를 들어, 사전 각도 임계값은 20도일 수 있으며, 이에 한정되지 않음).Computing device 100 may have a predetermined angle threshold. For example, the computing device 100 may have a prior angle threshold for obtaining a starting candidate link group, and may have a prior angle threshold for obtaining an ending candidate link group. In this case, the preliminary angle threshold for acquiring the starting candidate link group and the preliminary angle threshold for obtaining the ending candidate link group may be the same (specifically, for example, the preliminary angle threshold may be 20 degrees, but not limited to).

컴퓨팅 장치(100)는 후보 링크들 중에서 제 1 경로의 최초링크와 이루는 각도가 사전 각도 임계값 보다 작은 링크들을 시작 후보 링크 그룹으로 결정할 수 있다. 이 경우, 최초링크는 제 1 경로에서 일반적으로 시작 노드와 연결된 링크를 의미하나, 개발자의 선택 또는 도로의 상황에 따라 시작 노드와 연결되지 않은 링크를 의미할 수도 있다.The computing device 100 may determine, as a start candidate link group, links having an angle between the first link of the first path and the first link smaller than a prior angle threshold value among candidate links. In this case, the initial link generally refers to a link connected to the start node in the first path, but may also refer to a link not connected to the start node according to a developer's choice or road conditions.

또한, 컴퓨팅 장치(100)는 제 1 경로의 최초링크와의 거리정보를 더 고려하여 시작 후보 링크 그룹을 결정할 수 있다. 구체적으로, 컴퓨팅 장치(100)는 후보 링크들 중에서 제 1 경로의 최초링크와 이루는 각도가 사전 각도 임계값 보다 작고, 그리고 최초링크와의 거리가 사전 거리 임계값보다 작은 링크들을 시작 후보 링크 그룹으로 결정할 수 있다. 이 경우, 최초링크와 후보링크와의 거리는 최초링크의 끝점(End point)과 후보 링크의 끝점(End Point) 사이의 거리로 정의될 수 있으나, 이에 한정되지 않는다.In addition, the computing device 100 may determine a starting candidate link group by further considering distance information from the first link of the first path. Specifically, the computing device 100 selects, among candidate links, links formed by an angle between the initial link of the first path and a distance from the initial link smaller than a prior angle threshold and a distance from the initial link smaller than a prior distance threshold as starting candidate link groups. can decide In this case, the distance between the initial link and the candidate link may be defined as the distance between the end point of the initial link and the end point of the candidate link, but is not limited thereto.

컴퓨팅 장치(100)는 후보 링크들 중에서 제 1 경로의 최후링크와 이루는 각도가 사전 각도 임계값 보다 작은 링크들을 종료 후보 링크 그룹으로 결정할 수 있다. 이 경우, 최후링크는 제 1 경로에서 일반적으로 종료 노드와 연결된 링크를 의미하나, 개발자의 선택 또는 도로의 상황에 따라 종료 노드와 연결되지 않은 링크를 의미할 수도 있다.The computing device 100 may determine, from among the candidate links, links having an angle between the last link of the first path and a smaller than a prior angle threshold value as the termination candidate link group. In this case, the last link generally means a link connected to the end node in the first path, but may mean a link not connected to the end node according to the developer's choice or road conditions.

또한, 컴퓨팅 장치(100)는 제 1 경로의 최후링크와의 거리정보를 더 고려하여 종료 후보 링크 그룹을 결정할 수 있다. 구체적으로, 컴퓨팅 장치(100)는 후보 링크들 중에서 제 1 경로의 최후링크와 이루는 각도가 사전 각도 임계값 보다 작고, 그리고 최후링크와의 거리가 사전 거리 임계값보다 작은 링크들을 종료 후보 링크 그룹으로 결정할 수 있다. 이 경우, 최후링크와 후보링크와의 거리는 최후링크의 끝점(End point)과 후보 링크의 끝점(End Point) 사이의 거리로 정의될 수 있으나, 이에 한정되지 않는다.Also, the computing device 100 may determine the ending candidate link group by further considering distance information from the last link of the first path. Specifically, the computing device 100 selects, among candidate links, links that have an angle between the last link of the first path and a distance from the last link that is less than a prior angle threshold and a distance from the last link that is less than a prior distance threshold, as termination candidate link groups. can decide In this case, the distance between the last link and the candidate link may be defined as the distance between the end point of the last link and the end point of the candidate link, but is not limited thereto.

단계 340에서, 컴퓨팅 장치(100)는 시작 후보 링크 그룹에 포함된 링크와 종료 후보 링크 그룹에 포함된 링크를 연결하는 경로를 탐색함으로써, 제 2 경로를 획득할 수 있다. 이 경우, 제 2 경로는 제 2 지도 데이터에 포함된 적어도 하나의 노드와 적어도 하나의 링크로 구성된 경로를 의미한다.In operation 340, the computing device 100 may obtain a second path by searching for a path connecting a link included in the starting candidate link group and a link included in the ending candidate link group. In this case, the second path means a path composed of at least one node and at least one link included in the second map data.

본 개시의 일 실시예에 따르면, 컴퓨팅 장치(100)는, 시작 후보 링크 그룹에 포함된 링크와 종료 후보 링크 그룹에 포함된 링크를 잇는 경로를 다익스트라 알고리즘(Dijkstra Algorithm)을 활용하여 획득함으로써, 후보 경로를 획득할 수 있다. 다시 설명하면, 컴퓨팅 장치(100)는 시작 후보 링크 그룹에 포함된 링크와 후보 링크 그룹에 포함된 링크를 잇는 경로들 중 최단거리 경로를 후보 경로로서 획득할 수 있다. 이 경우, 시작 후보 링크 그룹에는 복수개의 링크가 포함되고, 종료 후보 링크 그룹에도 복수개의 링크가 포함되어 있기 때문에, 컴퓨팅 장치(100)는 시작 후보 링크 그룹에 포함된 복수개의 링크 각각과 종료 후보 링크 그룹에 포함된 복수개의 링크 각각을 잇는 복수개의 후보 경로를 획득할 수 있다.According to an embodiment of the present disclosure, the computing device 100 obtains a path connecting a link included in a starting candidate link group and a link included in an ending candidate link group by using the Dijkstra Algorithm, Candidate routes can be obtained. In other words, the computing device 100 may obtain, as a candidate path, a shortest path among paths connecting a link included in the starting candidate link group and a link included in the candidate link group. In this case, since the start candidate link group includes a plurality of links and the end candidate link group also includes a plurality of links, the computing device 100 determines each of the plurality of links included in the start candidate link group and the end candidate link. A plurality of candidate paths connecting each of a plurality of links included in the group may be obtained.

또한, 컴퓨팅 장치(100)는 복수개의 후보 경로들 중에서 제 2 경로를 획득할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 제 1 경로와의 거리 정보에 기초하여, 후보 경로들 중 제 2 경로를 획득할 수 있다. 구체적으로, 컴퓨팅 장치(100)는 후보경로들 중에서 제 1 경로와의 거리 정보가 최소인 경로를 제 2 경로로 획득할 수 있다.Also, the computing device 100 may obtain a second path from among a plurality of candidate paths. For example, the computing device 100 may obtain a second path among candidate paths based on distance information from the first path. Specifically, the computing device 100 may obtain a path having the minimum distance information from the first path among candidate paths as the second path.

이 경우, 제 1 경로와의 거리 정보는 제 1 경로의 시작 노드와 후보 경로의 시작 노드와의 거리(제 1 거리 값) 그리고 제 1 경로의 종료 노드와 후보 경로의 종료 노드와의 거리(제 2 거리 값)를 평균한 값(제 1 거리와 제 2 거리를 평균한 값)을 의미할 수 있으며, 이에 한정되지 않는다.In this case, the distance information from the first path is the distance between the start node of the first path and the start node of the candidate path (first distance value) and the distance between the end node of the first path and the end node of the candidate path (first distance value). 2 distance values) may mean a value obtained by averaging (a value obtained by averaging the first distance and the second distance), but is not limited thereto.

본 개시의 다른 실시예에 따르면, 컴퓨팅 장치(100)는 후보 경로들 중에서 제 2경로를 획득하기 위하여, 제 1 경로에 포함된 모든 좌표점들과 후보 경로에 포함된 링크들 중 제 1 경로와 가장 가까운 링크와의 거리 값들의 합(Value_Sum)을 획득할 수 있다. 또한, 컴퓨팅 장치(100)는 후보 링크들 중에서 획득한 거리 값들의 합(Value_Sum)이 최소인 후보 링크를 제 2 경로로서 획득할 수 있다.According to another embodiment of the present disclosure, the computing device 100 includes all coordinate points included in the first path and a first path among links included in the candidate path, in order to obtain a second path among candidate paths. A sum (Value_Sum) of distance values to the nearest link may be obtained. Also, the computing device 100 may obtain a candidate link having a minimum sum of obtained distance values (Value_Sum) among candidate links as the second path.

도 4A 내지 도 4C는 본 개시의 일 실시예에 따라 제 2 경로를 획득하는 방법을 보여주기 위한 도면이다. 4A to 4C are diagrams illustrating a method of obtaining a second path according to an embodiment of the present disclosure.

본 개시의 일 실시예에 따른, 도 4A의 401은 제 1 지도 데이터의 제 1 경로를 나타낸다. 제 1 경로는 적어도 하나의 노드와 적어도 하나의 링크로 구성될 수 있다. 이 경우, 최초링크는 시작노드와 연결될 수 있고, 최후링크는 종료노드와 연결될 수 있다. 제 1 경로는 3개이상의 링크를 보유할 수 있으나, 여기서는 설명의 편의를 위해 제1 경로는 두개의 링크를 보유한 것으로 가정한다.According to an embodiment of the present disclosure, 401 of FIG. 4A represents a first path of first map data. The first path may include at least one node and at least one link. In this case, the first link may be connected to the start node, and the last link may be connected to the end node. The first path may have three or more links, but here, for convenience of description, it is assumed that the first path has two links.

본 개시의 일 실시예에 따른,도 4A의 402는 제 1 경로와 매칭되는 후보링크들을 예시하고 있다. 컴퓨팅 장치(100)는 제 1 경로의 위도 좌표 정보 및 경도 좌표 정보 중 적어도 하나를 활용하여, 후보 경로들을 획득할 수 있다. 이에 대한 자세한 설명은, 도 3에서 전술한 바 있다.According to an embodiment of the present disclosure, 402 of FIG. 4A illustrates candidate links matching the first path. The computing device 100 may obtain candidate routes by using at least one of latitude coordinate information and longitude coordinate information of the first route. A detailed description of this has been described above with reference to FIG. 3 .

본 개시의 일 실시예에 따른, 도 4B의 403은 시작 후보 링크 그룹의 예를 도시하고, 도 4B의 404는 종료 후보 링크 그룹의 예를 도시한다. 컴퓨팅 장치(100)는 후보 링크들 중에서 제 1 경로의 최초링크와 이루는 각도가 사전 각도 임계값 보다 작고, 그리고 최초링크와의 거리가 사전 거리 임계값보다 작은 링크들을 시작 후보 링크 그룹으로 결정할 수 있다. 또한, 컴퓨팅 장치(100)는 후보 링크들 중에서 제 1 경로의 최후링크와 이루는 각도가 사전 각도 임계값 보다 작고, 그리고 최후링크와의 거리가 사전 거리 임계값보다 작은 링크들을 종료 후보 링크 그룹으로 결정할 수 있다. 이에 대한 자세한 설명은, 도 3에서 상술한 바 있다.403 of FIG. 4B illustrates an example of starting candidate link groups, and 404 of FIG. 4B illustrates an example of ending candidate link groups, according to an embodiment of the present disclosure. The computing device 100 may determine, as a starting candidate link group, links having an angle between the initial link of the first path and a distance from the initial link smaller than a prior distance threshold value, among candidate links, and a distance from the initial link less than a prior distance threshold value. . In addition, the computing device 100 determines, as an ending candidate link group, links having an angle between the last link of the first path and a distance between the last link and the last link smaller than a prior distance threshold among the candidate links. can A detailed description of this has been described above with reference to FIG. 3 .

본 개시의 일 실시예에 따른, 도 4C의 405는 시작 후보 링크 그룹에 포함된 시작 후보 링크와 종료 후보 링크 그룹에 포함된 종료 후보 링크를 잇는 후보경로를 획득하는 예를 도시하다. 구체적으로 예시하면, 시작후보링크와 종료후보링크를 잇는 경로가 복수개인 경우, 컴퓨팅 장치(100)는 경로들 중 최단거리 경로(405의 (2))를 후보 경로로서 획득할 수 있다.According to an embodiment of the present disclosure, 405 of FIG. 4C illustrates an example of obtaining a candidate path connecting a start candidate link included in a start candidate link group and an end candidate link included in an end candidate link group. Specifically, when there are a plurality of paths connecting the starting candidate link and the ending candidate link, the computing device 100 may obtain the shortest path ((2) of 405) among the paths as a candidate path.

본 개시의 일 실시예에 따른, 도 4C의 406은 복수개의 후보경로를 획득하는 예를 도시한다. 구체적으로 예시하면, 시작 후보 링크그룹에 포함된 링크가 3개(a,b,c)이고 종료 후보 링크그룹에 포함된 링크가 3개(l,m,n)인 경우, 컴퓨팅 장치(100)는 9개(3*3=9)의 경로들을 후보경로로서 획득할 수 있다.According to an embodiment of the present disclosure, 406 of FIG. 4C shows an example of obtaining a plurality of candidate routes. Specifically, when the number of links included in the start candidate link group is 3 (a, b, c) and the number of links included in the end candidate link group is 3 (l, m, n), the computing device 100 can obtain 9 (3*3=9) paths as candidate paths.

본 개시의 일 실시예에 따르면, 컴퓨팅 장치(100)는 후보 경로들 중 제 1 경로와의 거리 정보가 최소인 경로를 제 2 경로로 획득할 수 있다.According to an embodiment of the present disclosure, the computing device 100 may obtain a path having a minimum distance information from the first path among candidate paths as the second path.

도 5는 본 개시의 다른 실시예에 따라 후보 경로들을 획득하는 방법을 설명하기 위한 도면이다.5 is a diagram for explaining a method of obtaining candidate paths according to another embodiment of the present disclosure.

본 개시의 일 실시예에 따라 시작 후보 링크와 종료 후보 링크를 잇는 경로들 중 최단 거리 경로를 후보 경로로 획득한다면, 특별한 상황에서는 제 1 경로와 매칭되지 않는 경로가 후보 경로가 되는 실시예가 발생할 수 있다.According to an embodiment of the present disclosure, if the shortest path among paths connecting a start candidate link and an end candidate link is obtained as a candidate path, an embodiment in which a path that does not match the first path becomes a candidate path may occur in a special situation. have.

도 5를 참조하는 경우, (a)에서 실선은 제 1 경로를 나타내고, (b)에서 실선은 최단 거리의 후보 경로를 나타낸다. 또한, (c)에서 실선은 제 1 경로와 매칭되는 후보 경로를 나타낸다.Referring to FIG. 5 , a solid line in (a) represents a first path, and a solid line in (b) represents a candidate path with the shortest distance. Also, in (c), a solid line indicates a candidate path matching the first path.

도 5에서 볼 수 있듯이, 시작 후보 링크와 종료 후보 링크를 잇는 경로들 중 최단 거리 경로를 후보 경로로 획득한다면, (b)의 실선과 같은 경로가 후보경로로 획득될 수 있다. 이 경우, 컴퓨팅 장치(100)는 제 1 경로와 매칭되는 (c)의 실선과 같은 경로를 후보 경로로 획득하지 못하는 실시예가 발생할 수 있다. 이러한 실시예는 제 2 지도 데이터가 더 세세한 데이터를 보유하고 있는 경우, 발생할 수 있다.As can be seen in FIG. 5 , if the shortest path among the paths connecting the starting candidate link and the ending candidate link is obtained as a candidate path, a path shown by a solid line in (b) can be obtained as a candidate path. In this case, an embodiment may occur in which the computing device 100 fails to obtain a path, such as the solid line in (c), matching the first path as a candidate path. This embodiment may occur when the second map data has more detailed data.

본 개시의 다른 실시예에 따르면, 컴퓨팅 장치(100)는 시작 후보 링크와 종료 후보 링크를 잇는 모든 경로들을 후보 경로들로 획득할 수 있다. 도 4C의 405를 다시 참조하는 경우, 본 개시의 다른 실시예에 따르면, 모든 경로((1),(2),(3))를 후보 경로로서 획득할 수 있다. 이 경우, 도 4C의 406을 다시 참조하는 경우, 후보 경로들의 개수는 9개 이상일 수 있다.According to another embodiment of the present disclosure, the computing device 100 may obtain all paths connecting the start candidate link and the end candidate link as candidate paths. Referring again to 405 of FIG. 4C , according to another embodiment of the present disclosure, all routes (1), (2), and (3) may be obtained as candidate routes. In this case, referring to 406 of FIG. 4C again, the number of candidate paths may be 9 or more.

본 개시의 또 다른 실시예에 따르면, 컴퓨팅 장치(100)는 시작 후보 링크와 종료 후보 링크를 잇는 모든 경로들 중 사전 결정된 임계값에 기초하여 경로들을 선탬함으로써, 후보 경로들을 획득할 수 있다. 구체적으로 설명하면, 시작 후보 링크와 종료 후보 링크를 잇는 경로가 과도하게 많은 경우, 경로의 거리 정보가 사전 결정된 임계값 이하의 거리를 갖는 경로를 선택하거나 및/또는 경로의 거리 정보가 짧은 순서대로 사전 결정된 개수 만큼의 경로를 선택함으로써 후보 경로들을 획득할 수 있다.According to another embodiment of the present disclosure, the computing device 100 may obtain candidate paths by selecting paths among all paths connecting the start candidate link and the end candidate link based on a predetermined threshold. Specifically, when there are excessively many paths connecting starting candidate links and ending candidate links, a path having distance information of a path having a distance equal to or less than a predetermined threshold value is selected, and/or a path having distance information of a path in descending order is selected. Candidate routes may be obtained by selecting a predetermined number of routes.

본 개시의 일 실시예에 따르면, 컴퓨팅 장치(100)는 후보 경로들 중에서 제 2경로를 획득하기 위하여, 제 1 경로에 포함된 좌표점들과 후보 경로에 포함된 링크들 중 제 1 경로와 가장 가까운 링크와의 거리 값들의 합(Value_Sum)을 획득할 수 있다. 또한, 컴퓨팅 장치(100)는 후보 링크들 중에서 획득한 거리 값들의 합(Value_Sum)이 최소인 후보 링크를 제 2 경로로서 획득할 수 있다.According to an embodiment of the present disclosure, the computing device 100 determines the coordinate points included in the first route and the first route and the closest links among links included in the candidate route in order to obtain a second route among candidate routes. A sum (Value_Sum) of distance values to a nearby link may be obtained. Also, the computing device 100 may obtain a candidate link having a minimum sum of obtained distance values (Value_Sum) among candidate links as the second path.

도 6 은 본 개시의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 략하고 일반적인 개략도이다.6 is a simplified and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

본 개시가 일반적으로 컴퓨팅 장치에 의해 구현될 수 있는 것으로 전술되었지만, 당업자라면 본 개시가 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어 및/또는 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로써 구현될 수 있다는 것을 잘 알 것이다.Although the present disclosure has been described above as being generally embodied by a computing device, those skilled in the art will understand that the present disclosure may be combined with computer-executable instructions and/or other program modules that may be executed on one or more computers and/or may be implemented in hardware and software. It will be appreciated that it can be implemented as a combination.

일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 개시의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드(handheld) 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. In addition, those skilled in the art will understand that the methods of the present disclosure can be applied to single-processor or multiprocessor computer systems, minicomputers, mainframe computers as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, and the like ( It will be appreciated that each of these may be implemented with other computer system configurations, including those that may be operative in connection with one or more associated devices.

본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.The described embodiments of the present disclosure may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.Computers typically include a variety of computer readable media. Computer readable media can be any medium that can be accessed by a computer, including volatile and nonvolatile media, transitory and non-transitory media, removable and non-transitory media. Includes removable media. By way of example, and not limitation, computer readable media may include computer readable storage media and computer readable transmission media. Computer readable storage media are volatile and nonvolatile media, transitory and non-transitory, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. includes media Computer readable storage media may include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage device, magnetic cassette, magnetic tape, magnetic disk storage device or other magnetic storage device. device, or any other medium that can be accessed by a computer and used to store desired information.

컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.A computer readable transmission medium typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism. Including all information delivery media. The term modulated data signal means a signal that has one or more of its characteristics set or changed so as to encode information within the signal. By way of example, and not limitation, computer readable transmission media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above are also intended to be included within the scope of computer readable transmission media.

컴퓨터(1102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(1100)이 나타내어져 있으며, 컴퓨터(1102)는 처리 장치(1104), 시스템 메모리(1106) 및 시스템 버스(1108)를 포함한다. 시스템 버스(1108)는 시스템 메모리(1106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(1104)에 연결시킨다. 처리 장치(1104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(1104)로서 이용될 수 있다.An exemplary environment 1100 implementing various aspects of the present disclosure is shown including a computer 1102, which includes a processing unit 1104, a system memory 1106, and a system bus 1108. do. System bus 1108 couples system components, including but not limited to system memory 1106 , to processing unit 1104 . Processing unit 1104 may be any of a variety of commercially available processors. Dual processor and other multiprocessor architectures may also be used as the processing unit 1104.

시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.System bus 1108 may be any of several types of bus structures that may additionally be interconnected to a memory bus, a peripheral bus, and a local bus using any of a variety of commercial bus architectures. System memory 1106 includes read only memory (ROM) 1110 and random access memory (RAM) 1112 . A basic input/output system (BIOS) is stored in non-volatile memory 1110, such as ROM, EPROM, or EEPROM, and is a basic set of information that helps transfer information between components within computer 1102, such as during startup. contains routines. RAM 1112 may also include high-speed RAM, such as static RAM, for caching data.

컴퓨터(1102)는 또한 내장형 하드 디스크 드라이브(HDD)(1114)(예를 들어, EIDE, SATA)-이 내장형 하드 디스크 드라이브(1114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음-, 자기 플로피 디스크 드라이브(FDD)(1116)(예를 들어, 이동식 디스켓(1118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(1120)(예를 들어, CD-ROM 디스크(1122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(1114), 자기 디스크 드라이브(1116) 및 광 디스크 드라이브(1120)는 각각 하드 디스크 드라이브 인터페이스(1124), 자기 디스크 드라이브 인터페이스(1126) 및 광 드라이브 인터페이스(1128)에 의해 시스템 버스(1108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(1124)는 USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘 다를 포함한다.The computer 1102 may also include an internal hard disk drive (HDD) 1114 (eg, EIDE, SATA) - the internal hard disk drive 1114 may also be configured for external use within a suitable chassis (not shown). Yes—a magnetic floppy disk drive (FDD) 1116 (e.g., for reading from or writing to a removable diskette 1118), and an optical disk drive 1120 (e.g., a CD-ROM) for reading disc 1122 or reading from or writing to other high capacity optical media such as DVDs). The hard disk drive 1114, magnetic disk drive 1116, and optical disk drive 1120 are connected to the system bus 1108 by a hard disk drive interface 1124, magnetic disk drive interface 1126, and optical drive interface 1128, respectively. ) can be connected to The interface 1124 for external drive implementation includes at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.

이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(1102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 개시의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.These drives and their associated computer readable media provide non-volatile storage of data, data structures, computer executable instructions, and the like. In the case of computer 1102, drives and media correspond to storing any data in a suitable digital format. Although the description of computer readable media above refers to HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs, those skilled in the art can use zip drives, magnetic cassettes, flash memory cards, cartridges, etc. It will be appreciated that other tangible media readable by the computer, such as the like, may also be used in the exemplary operating environment and any such media may include computer executable instructions for performing the methods of the present disclosure.

운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(1112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.A number of program modules may be stored on the drive and RAM 1112, including an operating system 1130, one or more application programs 1132, other program modules 1134, and program data 1136. All or portions of the operating system, applications, modules and/or data may also be cached in RAM 1112. It will be appreciated that the present disclosure may be implemented in a variety of commercially available operating systems or combinations of operating systems.

사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.A user may enter commands and information into the computer 1102 through one or more wired/wireless input devices, such as a keyboard 1138 and a pointing device such as a mouse 1140. Other input devices (not shown) may include a microphone, IR remote control, joystick, game pad, stylus pen, touch screen, and the like. Although these and other input devices are often connected to the processing unit 1104 through an input device interface 1142 that is connected to the system bus 1108, a parallel port, IEEE 1394 serial port, game port, USB port, IR interface, may be connected by other interfaces such as the like.

모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.A monitor 1144 or other type of display device is also connected to the system bus 1108 through an interface such as a video adapter 1146. In addition to the monitor 1144, computers typically include other peripheral output devices (not shown) such as speakers, printers, and the like.

컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 워크스테이션, 컴퓨팅 디바이스 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(1152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(1154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.Computer 1102 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1148 via wired and/or wireless communications. Remote computer(s) 1148 may be a workstation, computing device computer, router, personal computer, handheld computer, microprocessor-based entertainment device, peer device, or other common network node, and generally includes It includes many or all of the components described for, but for simplicity, only memory storage device 1150 is shown. The logical connections shown include wired/wireless connections to a local area network (LAN) 1152 and/or a larger network, such as a wide area network (WAN) 1154 . Such LAN and WAN networking environments are common in offices and corporations and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to worldwide computer networks, such as the Internet.

LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1156)를 통해 로컬 네트워크(1152)에 연결된다. 어댑터(1156)는 LAN(1152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(1152)은 또한 무선 어댑터(1156)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 모뎀(1158)을 포함할 수 있거나, WAN(1154) 상의 통신 컴퓨팅 디바이스에 연결되거나, 또는 인터넷을 통하는 등, WAN(1154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(1158)은 직렬 포트 인터페이스(1142)를 통해 시스템 버스(1108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(1102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(1150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.When used in a LAN networking environment, computer 1102 connects to local network 1152 through wired and/or wireless communication network interfaces or adapters 1156. Adapter 1156 may facilitate wired or wireless communications to LAN 1152, which also includes a wireless access point installed therein to communicate with wireless adapter 1156. When used in a WAN networking environment, computer 1102 may include a modem 1158, be connected to a communicating computing device on WAN 1154, or establish communications over WAN 1154, such as over the Internet. have other means. A modem 1158, which may be internal or external and a wired or wireless device, is connected to the system bus 1108 through a serial port interface 1142. In a networked environment, program modules described for computer 1102, or portions thereof, may be stored on remote memory/storage device 1150. It will be appreciated that the network connections shown are exemplary and other means of establishing a communication link between computers may be used.

컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.Computer 1102 is any wireless device or entity that is deployed and operating in wireless communication, eg, printers, scanners, desktop and/or portable computers, portable data assistants (PDAs), communication satellites, wireless detectable tags associated with It operates to communicate with arbitrary equipment or places and telephones. This includes at least Wi-Fi and Bluetooth wireless technologies. Thus, the communication may be a predefined structure as in conventional networks or simply an ad hoc communication between at least two devices.

Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성 있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a, b, g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.Wi-Fi (Wireless Fidelity) makes it possible to connect to the Internet without wires. Wi-Fi is a wireless technology, such as a cell phone, that allows such devices, eg, computers, to transmit and receive data both indoors and outdoors, i.e. anywhere within coverage of a base station. Wi-Fi networks use radio technologies called IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, and high-speed wireless connections. Wi-Fi can be used to connect computers to each other, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in the unlicensed 2.4 and 5 GHz radio bands, for example at 11 Mbps (802.11a) or 54 Mbps (802.11b) data rates, or in products that include both bands (dual band) .

본 개시의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.Those skilled in the art will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, instructions, information, signals, bits, symbols and chips that may be referenced in the above description are voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields s or particles, or any combination thereof.

본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 소프트웨어로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those skilled in the art will understand that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein are electronic hardware, (for convenience) , may be implemented by various forms of program or design code (referred to herein as software) or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and the design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 제조 물품은 임의의 컴퓨터-판독가능 저장장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다.Various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term article of manufacture includes a computer program, carrier, or media accessible from any computer-readable storage device. For example, computer-readable storage media include magnetic storage devices (eg, hard disks, floppy disks, magnetic strips, etc.), optical disks (eg, CDs, DVDs, etc.), smart cards, and flash memory devices (eg, EEPROM, cards, sticks, key drives, etc.), but are not limited thereto. Additionally, various storage media presented herein include one or more devices and/or other machine-readable media for storing information.

제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It is to be understood that the specific order or hierarchy of steps in the processes presented is an example of exemplary approaches. Based upon design priorities, it is to be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of this disclosure. The accompanying method claims present elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.

제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art of this disclosure, and the general principles defined herein may be applied to other embodiments without departing from the scope of this disclosure. Thus, the present disclosure is not to be limited to the embodiments presented herein, but is to be interpreted in the widest scope consistent with the principles and novel features presented herein.

Claims (8)

컴퓨팅 장치가 노드와 링크로 구성된 서로 다른 지도 데이터 베이스 사이에서, 제 1 지도 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 지도 데이터 베이스의 제 2 경로를 획득하는 방법에 있어서,
제 1 지도 데이터 베이스의 데이터와 제 2 지도 데이터 베이스의 데이터를 동일한 좌표계로 매칭시키는 단계;
상기 제 1 경로의 좌표 정보에 기초하여 상기 제 1 경로와 매칭되는 후보 링크들을 제 2 데이터 베이스에서 획득하는 단계;
상기 제 1 경로에 포함된 링크와 이루는 각도 정보에 기초하여, 상기 후보 링크들 중에서 시작 후보 링크 그룹 및 종료 후보 링크 그룹을 획득하는 단계; 및
시작 후보 링크 그룹에 포함된 링크와 종료 후보 링크 그룹에 포함된 링크를 연결하는 경로를 탐색함으로써, 상기 제 2 경로를 획득하는 단계;
를 포함하고,
상기 후보 링크들을 제 2 데이터 베이스에서 획득하는 단계는:
상기 제 1 경로에 포함된 적어도 하나의 링크들에 포함된 위도 좌표 정보를 획득하는 단계;
상기 제 1 경로에 포함된 적어도 하나의 링크들에 포함된 경도 좌표 정보를 획득하는 단계;
상기 위도 좌표 정보 및 경도 좌표 정보에 기초하여 적어도 하나의 평면을 획득하는 단계;
상기 획득한 적어도 하나의 평면을 사전 결정된 오차범위에 기초하여 확장하는 단계;
상기 확장된 평면에 기초하여 제 2 지도 데이터 베이스의 노드들을 획득하는 단계; 및
상기 획득된 노드들을 포함하는 링크들을 후보 링크들로 획득하는 단계;
를 포함하는,
제 1 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 데이터 베이스의 제 2 경로를 획득하는 방법.
A method for obtaining, by a computing device, a second path of a second map database that matches a first path that is a path of a first map database between different map databases composed of nodes and links, the method comprising:
matching data of the first map database and data of the second map database with the same coordinate system;
obtaining candidate links matching the first route from a second database based on coordinate information of the first route;
obtaining a start candidate link group and an end candidate link group from among the candidate links, based on angle information formed with a link included in the first path; and
acquiring the second path by searching for a path connecting a link included in the starting candidate link group and a link included in the ending candidate link group;
including,
Obtaining the candidate links from the second database comprises:
obtaining latitude coordinate information included in at least one link included in the first route;
obtaining longitude coordinate information included in at least one link included in the first path;
obtaining at least one plane based on the latitude coordinate information and the longitude coordinate information;
extending the acquired at least one plane based on a predetermined error range;
obtaining nodes of a second map database based on the expanded plane; and
obtaining links including the obtained nodes as candidate links;
including,
A method of obtaining a second path of a second database that matches a first path that is a path of a first database.
삭제delete 제 1 항에 있어서, 상기 시작 후보 링크 그룹과 상기 종료 후보 링크 그룹을 획득하는 단계는:
상기 제 1 경로의 최초 링크와 이루는 각도가 제 1 각도 이하인 링크들을 시작 후보 링크 그룹으로 결정하는 단계; 및
상기 제 2 경로의 최후 링크와 이루는 각도가 제 2 각도 이하인 링크들을 종료 후보 링크 그룹으로 결정하는 단계;
를 포함하는,
제 1 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 데이터 베이스의 제 2 경로를 획득하는 방법.
The method of claim 1, wherein acquiring the starting candidate link group and the ending candidate link group comprises:
determining links having an angle less than or equal to a first angle with an initial link of the first path as starting candidate link groups; and
determining links having an angle less than or equal to a second angle with the last link of the second path as termination candidate link groups;
including,
A method of obtaining a second path of a second database that matches a first path that is a path of a first database.
제 3 항에 있어서, 상기 제 1 각도와 상기 제 2 각도는 모두 20도인,
제 1 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 데이터 베이스의 제 2 경로를 획득하는 방법.
The method of claim 3, wherein the first angle and the second angle are both 20 degrees,
A method of obtaining a second path of a second database that matches a first path that is a path of a first database.
제 3 항에 있어서,
상기 시작 후보 링크 그룹으로 결정하는 단계는 상기 제 1 경로의 최초링크와의 거리정보를 더 고려하여 시작 후보 링크 그룹을 결정하고,
상기 종료 후보 링크 그룹으로 결정하는 단계는 상기 제 1 경로의 최후링크와의 거리정보를 더 고려하여 종료 후보 링크 그룹을 결정하는,
제 1 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 데이터 베이스의 제 2 경로를 획득하는 방법.
According to claim 3,
In the determining of the starting candidate link group, the starting candidate link group is determined by further considering distance information from the first link of the first path;
In the determining of the ending candidate link group, the ending candidate link group is determined by further considering distance information from the last link of the first path.
A method of obtaining a second path of a second database that matches a first path that is a path of a first database.
제 1 항에 있어서,
상기 시작 후보 링크 그룹은 복수개의 링크를 포함하고, 상기 종료 후보 링크 그룹도 복수개의 링크를 포함하며,
상기 제 2 경로를 획득하는 단계에서 상기 컴퓨팅 장치는:
시작 후보 링크 그룹에 포함된 링크와 종료 후보 링크 그룹에 포함된 링크를 잇는 경로들 중 최단거리 경로를 후보 경로로서 획득함으로써 상기 시작 후보 링크 그룹에 포함된 복수개의 링크 각각과 종료 후보 링크 그룹에 포함된 복수개의 링크 각각을 잇는 복수개의 후보 경로를 획득하고, 획득한 후보 경로들 중 제 2 경로를 획득하는,
제 1 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 데이터 베이스의 제 2 경로를 획득하는 방법.
According to claim 1,
The start candidate link group includes a plurality of links, and the end candidate link group also includes a plurality of links;
In obtaining the second path, the computing device:
Among the paths connecting the link included in the starting candidate link group and the link included in the ending candidate link group, the shortest distance path is obtained as a candidate path, and is included in each of the plurality of links included in the starting candidate link group and the ending candidate link group. obtaining a plurality of candidate paths connecting each of the plurality of links, and obtaining a second path among the obtained candidate paths;
A method of obtaining a second path of a second database that matches a first path that is a path of a first database.
제 6 항에 있어서 상기 컴퓨팅 장치는,
상기 제 1 경로의 시작 노드와의 거리 정보 및 상기 제 1 경로의 종료 노드와의 거리 정보에 기초하여 상기 후보 경로들 중 상기 제 2 경로를 선택하는,
제 1 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 데이터 베이스의 제 2 경로를 획득하는 방법.
The method of claim 6, wherein the computing device,
Selecting the second path among the candidate paths based on distance information from a start node of the first path and distance information from an end node of the first path,
A method of obtaining a second path of a second database that matches a first path that is a path of a first database.
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서가 노드와 링크로 구성된 서로 다른 지도 데이터 베이스 사이에서 제 1 지도 데이터 베이스의 경로인 제 1 경로와 매칭되는 제 2 지도 데이터 베이스의 제 2 경로를 획득하도록 하는 명령들을 포함하며, 상기 명령들은,
제 1 데이터 베이스의 데이터와 제 2 데이터 베이스의 데이터를 동일한 좌표계로 매칭시키는 단계;
상기 제 1 경로의 좌표 정보에 기초하여 상기 제 1 경로와 매칭되는 후보 링크들을 제 2 데이터 베이스에서 획득하는 단계;
상기 제 1 경로에 포함된 링크와 이루는 각도 정보에 기초하여, 상기 후보 링크들 중에서 시작 후보 링크 그룹 및 종료 후보 링크 그룹을 획득하는 단계; 및
시작 후보 링크 그룹에 포함된 링크와 종료 후보 링크 그룹에 포함된 링크를 연결하는 경로를 탐색함으로써, 상기 제 2 경로를 획득하는 단계;
를 포함하고,
상기 후보 링크들을 제 2 데이터 베이스에서 획득하는 단계는:
상기 제 1 경로에 포함된 적어도 하나의 링크들에 포함된 위도 좌표 정보를 획득하는 단계;
상기 제 1 경로에 포함된 적어도 하나의 링크들에 포함된 경도 좌표 정보를 획득하는 단계;
상기 위도 좌표 정보 및 경도 좌표 정보에 기초하여 적어도 하나의 평면을 획득하는 단계;
상기 획득한 적어도 하나의 평면을 사전 결정된 오차범위에 기초하여 확장하는 단계;
상기 확장된 평면에 기초하여 제 2 지도 데이터 베이스의 노드들을 획득하는 단계; 및
상기 획득된 노드들을 포함하는 링크들을 후보 링크들로 획득하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer-readable storage medium, wherein the computer program is configured by one or more processors to generate a second map database that matches a first path that is a path of a first map database between different map databases composed of nodes and links. Includes instructions to obtain the second path of, the instructions comprising:
matching data of the first database and data of the second database in the same coordinate system;
obtaining candidate links matching the first route from a second database based on coordinate information of the first route;
obtaining a start candidate link group and an end candidate link group from among the candidate links, based on angle information formed with a link included in the first path; and
acquiring the second path by searching for a path connecting a link included in the start candidate link group and a link included in the end candidate link group;
including,
Obtaining the candidate links from the second database comprises:
obtaining latitude coordinate information included in at least one link included in the first route;
obtaining longitude coordinate information included in at least one link included in the first path;
obtaining at least one plane based on the latitude coordinate information and the longitude coordinate information;
extending the acquired at least one plane based on a predetermined error range;
obtaining nodes of a second map database based on the expanded plane; and
obtaining links including the obtained nodes as candidate links;
including,
A computer program stored on a computer readable storage medium.
KR1020220046265A 2022-03-28 2022-04-14 Method and apparatus for finding matching routes between different map databases KR102474014B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2022/014090 WO2023191205A1 (en) 2022-03-28 2022-09-21 Method and device for searching for matching route between different map databases
KR1020220163911A KR20230139765A (en) 2022-03-28 2022-11-30 Method and apparatus for finding matching routes between different map databases

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220038316 2022-03-28
KR20220038316 2022-03-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220163911A Division KR20230139765A (en) 2022-03-28 2022-11-30 Method and apparatus for finding matching routes between different map databases

Publications (1)

Publication Number Publication Date
KR102474014B1 true KR102474014B1 (en) 2022-12-06

Family

ID=84407388

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020220046266A KR102474017B1 (en) 2022-03-28 2022-04-14 Method and apparatus for finding matching routes between heterogeneous map databases
KR1020220046265A KR102474014B1 (en) 2022-03-28 2022-04-14 Method and apparatus for finding matching routes between different map databases
KR1020220163911A KR20230139765A (en) 2022-03-28 2022-11-30 Method and apparatus for finding matching routes between different map databases

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220046266A KR102474017B1 (en) 2022-03-28 2022-04-14 Method and apparatus for finding matching routes between heterogeneous map databases

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220163911A KR20230139765A (en) 2022-03-28 2022-11-30 Method and apparatus for finding matching routes between different map databases

Country Status (2)

Country Link
KR (3) KR102474017B1 (en)
WO (1) WO2023191205A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050103016A (en) * 2004-04-23 2005-10-27 엘지전자 주식회사 Method for mapping map data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005300394A (en) * 2004-04-14 2005-10-27 Matsushita Electric Ind Co Ltd Position information transmission unit and method thereof
EP2304704B1 (en) * 2008-06-30 2016-06-29 TomTom International B.V. A method of resolving a location from encoded data representative thereof
KR101755707B1 (en) * 2011-09-06 2017-07-07 현대자동차주식회사 Apparatus and method for link matching between different link types
KR20190064222A (en) * 2017-11-30 2019-06-10 현대엠엔소프트 주식회사 Method for connecting different map and apparatus thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050103016A (en) * 2004-04-23 2005-10-27 엘지전자 주식회사 Method for mapping map data

Also Published As

Publication number Publication date
KR102474017B1 (en) 2022-12-06
WO2023191205A1 (en) 2023-10-05
KR20230139765A (en) 2023-10-05

Similar Documents

Publication Publication Date Title
Han et al. Fault-tolerant relay node placement in heterogeneous wireless sensor networks
CN104596531B (en) A kind of generation method of navigation routine, device and server
CN108763558B (en) Crowdsourcing map road quality improvement method based on map matching
KR102236571B1 (en) Maintaining point of interest data using wireless access points
CN115169570B (en) Quantum network protocol simulation method and device and electronic equipment
US10873900B2 (en) Method for wireless fidelity connection and related products
US9395193B2 (en) Scalable and efficient cutting of map tiles
CN106973384B (en) A kind of Wireless Fidelity Wi-Fi connection method and mobile terminal
US8738559B2 (en) Graph partitioning with natural cuts
CN108369638A (en) The image management based on event carried out using cluster
US9135569B2 (en) Navigation system with anomaly detection mechanism and method of operation thereof
US20160381154A1 (en) Predicting Geolocation Of Users On Social Networks
US9273972B2 (en) Navigation system with error detection mechanism and method of operation thereof
Wang et al. Sensor localization in concave environments
KR102474014B1 (en) Method and apparatus for finding matching routes between different map databases
KR20210065493A (en) Method to detect network anomaly
Lu et al. Skeleton construction in mobile social networks: Algorithms and applications
JP4318537B2 (en) Map matching method and apparatus for implementing the same
KR102456136B1 (en) Method, apparatus and computer program for finding possible destinations from a plurality of departure nodes
KR20240064139A (en) Method and apparatus for finding a matching route between different map databases using an area for a candidate route
KR20240064140A (en) Method and apparatus for finding matching routes between different map databases using the minimum distance maximum values
KR20240064141A (en) Method and apparatus for finding matching paths between different map databases using the number of pixels
KR20240064138A (en) Method and apparatus for finding matching routes between different map databases using distance information
KR20240064142A (en) Method and apparatus for finding matching paths between different map databases using the number of pixels for candidate paths
KR20240064143A (en) Method and apparatus for estimating speed using matching routes between different map databases

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant