Method and apparatus for finding matching routes between different map databases.
The method addresses the mismatch between map data formats by accurately matching routes between map databases using coordinate and angular information, enabling effective utilization of traffic data.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- ウィミート モビリティ シーオーエルティーディー
- Filing Date
- 2022-09-21
- Publication Date
- 2026-04-30
AI Technical Summary
Existing map data formats, such as OSM, do not accurately match with domestic standard node links, making it difficult to provide accurate road traffic information when using different map databases.
A method to find a path in a second map database that is accurately matched with a first map database by matching data in the same coordinate system, obtaining candidate links based on angular and distance information, and selecting the shortest path between starting and ending candidate link groups.
Enables precise route matching between different map databases, allowing for the utilization of traffic volume data across varying map formats.
Smart Images

Figure 0007853728000001 
Figure 0007853728000002 
Figure 0007853728000003
Abstract
Description
Technical Field
[0001] This disclosure is for a method for finding a path that is matched between different map databases.
Background Art
[0002] The domestic road traffic situation is provided only in the form of domestic standard node links. For this reason, when providing services using different map data formats, there is a problem that the domestic road traffic situation cannot be reflected. In particular, in the case of Google, it provides map data in the OSM (Open Street Map) data model format, which is not accurately matched with the domestic standard node links. As a result, companies providing services using OSM have difficulty providing the domestic road traffic situation.
[0003] To solve this, a method for finding a path that is accurately matched between different map data has been studied.
[0004] Korean Registered Patent No. 1538042 provides a method for converting a path between different data formats (2D and 3D).
Summary of the Invention
Problems to be Solved by the Invention
[0005] This disclosure was devised in response to the above-described background art, and aims to provide a method for finding a path in a second map database that is accurately matched with the path in the first map database between different map databases.
Means for Solving the Problems
[0006] To solve the aforementioned problems, a method is provided for obtaining a second route in a second map database that is matched with a first route in a first map database, between two different map databases composed of nodes and links. The method may include the steps of: matching data from the first map database and data from the second map database in the same coordinate system; obtaining candidate links in the second database that are matched with the first route based on the coordinate information of the first route; obtaining a starting candidate link group and an ending candidate link group from among the candidate links based on the angular information of the links included in the first route; and obtaining the second route by searching for a route that connects the links included in the starting candidate link group and the links included in the ending candidate link group.
[0007] Alternatively, the steps for acquiring candidate links in the second database may include: acquiring latitude coordinate information for at least one link included in the first route; acquiring longitude coordinate information for at least one link included in the first route; acquiring at least one plane based on the latitude and longitude coordinate information; extending the acquired at least one plane based on a predetermined error range; acquiring nodes in the second map database based on the extended plane; and acquiring links containing the acquired nodes as candidate links.
[0008] Alternatively, the steps for acquiring the candidate start link group and the candidate end link group may include: determining a link as the candidate start link group whose angle with the first link of the first path is less than or equal to a first angle; and determining a link as the candidate end link group whose angle with the last link of the second path is less than or equal to a second angle.
[0009] Alternatively, both the first angle and the second angle may be 20 degrees.
[0010] Alternatively, the step of determining the candidate link group to start can be performed by further considering distance information to the first link of the first path, and the step of determining the candidate link group to end can be performed by further considering distance information to the last link of the first path.
[0011] Alternatively, the starting candidate link group may include multiple links, and the ending candidate link group may also include multiple links. In the stage of acquiring the second path, the computing device may acquire the shortest distance path among the paths connecting the links included in the starting candidate link group and the links included in the ending candidate link group as a candidate path, thereby acquiring multiple candidate paths connecting each of the multiple links included in the starting candidate link group and each of the multiple links included in the ending candidate link group, and acquiring the second path from among the acquired candidate paths.
[0012] Alternatively, the computing device may select the second path from the candidate paths based on distance information to the starting node of the first path and distance information to the ending node of the first path.
[0013] A computer program stored on a computer-readable storage medium can be provided to solve the aforementioned problems, wherein the computer program includes instructions for one or more processors to obtain a second path in a second map database that is matched with a first path, which is a path in a first map database, between different map databases composed of nodes and links, the instructions comprising: a step of matching data from the first database and data from the second database in the same coordinate system; a step of obtaining candidate links in the second database that are matched with the first path based on the coordinate information of the first path; a step of obtaining a start candidate link group and an end candidate link group from among the candidate links based on the angle information of the links included in the first path; and a step of obtaining the second path by searching for a path that connects the links included in the start candidate link group and the links included in the end candidate link group. [Effects of the Invention]
[0014] This disclosure allows obtaining routes from a second map database that are precisely matched with routes from a first map database. [Brief explanation of the drawing]
[0015] [Figure 1] This is a diagram illustrating a map database according to one embodiment of the present disclosure. [Figure 2] These are drawings illustrating a computing device 100 according to one embodiment of the present disclosure. [Figure 3] This diagram illustrates how a computing device 100 acquires a second path according to one embodiment of the present disclosure. [Figure 4] This is a drawing illustrating a method for obtaining a second path according to one embodiment of the present disclosure. [Figure 5] These drawings illustrate how to obtain candidate paths according to other embodiments of the present disclosure. [Figure 6] This is a general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be embodied. [Modes for carrying out the invention]
[0016] Various embodiments are described with reference to the drawings. Various descriptions are presented herein to provide an understanding of the present disclosure. However, it is evident that such embodiments may be carried out without such specific descriptions.
[0017] As used herein, terms such as “component,” “module,” and “system” refer to computer-related entities, hardware, firmware, software, combinations of software and hardware, or software execution. For example, a component may be, but is not limited to, a process executed on a processor, a processor, an object, an execution thread, a program, and / or a computer. For example, all applications and computing devices executed on a computing device can be components. One or more components may reside within a processor and / or an execution thread. A component may be localized within a single computer. A component may be distributed between two or more computers. Furthermore, such components may be executed from a variety of computer-readable media having a variety of data structures stored within them. Components may communicate locally and / or remotely by signals, for example, having one or more data packets (e.g., data from one component interacting with other components in a local system, a distributed system, and / or data transmitted to other systems via a network such as the Internet through signals).
[0018] Also, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or the context is clear, "X utilizes A or B" is intended to mean one of the natural inclusive substitutions. That is, "X utilizes A or B" can apply to any of the following cases: X utilizes A; X utilizes B; or X utilizes both A and B. Also, the term "and / or" used herein should be understood to refer to and include all possible combinations of one or more of the listed related items.
[0019] Also, the terms "comprising" and / or "include" should be understood to mean that the corresponding features and / or components are present. However, the terms "comprising" and / or "include" should be understood not to exclude the presence or addition of one or more other features, components, and / or groups thereof. Also, unless otherwise specified or the context clearly indicates the singular form, the singular generally should be interpreted to mean "one or more" in this specification and the claims.
[0020] And the term "at least one of A or B" should be interpreted to mean "when only A is included", "when only B is included", or "when combined in the composition of A and B".
[0021] Those skilled in the art should additionally recognize that the various exemplary logical blocks, configurations, modules, circuits, means, logics, and algorithmic steps described in connection with the embodiments disclosed herein can be implemented in all combinations of electronic hardware, computer software, or both. To clearly illustrate the interchangeability of hardware and software, the various exemplary components, blocks, configurations, means, logics, modules, circuits, and steps have been generally described in terms of their functionality. Whether such functionality is implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans can implement the described functionality in various ways for each particular application, provided that such implementation decisions are not to be construed as departing from the scope of the present disclosure.
[0022] The description of the presented embodiments is provided so that those with ordinary knowledge in the technical field of the present disclosure can utilize or implement the present invention. Various modifications to such embodiments will be apparent to those with ordinary knowledge in the technical field of the present disclosure. The general principles defined herein can be applied to other embodiments without departing from the scope of the present disclosure. And the present invention is not limited to the embodiments presented herein. The present invention should be construed in the broadest scope consistent with the principles and novel features presented herein.
[0023] FIG. 1 is a drawing for explaining a map database according to an embodiment of the present disclosure.
[0024] According to an embodiment of the present disclosure, a map database can be composed of nodes and links.
[0025] Here, a node can represent a place where a change in speed occurs when a vehicle travels on a road. Specifically, a node can represent, but is not limited to, an intersection, the beginning and end points of an elevated road, the beginning and end points of a road, the beginning and end points of an underground passage, the beginning and end points of a tunnel, an administrative boundary, etc.
[0026] Furthermore, a link can represent a line connecting nodes that are points where speed changes occur, and may represent a real-world road. Specifically, a link can represent, but is not limited to, roads, bridges, elevated roads, underground roadways, tunnels, etc.
[0027] Map databases can be constructed differently depending on the entity that builds them. For example, even if map databases are built for the same location within a country, the map data built in South Korea may differ from the map data built in a foreign country.
[0028] The South Korean government provides traffic volume data by matching it with map data it has created. As a result, when providing services using domestic map data created by other entities, there is a disadvantage in that it is difficult to utilize traffic volume data. Therefore, it is necessary to match domestically created map data with map data created in other countries.
[0029] Figure 1(a) shows a single route (e.g., the first route) consisting of nodes and links in the first map database, according to one embodiment of the present disclosure. Figure 2(b) is data representing the area around the first route in the second map database, and below we disclose a method for finding a route that matches the first route in the second map database.
[0030] Figure 2 is a diagram illustrating a computing device 100 according to one embodiment of the present disclosure.
[0031] The configuration of the computing device 100 shown in Figure 2 is merely a simplified example. In one embodiment of this disclosure, the computing device 100 may include other configurations for performing the computing environment of the computing device 100, and only a portion of the disclosed configurations may constitute the computing device 100.
[0032] The computing device 100 may include a processor 110, memory 130, and a network unit 150.
[0033] The processor 110 may consist of one or more cores and may include processors for data analysis and deep learning, such as a central processing unit (CPU), a general-purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU) of a computing device. The processor 110 can read computer programs stored in memory 130 and perform data processing for machine learning according to one embodiment of the present disclosure. According to one embodiment of the present disclosure, the processor 110 can perform calculations for training a neural network. The processor 110 can perform calculations for training a neural network, such as processing input data for training in deep learning (DL), extracting features from the input data, calculating errors, and updating the weight values of the neural network using backpropagation. At least one of the CPU, GPGPU, and TPU of the processor 110 can process the training of network functions. For example, both the CPU and GPGPU can process the training of network functions and data classification using network functions. Furthermore, in one embodiment of this disclosure, the processors of multiple computing devices can be used together to process network function learning and data classification using network functions. In addition, the computer program executed by the computing device according to one embodiment of this disclosure may be a CPU, GPGPU, or TPU executable program.
[0034] According to one embodiment of the present disclosure, the memory 130 can store any form of information generated or determined by the processor 110 and any form of information received by the network unit 150.
[0035] According to one embodiment of this disclosure, the memory 130 may include at least one type of storage medium from among flash memory type, hard disk type, multimedia card micro type, card type memory (e.g., SD or XD memory), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, and optical disk. The computing device 100 may operate in conjunction with web storage that performs the storage function of the memory 130 over the internet. The above descriptions of memory are illustrative and the disclosure is not limited thereto.
[0036] The network unit 150 according to one embodiment of this disclosure can use a variety of wired communication systems such as public switched telephone networks (PSTN), 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), and local area networks (LANs).
[0037] Furthermore, the network unit 150 presented herein can utilize a variety of wireless communication systems, such as 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), and other systems.
[0038] In this disclosure, the network unit 150 can be configured regardless of its communication mode, such as wired or wireless, and can consist of various communication networks such as a Personal Area Network (PAN) or a Wide Area Network (WAN). Furthermore, the network may be the well-known World Wide Web (WWW), and may utilize wireless transmission technologies used for short-range communication, such as infrared (IrDA) or Bluetooth (Bluetooth®).
[0039] The computing device 100 of this disclosure can obtain a second path from a second map database that is matched with a first path from a first map database, between different map databases configured with nodes and links. This will be explained in detail below with reference to Figure 3.
[0040] Figure 3 is a diagram illustrating how a computing device 100 acquires a second path according to one embodiment of the present disclosure.
[0041] In step S310, the computing device 100 can match the data from the first map database and the data from the second map database in the same coordinate system.
[0042] For example, the computing device 100 can match information about nodes and links contained in the first map database with information about nodes and links contained in the second map database using the same Cartesian coordinate system.
[0043] In step S320, the computing device 100 can obtain candidate links in the second database that are matched with the first route in the first map database based on the coordinate information of the first route.
[0044] For example, the computing device 100 can acquire latitude coordinate information contained in at least one link of the first path. Specifically, the computing device 100 can acquire all latitude coordinate values contained in all links of the first path.
[0045] Furthermore, the computing device 100 can acquire longitude coordinate information contained in at least one link of the first path. Specifically, the computing device 100 can acquire all longitude coordinate values contained in all links of the first path.
[0046] Furthermore, the computing device 100 can acquire at least one plane based on at least one of the latitude coordinate information and the longitude coordinate information. Specifically, the computing device 100 can acquire a plane by using the maximum and minimum values of the acquired multiple latitude coordinate values and the maximum and minimum values of the acquired multiple longitude coordinate values.
[0047] Furthermore, the computing device 100 can acquire nodes in the second map database based on at least one acquired plane, and acquire links containing the acquired nodes as candidate links. Specifically, the computing device 100 can extend the acquired plane based on a predetermined error range, detect all nodes included in the extended plane on the second map data, and acquire links on the second map data containing at least one of the detected nodes as candidate links.
[0048] In step S330, the computing device 100 can acquire a starting candidate link group and an ending candidate link group from among the candidate links based on the angular information of the links included in the first path.
[0049] The computing device 100 can hold predetermined critical angle values. For example, the computing device 100 can hold a predetermined critical angle value for acquiring a candidate start link group and a predetermined critical angle value for acquiring a candidate end link group. In this case, the predetermined critical angle value for acquiring the candidate start link group and the predetermined critical angle value for acquiring the candidate end link group may be the same (for example, the predetermined critical angle value may be 20 degrees, but is not limited to this).
[0050] The computing device 100 can determine a group of candidate links from among the candidate links in which the angle formed with the first link of the first path is smaller than a prior angle critical value as the starting candidate link group. In this case, the first link generally refers to a link connected to the starting node on the first path, but may also refer to a link not connected to the starting node depending on the developer's choice or road conditions.
[0051] Furthermore, the computing device 100 can determine a starting candidate link group by further considering distance information to the first link of the first path. Specifically, the computing device 100 can determine a starting candidate link group as links in which the angle made with the first link of the first path is smaller than a prior critical angle value, and the distance to the first link is smaller than a prior critical distance value. In this case, the distance between the first link and the candidate link may be defined as, but is not limited to, the distance between the endpoint of the first link and the endpoint of the candidate link.
[0052] The computing device 100 can determine a group of candidate links among the candidate links in which the angle they make with the last link of the first path is smaller than a prior critical angle value. In this case, the last link generally refers to a link connected to a termination node on the first path, but may also refer to a link not connected to a termination node depending on the developer's choice or road conditions.
[0053] Furthermore, the computing device 100 can determine the candidate link group for termination by further considering distance information to the last link of the first path. Specifically, the computing device 100 can determine as a candidate link group for termination links links in which the angle made with the last link of the first path is smaller than a prior critical angle value, and the distance to the last link is smaller than a prior critical distance value. In this case, the distance between the last link and the candidate link may be defined as, but is not limited to, the distance between the endpoint of the last link and the endpoint of the candidate link.
[0054] In step 340, the computing device 100 can obtain a second path by searching for a path that connects the links included in the candidate start link group and the links included in the candidate end link group. In this case, the second path means a path consisting of at least one node and at least one link included in the second map data.
[0055] According to one embodiment of this disclosure, the computing device 100 can obtain candidate paths by utilizing Dijkstra's algorithm to obtain paths connecting links included in the starting candidate link group and links included in the ending candidate link group. To reiterate, the computing device 100 can obtain the shortest distance path among the paths connecting links included in the starting candidate link group and links included in the candidate link group as a candidate path. In this case, since the starting candidate link group includes multiple links and the ending candidate link group also includes multiple links, the computing device 100 can obtain multiple candidate paths connecting each of the multiple links included in the starting candidate link group and each of the multiple links included in the ending candidate link group.
[0056] Furthermore, the computing device 100 can acquire a second path from among multiple candidate paths. For example, the computing device 100 can acquire a second path from among the candidate paths based on distance information from the first path. Specifically, the computing device 100 can acquire as the second path the path with the smallest distance information from the first path among the candidate paths.
[0057] In this case, the distance information to the first path may mean, but is not limited to, the average of the distance between the starting node of the first path and the starting node of the candidate path (first distance value) and the distance between the ending node of the first path and the ending node of the candidate path (second distance value) (average of the first and second distances).
[0058] According to other embodiments of this disclosure, the computing device 100 can obtain the sum of the distance values (Value_Sum) between all coordinate points included in the first path and the link closest to the first path among the links included in the candidate path in order to obtain a second path from among the candidate paths. Furthermore, the computing device 100 can obtain the candidate link with the smallest sum of the distance values (Value_Sum) among the candidate links as the second path.
[0059] Figures 4(a) to 4(c) are diagrams illustrating a method for obtaining a second path according to one embodiment of the present disclosure.
[0060] In one embodiment of the present disclosure, 401 in Figure 4(a) shows a first route of first map data. The first route may consist of 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 route may have three or more links, but for the sake of explanation, we will assume here that the first route has two links.
[0061] In one embodiment of this disclosure, 402 in Figure 4(a) illustrates a candidate link that is matched with the first path. The computing device 100 can acquire a candidate path by utilizing at least one of the latitude coordinate information and longitude coordinate information of the first path. A detailed explanation of this has been given in Figure 3.
[0062] In one embodiment of this disclosure, Figure 4(b) shows an example of a starting candidate link group (403) and Figure 4(b) shows an example of a ending candidate link group (404). The computing device 100 can determine a starting candidate link group from among the candidate links where the angle it makes with the first link of the first path is smaller than a pre-defined critical angle value, and the distance to the first link is smaller than a pre-defined critical distance value. The computing device 100 can also determine a ending candidate link group from among the candidate links where the angle it makes with the last link of the first path is smaller than a pre-defined critical angle value, and the distance to the last link is smaller than a pre-defined critical distance value. A more detailed explanation of this has been given in Figure 3.
[0063] In one embodiment of the present disclosure, Figure 4(c) shows an example of obtaining a candidate path connecting a start candidate link included in a start candidate link group and a termination candidate link included in a termination candidate link group. Specifically, if there are multiple paths connecting the start candidate link and the termination candidate link, the computing device 100 can obtain the shortest distance path (405(2)) as a candidate path.
[0064] Figure 4(c) 406, according to one embodiment of the present disclosure, illustrates an example of acquiring multiple candidate paths. Specifically, if the starting candidate link group contains 3 links (a, b, c) and the ending candidate link group contains 3 links (l, m, n), the computing device 100 can acquire 9 paths (3*3=9) as candidate paths.
[0065] According to one embodiment of the present disclosure, the computing device 100 can acquire as the second route the route among the candidate routes that has the minimum distance information from the first route.
[0066] Figure 5 is a diagram illustrating how candidate paths are obtained by other embodiments of the present disclosure.
[0067] If, according to one embodiment of this disclosure, the shortest distance path connecting the starting candidate link and the ending candidate link is obtained as the candidate path, then in special circumstances, there may be embodiments in which a path that does not match with the first path becomes the candidate path.
[0068] Referring to Figure 5, in (a) the solid line represents the first path, and in (b) the solid line represents the shortest distance candidate path. In addition, in (c) the solid line represents the candidate path that matches the first path.
[0069] As can be seen in Figure 5, if the shortest distance path connecting the starting candidate link and the ending candidate link is acquired as the candidate path, then the same path as the solid line in (b) may be acquired as the candidate path. In this case, there may be embodiments in which the computing device 100 cannot acquire the same path as the solid line in (c) that is matched with the first path as the candidate path. Such embodiments may occur if the second map data contains more detailed data.
[0070] According to other embodiments of the present disclosure, the computing device 100 can acquire all paths connecting the start candidate link and the end candidate link as candidate paths. Referring again to 405 in Figure 4(c), according to other embodiments of the present disclosure, all paths ((1), (2), (3)) can be acquired as candidate paths. In this case, referring again to 406 in Figure 4(c), the number of candidate paths may be nine or more.
[0071] According to yet another embodiment of this disclosure, the computing device 100 can acquire candidate paths by selecting paths from all paths connecting the candidate start link and the candidate end link based on a predetermined critical value. Specifically, if there are an excessive number of paths connecting the candidate start link and the candidate end link, candidate paths can be acquired by selecting paths whose distance information is less than or equal to a predetermined critical value, and / or by selecting a predetermined number of paths in order of shortest to longest distance information.
[0072] According to one embodiment of the present disclosure, the computing device 100 can obtain the sum of the distance values (Value_Sum) between the coordinate points included in the first path and the link closest to the first path among the links included in the candidate path in order to obtain a second path from among the candidate paths. Furthermore, the computing device 100 can obtain the candidate link with the smallest sum of the distance values (Value_Sum) obtained among the candidate links as the second path.
[0073] Figure 6 is a general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be embodied.
[0074] Although this disclosure has been described above as being generally embodied by computing devices, those skilled in the art will readily see that this disclosure can also be embodied in combination with computer executable instructions and / or other program modules that can be executed on one or more computers, and / or in combination of hardware and software.
[0075] Generally, a program module includes routines, programs, components, data structures, and the like that perform a specific task or embody a specific abstract data type. Furthermore, those skilled in the art will understand that the methods disclosed herein can be implemented in single-processor or multi-processor computer systems, microcomputers, mainframe computers, as well as other computer system configurations, including personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, and the like (each of which can operate in conjunction with one or more related devices).
[0076] The embodiments described in this disclosure may also be implemented in a distributed computing environment in which a task is performed by remote processing units connected via a communication network. In a distributed computing environment, program modules may reside in both local and remote memory storage devices.
[0077] Computers typically include a variety of computer-readable media. Any media accessible by a computer can be computer-readable, and such computer-readable media include volatile and non-volatile media, transient and non-transitory media, and portable and non-portable media. In non-limiting examples, computer-readable media may include computer-readable storage media and computer-readable transmission media. Computer-readable storage media include volatile and non-volatile media, transient and non-transitory media, portable and non-portable media, embodied in any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory, or other memory technologies, CD-ROM, DVD (digital video disk), or other optical disk storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices, or other magnetic storage devices, or any other media that can be accessed by a computer and used to store desired information.
[0078] Computer-readable transmission media typically include all information transmission media that embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism. The term modulated data signal means a signal in which one or more of its characteristics have been set or modified to encode information within the signal. Non-restrictive examples include wired media such as wired networks or direct-wired connections, and wireless media such as acoustic, RF, infrared, and other wireless media. Any combination of the aforementioned media is also included within the scope of computer-readable transmission media.
[0079] An exemplary environment 1100 embodying various aspects of this disclosure, including a computer 1102, is shown, the computer 1102 including a processing unit 1104, system memory 1106, and a system bus 1108. The system bus 1108 connects system components, including (but not limited to) the system memory 1106, to the processing unit 1104. The processing unit 1104 may be any processor from a variety of commercial processors. Dual-processor and other multi-processor architectures may also be used as the processing unit 1104.
[0080] The system bus 1108 can be any of several types of bus structures that can be additionally interconnected with a local bus using any of the following: a memory bus, a peripheral bus, and various commercial bus architectures. The system memory 1106 includes read-only memory (ROM) 1110 and random access memory (RAM) 1112. The basic input / output system (BIOS) is stored in non-volatile memory 1110 such as ROM, EPROM, or EEPROM, and this BIOS includes basic routines that help transmit information between components within the computer 1102, such as during startup. RAM 1112 may also include high-speed RAM, such as static RAM, for caching data.
[0081] Computer 1102 also includes an internal hard disk drive (HDD) 1114 (e.g., EIDE, SATA) – this internal hard disk drive 1114 may also be configured for external use within a suitable chassis (not shown) – a magnetic floppy disk drive (FDD) 1116 (e.g., for reading from and recording to a portable diskette 1118), and an optical disk drive 1120 (e.g., for reading CD-ROM disks 1122 or other high-capacity optical media such as DVDs). The hard disk drive 1114, magnetic disk drive 1116, and optical disk drive 1120 can be connected to the system bus 1108 by hard disk drive interfaces 1124, magnetic disk drive interfaces 1126, and optical drive interfaces 1128, respectively. Interface 1124 for the implementation of external drives includes at least one or both of the USB (Universal Serial Bus) and IEEE 1394 interface technologies.
[0082] These drives and associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, and the like. In the case of computer 1102, the drives and media correspond to those that store any data in a suitable digital format. While the above description of computer-readable media refers to HDDs, portable magnetic disks, and portable optical media such as CDs or DVDs, those skilled in the art will see that other types of computer-readable media, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, can also be used in the exemplary operating environment, and that any such media can contain computer-executable instructions for carrying out the methods of the present disclosure.
[0083] A number of program modules, including an operating system 1130, one or more application programs 1132, other program modules 1134, and program data 1136, may be stored in the drive and RAM 1112. All or part of the operating system, applications, modules, and / or data may also be cached in RAM 1112. It will be clear that this disclosure can be embodied in various commercially available operating systems or combinations of operating systems.
[0084] The user can input commands and information to 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, gamepad, stylus pen, touchscreen, and others. These and other input devices are often connected to the processing unit 1104 via an input device interface 1142 connected to the system bus 1108, but may also be connected via other interfaces such as parallel ports, IEEE 1394 serial ports, game ports, USB ports, IR interfaces, and others.
[0085] The monitor 1144 or other types of display devices are similarly connected to the system bus 1108 through an interface such as the video adapter 1146. In addition to the monitor 1144, the computer generally includes other peripheral output devices (not shown) such as speakers, printers, and others.
[0086] Computer 1102 can operate in a networked environment using logical connections to one or more remote computers, such as remote computers (et al.) 1148, via wired and / or wireless communication. Remote computers (et al.) 1148 may be workstations, computing device computers, routers, personal computers, portable computers, microprocessor-based entertainment devices, peer devices, or other ordinary network nodes, and generally include many or all of the components described for computer 1102, except for the memory storage device 1150, which is illustrated for simplicity. The illustrated logical connections include wired / wireless connections to a short-range network (LAN) 1152 and / or larger networks, such as a long-range network (WAN) 1154. Such LAN and WAN networking environments are common in offices and companies and facilitate enterprise-wide computer networks such as intranets, all of which can be connected to a global computer network, such as the Internet.
[0087] When used in a LAN networking environment, computer 1102 is connected to the local network 1152 via a wired and / or wireless network interface or adapter 1156. The adapter 1156 facilitates wired or wireless communication to the LAN 1152, which also includes a wireless access point installed therein to communicate with the wireless adapter 1156. When used in a WAN networking environment, computer 1102 may include a modem 1158, be connected to a communication computing device on the WAN 1154, or have other means of establishing communication through the WAN 1154, such as via the Internet. The modem 1158, which may be internal or external and wired or wireless, is connected to the system bus 1108 via a serial port interface 1142. In a networked environment, the program modules or portions thereof described for computer 1102 may be stored in a remote memory / storage device 1150. The illustrated network connections are illustrative, and it should be noted that other means of establishing communication links between computers may be used.
[0088] Computer 1102 operates to communicate with any wireless device or individual that is deployed and operates wirelessly, such as a printer, scanner, desktop and / or portable computer, PDA (portable data assistant), communication satellite, any equipment or location associated with a wirelessly discoverable tag, and a telephone. This includes at least Wi-Fi and Bluetooth® wireless technologies. Thus, the communication may be a predefined structure, as in conventional networks, or simply ad hoc communication between at least two devices.
[0089] Wi-Fi (Wireless Fidelity) enables connectivity to the internet and other services without wired connections. Wi-Fi is a wireless technology, similar to cell phone technology, that allows devices like computers to transmit and receive data both indoors and outdoors, i.e., within the network of a base station. Wi-Fi networks use IEEE 802.11 (a, b, g, etc.) wireless technology to provide secure, reliable, and high-speed wireless connectivity. 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 operate in the unlicensed 2.4 and 5 GHz wireless bands, for example, at data rates of 11 Mbps (802.11a) or 54 Mbps (802.11b), or in products that include both bands (dual-band).
[0090] A person with ordinary skill in the art of this disclosure will understand that information and signals can be represented using any variety of different techniques and methods. For example, data, instructions, commands, information, signals, bits, symbols and chips that can be referenced in the foregoing description can be represented by voltage, electric current, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0091] A person with ordinary skill in the art of this disclosure will understand that the various exemplary logic blocks, modules, processors, means, circuits, and algorithmic stages described in connection with the embodiments disclosed herein may be embodied by electronic hardware, various forms of programs or design code (referred to herein for convenience as software), or combinations thereof. To clearly illustrate such interoperability between hardware and software, various exemplary components, blocks, modules, circuits, and stages have been generally described above in relation to their functions. Whether such functions are embodied as hardware or software depends on the design constraints imposed on the particular application and the overall system. A person with ordinary skill in the art of this disclosure may embodied the functions described in various ways for their respective specific applications, but such embodiment decisions should not be construed as departing from the scope of this disclosure.
[0092] The various embodiments presented herein may be embodied in methods, apparatus, or manufactured articles using standard programming and / or engineering techniques. The term "manufactured article" includes computer programs, carriers, or media accessible from any computer-readable storage device. For example, computer-readable storage media include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical disks (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Furthermore, the various storage media presented herein include one or more devices and / or other machine-readable media for storing information.
[0093] It should be understood that the specific order or hierarchical structure of the stages in the presented process is an example of an exemplary approach. It should be understood that the specific order or hierarchical structure of the stages in the process may be rearranged within the scope of this disclosure based on design priorities. The appended method claims provide a variety of stage elements in sample order, but are not limited to the specific order or hierarchical structure presented.
[0094] The descriptions of the embodiments presented are provided so that any person with ordinary skill in the art of the Disclosure may utilize or implement the Disclosure. Various variations of such embodiments are obvious to a person with ordinary skill in the art of the Disclosure, and the general principles defined herein may be applied to other embodiments without departing from the scope of the Disclosure. The Disclosure is not limited to the embodiments presented herein and should be interpreted in the broadest sense consistent with the principles and novel features presented herein.
Claims
1. A method for obtaining a second route from a second map database that is matched with a first route from a first map database between different map databases composed of nodes and links, using a computing device, The computing device, The stage of matching data from the first map database and data from the second map database using the same coordinate system; A step in which candidate links that match the first route are obtained from a second database based on the coordinate information of the first route; A step of obtaining a starting candidate link group and an ending candidate link group from among the candidate links based on the angular information of the links included in the first path; and The step of obtaining the second path by searching for a path that connects the links included in the starting candidate link group and the links included in the ending candidate link group; Includes, The steps for acquiring the aforementioned starting candidate link group and the aforementioned ending candidate link group are as follows: A step of determining a link as a candidate starting link group whose angle with the first link of the first path is less than or equal to a first angle; and A step in which links whose angle with the last link of the first path is less than or equal to the second angle are determined as a group of candidate links for termination; including, A method for obtaining the second path in the second database that matches the first path in the first database.
2. The next step in obtaining candidate links from the second database is: A step of obtaining latitude coordinate information included in at least one link included in the first route; A step of obtaining longitude coordinate information included in at least one link included in the first path; A step of obtaining at least one plane having a range of at least two latitude coordinate values and at least two longitude coordinate values based on the latitude coordinate information and longitude coordinate information; A step of extending the range of at least one plane obtained above based on a predetermined error range; The step of obtaining nodes in the second map database based on the aforementioned expanded plane; and The step of acquiring a link containing the aforementioned acquired node as a candidate link; A method for obtaining a second path of a second database that is matched with a first path, which is a path of the first database according to claim 1, including the above.
3. A method for obtaining a second path in a second database that is matched with a first path in a first database according to claim 1, wherein both the first angle and the second angle are 20 degrees.
4. The step of determining the candidate link group to start involves further considering the distance information to the first link of the first path to determine the candidate link group to start. A method for obtaining a second path in a second database that is matched with a first path in a first database according to claim 1, wherein the step of determining the candidate link group for termination further considers distance information with the last link of the first path to determine the candidate link group for termination.
5. The aforementioned starting candidate link group includes multiple links, and the aforementioned ending candidate link group also includes multiple links. In the stage of acquiring the second path, the computing device: A method for obtaining a second path in a second database that is matched with a first path in a first database according to claim 1, wherein the shortest distance path among the paths connecting the links in the starting candidate link group and the links in the ending candidate link group is obtained as a candidate path, thereby obtaining multiple candidate paths connecting each of the multiple links in the starting candidate link group and each of the multiple links in the ending candidate link group, and obtaining a second path from among the obtained candidate paths.
6. The computing device is A method for obtaining a second path in a second database that is matched with a first path in a first database, according to claim 5, comprising selecting the second path from among the candidate paths based on distance information to the start node of the first path and distance information to the end node of the first path.
7. A computer program stored on a computer-readable storage medium, the computer program includes instructions causing one or more processors to obtain a second path in a second map database that is matched with a first path in a first map database between different map databases configured with nodes and links, the instructions include: The stage of matching data from the first database and data from the second database within the same coordinate system; A step in which candidate links that match the first route are obtained from a second database based on the coordinate information of the first route; A step of obtaining a starting candidate link group and an ending candidate link group from among the candidate links based on the angular information of the links included in the first path; and The step of obtaining the second path by searching for a path that connects the links included in the starting candidate link group and the links included in the ending candidate link group; Includes, The steps for acquiring the aforementioned starting candidate link group and the aforementioned ending candidate link group are as follows: A step of determining a link as a candidate starting link group whose angle with the first link of the first path is less than or equal to a first angle; and A step in which links whose angle with the last link of the first path is less than or equal to the second angle are determined as a group of candidate links for termination; including, A computer program stored on a computer-readable storage medium.
Citation Information
Patent Citations
Method and system for transferring position information of digital map
JP2002228468A
Route guidance server apparatus, navigation apparatus, route guidance system, and route guidance method
JP2011013016A
Apparatus and method for processing traffic information
US20050187708A1