WO2009002020A2 - Method and system for finding nearest neighbors based on vboronoi diagram - Google Patents

Method and system for finding nearest neighbors based on vboronoi diagram Download PDF

Info

Publication number
WO2009002020A2
WO2009002020A2 PCT/KR2008/002920 KR2008002920W WO2009002020A2 WO 2009002020 A2 WO2009002020 A2 WO 2009002020A2 KR 2008002920 W KR2008002920 W KR 2008002920W WO 2009002020 A2 WO2009002020 A2 WO 2009002020A2
Authority
WO
WIPO (PCT)
Prior art keywords
minimum distance
distance
boundary
voronoi
cell
Prior art date
Application number
PCT/KR2008/002920
Other languages
French (fr)
Other versions
WO2009002020A3 (en
Inventor
Jae Woo Chang
Jung Ho Um
Yeon Jung Kim
Tae Hun Lee
Original Assignee
Industrial Cooperation Foundation Chonbuk National University
Thinkware Systems Corporation
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 Industrial Cooperation Foundation Chonbuk National University, Thinkware Systems Corporation filed Critical Industrial Cooperation Foundation Chonbuk National University
Publication of WO2009002020A2 publication Critical patent/WO2009002020A2/en
Publication of WO2009002020A3 publication Critical patent/WO2009002020A3/en

Links

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
    • 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/36Input/output arrangements for on-board computers
    • G01C21/3679Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle

Definitions

  • the present invention relates to a method and system for finding nearest neighbors based on a Voronoi diagram, and more particularly, to a method and system for finding nearest neighbors based on a Voronoi diagram which may process a k-th nearest neighbor query using a Voronoi diagram adopted in a road network.
  • a navigation system may receive a satellite radio wave from a
  • GPS Global Positioning System
  • a traveling path to a current traveling position from a traveling start position may be displayed on a screen by calculating a mileage determined by a mileage detecting means such as a sensor for detecting vehicle rotation, and also calculating a traveling azimuth determined by an azimuth detecting means such as an earth magnetism sensor.
  • a function for searching for a Point Of Interest (POI) near a user's vehicle in real time whiling traveling is an essential function of the navigation system, and therefore a rapid searching method for supporting the essential function may be in high demand.
  • POI Point Of Interest
  • GIS Geographic Information System
  • LBS Location-Based services
  • telematics application fields a service for providing several POIs near the current location of the user such as gas stations, restaurants, banks, and the like may also be essential function.
  • the above-described surrounding POI searching may be performed by a nearest neighbor query processing method.
  • algorithms for storing a road network processing the nearest neighbor query and for expanding the road network until reaching a desired POI starting from a predetermined query point may be used.
  • the Voronoi diagram may denote a method for partitioning a space based on points spaced apart from, by an identical distance, each of predetermined points existing on the space.
  • Voronoi-based network nearest neighbor algorithms (hereinafter, referred to as 'VN3') have been suggested for the nearest neighbor queries used for searching for k-numbered POIs nearest from an arbitrary point on a road.
  • VN3 may be given by applying the Voronoi diagram to the road network, and may rapidly calculate a first nearest neighbor POI when using a network
  • VN3 may calculate nearest neighbor POIs ranging from second to k-th nearest neighbors while expanding the POI using adjacent network
  • the Voronoi diagram may guarantee that Pl is a nearest point of a query point (q) when the query point (q) is present within a cell of Pl.
  • the Voronoi diagram of FIG. 1 is applied in a road network.
  • a Dijstra algorithm may be used for obtaining each distance between Voronoi cells, unlike the existing Voronoi diagram.
  • the network Voronoi diagram may obtain a boundary of each of Voronoi cells, and then generate a Voronoi diagram based on the obtained boundary.
  • a distance to the boundary from a predetermined point of the road network in each cell, a distance to another boundary from the boundary, and a distance to the boundary from a POI may be respectively calculated.
  • a distance to the POIs from the query point may be calculated. Also, a minimum distance to each of the POIs may be inserted in a minimum heap to retrieve a POI having the minimum distance in the minimum heap, and then the POI having the minimum distance may be set as a next nearest neighbor.
  • the existing method for finding k-th nearest neighbor may be required to calculate a distance to a boundary of a Voronoi cell including a POI from the query point (q) and a distance to the POI from the boundary of the Voronoi cell, and thus a time of ⁇ (m+nlgn) (m: a number of edges, n: a number of nodes) may be required for calculating the minimum distance to the POI.
  • a time of k ⁇ (m+nlgn) may be required for calculating the minimum distance to the POI.
  • VN3 when k or density of data increases, a relatively great time for embodying the network Voronoi polygons may be required, and an amount of query calculations may dramatically increase, thereby reducing system performance.
  • the existing algorithm for finding k-nearest neighbor query may be required to calculate each distance between boundaries due to a newly inserted boundary section while expanding the POI in the query point (q), and thereby a section in which the calculation is performed at least two times may be generated.
  • the minimum distance from the query point (q) to the boundary may be required to be updated due to the newly inserted section.
  • the updating operation for the minimum distance between the boundaries on the road network is generated when expanding the POI, and the section distance is disadvantageously required to be repeatedly recalculated every time the POI is expanded for the purpose of the updating.
  • An aspect of the present invention provides a k-th nearest neighbor query processing algorithm for maximally reducing a time required for embodying network
  • Voronoi polygons and minimizing an amount of calculations of k-th nearest neighbor query.
  • An aspect of the present invention provides a k-th nearest neighbor query processing algorithm based on a Voronoi diagram which may maintain a minimum distance between boundaries of a Voronoi cell in a view of an entire network to thereby minimize a distance updating and optimize performance of the k-nearest neighbor query processing.
  • a system for finding nearest neighbors based on a Voronoi diagram including: a storage unit to store boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram; and a nearest neighbor query processing unit to process a predetermined number of nearest neighbor queries using the boundary minimum distance information stored in the storage unit, and provide a Point Of Interest (POI) corresponding to the processed query result.
  • a storage unit to store boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram
  • a nearest neighbor query processing unit to process a predetermined number of nearest neighbor queries using the boundary minimum distance information stored in the storage unit, and provide a Point Of Interest (POI) corresponding to the processed query result.
  • POI Point Of Interest
  • a method for finding nearest neighbors based on a Voronoi diagram including: maintaining boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram; retrieving a predetermined number of nearest neighbors corresponding to an arbitrary query point using the boundary minimum distance information; and providing a POI corresponding to the retrieved nearest neighbors with respect to the query point.
  • FIG. 1 is a diagram illustrating a space partitioned state used for describing a basic principle of a Voronoi diagram
  • FIG. 2 is a diagram illustrating an example in which a Voronoi diagram is applied in a road network
  • FIG. 3 is a diagram illustrating a system for finding nearest neighbors based on a Voronoi diagram according to an exemplary embodiment of the invention
  • FIG. 4 is a diagram illustrating entire processes of an algorithm for generating a minimum distance matrix between boundary points according to an exemplary embodiment of the invention
  • FIG. 5 is a diagram illustrating a process for generating a minimum distance between boundary points.
  • FIG. 6 is a diagram illustrating entire processes of a k-th nearest neighbor query processing algorithm based on a minimum distance matrix between boundary points according to an exemplary embodiment of the invention
  • FIG. 7 is a diagram illustrating a network Voronoi diagram based on a k-th nearest neighbor query processing algorithm according to an exemplary embodiment of the invention.
  • FIG. 8 is a diagram illustrating a table for calculating section distances by a k-th nearest neighbor query processing algorithm according to an exemplary embodiment of the invention.
  • Voronoi diagram according to an exemplary embodiment of the invention will be herein described in detail with reference to FIG. 3.
  • the system of the present exemplary embodiment of the invention may be applied in a navigation terminal including a Global Positioning System (GPS) receiver for receiving position signals from at least three GPS satellites.
  • GPS Global Positioning System
  • the navigation terminal may receive the position signals through the GPS receiver to calculate a position of a moving object, provide a current location to a user based on the calculated position of the moving object, route an optimized path to a desired destination, and provide various information related with the path to guide the user.
  • the navigation terminal may have a function for finding nearest neighbors with respect to a current location of the moving object, and retrieve and provide various Point Of Interests (POIs) adjacent to the current location such as gas stations, restaurants, banks, and the like using the above-mentioned function while traveling.
  • POIs Point Of Interests
  • a nearest neighbor query processing algorithm may be provided based on a boundary minimum distance matrix on a road network where the Voronoi diagram is applied for the purpose of performing the function for finding nearest neighbors on the navigation terminal.
  • a system for providing the nearest neighbor query processing algorithm may include a storage unit to store boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram, and a nearest neighbor query processing unit 370 to process a predetermined number of nearest neighbor queries using the boundary minimum distance information stored in the storage unit, and provide a POI corresponding to the processed query result.
  • boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram
  • a nearest neighbor query processing unit 370 to process a predetermined number of nearest neighbor queries using the boundary minimum distance information stored in the storage unit, and provide a POI corresponding to the processed query result.
  • the storage unit may include a cell information storage unit 310 to store cell information including the boundary points of the Voronoi cells in the entire road network, a cell minimum distance storage unit 330 to store cell minimum distance information including a minimum distance between the POI and a node within the Voronoi cells and between the POI and the boundary points, respectively, and a boundary minimum distance storage unit 350 to store the boundary minimum distance information including the minimum distance matrix between the boundary points of the Voronoi cells in the entire road network.
  • a cell information storage unit 310 to store cell information including the boundary points of the Voronoi cells in the entire road network
  • a cell minimum distance storage unit 330 to store cell minimum distance information including a minimum distance between the POI and a node within the Voronoi cells and between the POI and the boundary points, respectively
  • a boundary minimum distance storage unit 350 to store the boundary minimum distance information including the minimum distance matrix between the boundary points of the Voronoi cells in the entire road network.
  • the storage unit may further include a map database embodying map data on the whole country for path guidance to a destination designated by a user, and also embodying path guidance data associated with the map data.
  • the nearest neighbor query processing unit 370 may retrieve k nearest neighbors with respect to a query point corresponding to a current location of the user using the stored cell information, cell minimum distance information, and boundary minimum distance information, and provide the nearest neighbors in response to the retrieved result as POI information through a display unit of the navigation terminal.
  • the boundary minimum distance information on the entire road network is embodied and maintained in advance, and thereby an operation for calculating the minimum distance between boundary points may not be required while processing the nearest neighbor query, and further distance updating problems occurring due to local expansion with respect to the POI may be overcome.
  • FIG. 4 is a diagram illustrating entire processes of an algorithm for generating a minimum distance matrix between boundary points according to an exemplary embodiment of the invention
  • FIG. 6 is a diagram illustrating entire processes of a k-th nearest neighbor query processing algorithm based on a minimum distance matrix between boundary points according to an exemplary embodiment of the invention.
  • the method may generate a Voronoi diagram applied in a road network, and designate an arbitrary boundary point of a Voronoi cell.
  • the method may designate another boundary point to be an object of a distance calculation with the designated boundary point.
  • the method may generate at least one distance matrix between the two designated boundary points, and retrieve an edge (path) including the two boundary points on the road network.
  • the method may calculate a minimum distance between nodes (crossing points) composing the retrieved edge, and between the nodes and each of the boundary points.
  • the method may determine presence/absence of the minimum distance matrix between nodes (crossing points) composing the retrieved edge based on the map data and cell minimum distance information stored in the storage unit may be determined. Next, the method may read the minimum distance between the nodes of the corresponding matrix when the minimum distance matrix between the nodes is present according to the determined result. Conversely, the method may calculate the minimum distance between the corresponding nodes using a Dijstra algorithm when the minimum distance matrix between the nodes is absent.
  • the method may respectively calculate a distance between two boundary points according to each of the distance matrixes generated with respect to the two boundary points, and then store, as a minimum distance matrix between the two boundary points, a distance matrix having a minimum distance from among the distance matrixes in which the distance between the boundary points is calculated.
  • a distance matrix having a minimum distance value may be set as a minimum distance matrix (MinDist g ) between the two boundary points.
  • MinDist g a minimum distance matrix between boundary points with respect to all boundary points on the entire road network.
  • the distance matrix between the boundary points may be preferably stored as a unit in order to facilitate data access when processing the nearest neighbor query.
  • a current location of the user may be determined, and the determined current location may act as a query point.
  • a Voronoi cell including the query point on the road network may be retrieved, and a POI of the retrieved Voronoi cell may be set as a first nearest neighbor.
  • a POI having a minimum distance with the query point with respect to a Voronoi cell adjacent to the query point may be sequentially retrieved, and the sequentially retrieved POI may be set as the next nearest neighbor.
  • A (hereinafter, referred to as a first distance) to the query point from boundary points of the Voronoi cell including the query point
  • a process for determining a minimum distance (C) (hereinafter, referred to as a third distance) to a POI of the adjacent Voronoi cell from boundary points of the adjacent Voronoi cell may be performed in the sated order.
  • the first distance (A) For determining the first distance (A), in operation S620, whether each of two nodes (crossing point) of an edge (path) including the query point includes a unique Voronoi cell may be determined. In operation S640, when the two nodes of the edge including the query point are present in a single Voronoi cell according to the determined result, a distance from the boundary points including the query point to the query point may be calculated and the calculated distance may be determined as the first distance (A). Meanwhile, in operation S630, when the two nodes of the edge including the query point are present in two different Voronoi cells, a distance to each of the nodes from the boundary points of the Voronoi cell including query point may be calculated, and a minimum distance from among the calculated distances may be set as the first distance (A). Specifically, when the edge including the query point includes two Voronoi cells, the first distance (A) may be determined considering both of the two Voronoi cells.
  • the two nodes of the edge including the query point include two Voronoi cells
  • the first distance (A) may be represented by [Equation 1]
  • Dist(q,b 1 ) Min(Dist(q,n 1 )+Dist(n 1 ,b 1 ), Dist(q,n 2 )+Dist(n 2 ,b,)), wherein q denotes a query point, b, denotes boundary points of a Voronoi cell including the query point, Dist(q,b,) denotes a distance to the query point from boundary points of Voronoi cell including the query point, m, n 2 denotes a node including the query point, and Dist(q,n 2 ) respectively denote a distance to each node from the query point, and Dist(n l5 b,) and Dist(n 2 ,bi) respectively denote a distance from boundary points to each node.
  • the Voronoi cell including the query point and an adjacent Voronoi cell may be retrieved based on the boundary minimum distance information stored in the storage unit.
  • the minimum distance (B) between boundary points of the Voronoi cell including the query point and the adjacent Voronoi cell may be retrieved from the stored boundary minimum distance information. This may be performed such that the boundary points of the Voronoi cell including the query point are retrieved from the minimum distance matrix between the boundary points stored in the storage unit, and boundary points of the Voronoi cell including the query point and boundary points of the adjacent Voronoi cell having the minimum distance matrix are retrieved.
  • a minimum distance between the boundary points of the Voronoi cell including the query point that corresponds to the minimum distance matrix and boundary points of the adjacent Voronoi cell may be determined as the second distance (B).
  • cell minimum distance information corresponding to the adjacent Voronoi cell may be retrieved from the cell minimum distance information stored in the storage unit.
  • a minimum distance between boundary points and POI of the adjacent Voronoi cell may be retrieved from the retrieved cell minimum distance information, and the retrieved minimum distance may be determined as the third distance (C).
  • the first, second, and third distances (A), (B), and (C) may be summed up to thereby calculate a minimum distance from the query point to the POI of the adjacent Voronoi cell, when determination of the first, second, and third distances (A), (B), and (C) are completed through the above-described processes.
  • the minimum distance from the query point to the POI of the adjacent Voronoi cell is represented by
  • MinDist qjp Min(Dist(q,b,)+Dist(bi,bj)+Dist(bj,p)), wherein q denotes a query point, p denotes a POI, MinDist q;P denotes a minimum distance from the query point to POI of an adjacent Voronoi cell, b, denotes boundary points of Voronoi cell including the query point, b, denotes boundary points of the adjacent Voronoi cell, Dist(q,b,) denotes a distance (first distance) (A) to the query point from boundary points of Voronoi cell including the query point, Dist(bi,bj) denotes a distance (second distance) (B) between boundary points of the Voronoi cell including the query point and the adjacent Voronoi cell, and Dist(bj,p) denotes a distance (third distance) (C) from boundary points to POI of the adjacent Voronoi cell.
  • the minimum distance matrix between the boundary points which are previously calculated and stored may be used when processing the nearest neighbor query, and thereby the boundary minimum distance may be retrieved from the storage unit without directly calculating the distance between the boundary points.
  • a minimum distance from the calculated query point to the POI of the adjacent Voronoi cell may be inserted into a minimum heap, and the POI of the adjacent Voronoi cell having the minimum distance through the minimum heap may be set as the next nearest neighbor.
  • Operations S650 to S690 may be repeatedly performed until a number of the POIs set as the next nearest neighbor reaches a predetermined number (k) to thereby repeat the nearest neighbor setting while retrieving another adjacent Voronoi cell and expanding the POI.
  • FIG. 7 is a diagram illustrating a network Voronoi diagram based on a k-th nearest neighbor query processing algorithm according to an exemplary embodiment of the invention
  • FIG. 8 is a diagram illustrating a table for calculating section distances by a k-th nearest neighbor query processing algorithm according to an exemplary embodiment of the invention.
  • a process for calculating a distance between a query point and POI based on the nearest neighbor query algorithm according to the present exemplary embodiment of the invention will be herein described in detail with reference to FIGS. 7 and 8.
  • Setting of the nearest neighbor in the Voronoi diagram of FIG. 7 may be performed in an order Of P 1 -> P 3 -> P 4 -> P 2 with respect to the query point (q).
  • Pi that is, a Voronoi cell including the query point may correspond to a first nearest neighbor.
  • the section calculation may be performed two times.
  • P 3 may correspond to a second POI.
  • the section calculation may be performed four times.
  • a minimum distance to P5 from boundary points of Pi of the Voronoi cell including the query point may be acquired using the minimum distance matrix between the boundary points having been embodied in the storage unit even without calculating a number of cases circulating boundary points of P4 and P5 for the purpose of calculating a minimum distance from P 4 to P 5 .
  • a recalculation operation with respect to the minimum distance is not required to be performed, and thus the section calculation of P 4 may be performed six times.
  • the minimum distance between the boundary points on the entire road network may be maintained even without updating a minimum distance from the query point to candidate sets, and thereby an updating operation occurring by selection of P 2 is not required to be performed. Accordingly, a number of calculations in P 2 according to the present exemplary embodiment of the invention may be O'.
  • the cell minimum distance information and boundary minimum distance information with respect to the Voronoi cell on the entire road network are previously embodied in the storage unit, and the previously embodied information may be used when processing the nearest neighbor query, and therefore the recalculation operation or updating operation with respect to the minimum distance due to expansion of the POI may be omitted.
  • the method for finding nearest neighbors based on the Voronoi diagram may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer.
  • the media may also include, alone or in combination with the program instructions, data files, data structures, and the like.
  • the media and program instructions may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer- readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVD; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like.
  • Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
  • the described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described exemplary embodiments of the present invention.
  • a time required for calculating the minimum distance from the query point to the POI when processing the nearest neighbor query may correspond to a time required for accessing the storage unit where the boundary minimum distance information is stored, and retrieving.
  • the minimum distance between the boundary points may be maintained in a matrix unit, thereby facilitating access with respect to the minimum distance.
  • the calculation operation for the minimum distance and the distance updating operation due to expansion of the POI are not required to be performed when processing the nearest neighbor query, thus significantly reducing a number of distance calculations, and also reducing a time required for processing the nearest neighbor query.

Abstract

Disclosed are a method and system for finding nearest neighbors based on a Voronoi diagram. The method includes maintaining boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram, retrieving a predetermined number of nearest neighbors corresponding to an arbitrary query point using the boundary minimum distance information, and providing a POI corresponding to the retrieved nearest neighbors with respect to the query point.

Description

METHOD AND SYSTEM FOR FINDING NEAREST NEIGHBORS BASED ON
VBORONOI DIAGRAM
Technical Field
The present invention relates to a method and system for finding nearest neighbors based on a Voronoi diagram, and more particularly, to a method and system for finding nearest neighbors based on a Voronoi diagram which may process a k-th nearest neighbor query using a Voronoi diagram adopted in a road network.
Background Art In general, a navigation system may receive a satellite radio wave from a
Global Positioning System (GPS) satellite orbiting the earth, detect a current location of a moving object by calculating a signal reception distance with the satellite, and display the current location of the moving object detected through map data with respect to the related area from a memory where the map data is recorded. Also, a traveling path to a current traveling position from a traveling start position may be displayed on a screen by calculating a mileage determined by a mileage detecting means such as a sensor for detecting vehicle rotation, and also calculating a traveling azimuth determined by an azimuth detecting means such as an earth magnetism sensor. A function for searching for a Point Of Interest (POI) near a user's vehicle in real time whiling traveling is an essential function of the navigation system, and therefore a rapid searching method for supporting the essential function may be in high demand.
Even in Geographic Information System (GIS), Location-Based services (LBS), and telematics application fields, a service for providing several POIs near the current location of the user such as gas stations, restaurants, banks, and the like may also be essential function.
The above-described surrounding POI searching may be performed by a nearest neighbor query processing method. For this purpose, algorithms for storing a road network processing the nearest neighbor query and for expanding the road network until reaching a desired POI starting from a predetermined query point may be used.
However, high costs for expanding the road network may be required. Accordingly, an algorithm for processing nearest neighbor queries using a Voronoi diagram may be developed for the purpose reducing costs.
The Voronoi diagram may denote a method for partitioning a space based on points spaced apart from, by an identical distance, each of predetermined points existing on the space.
The above-described Voronoi-based network nearest neighbor algorithms (hereinafter, referred to as 'VN3') have been suggested for the nearest neighbor queries used for searching for k-numbered POIs nearest from an arbitrary point on a road.
In general, VN3 may be given by applying the Voronoi diagram to the road network, and may rapidly calculate a first nearest neighbor POI when using a network
Voronoi polygon. Also, VN3 may calculate nearest neighbor POIs ranging from second to k-th nearest neighbors while expanding the POI using adjacent network
Voronoi polygons.
A method for finding k-th nearest neighbor based on a network Voronoi diagram will be herein described in detail.
First, as illustrated in FIG. 1, the Voronoi diagram may guarantee that Pl is a nearest point of a query point (q) when the query point (q) is present within a cell of Pl.
As illustrated in FIG. 2, the Voronoi diagram of FIG. 1 is applied in a road network. In a case where the Voronoi diagram is applied in the road network, a Dijstra algorithm may be used for obtaining each distance between Voronoi cells, unlike the existing Voronoi diagram.
The network Voronoi diagram may obtain a boundary of each of Voronoi cells, and then generate a Voronoi diagram based on the obtained boundary.
When the network Voronoi diagram is generated, a distance to the boundary from a predetermined point of the road network in each cell, a distance to another boundary from the boundary, and a distance to the boundary from a POI may be respectively calculated.
Next, by summing the calculated distances, a distance to the POIs from the query point may be calculated. Also, a minimum distance to each of the POIs may be inserted in a minimum heap to retrieve a POI having the minimum distance in the minimum heap, and then the POI having the minimum distance may be set as a next nearest neighbor. However, the existing method for finding k-th nearest neighbor may be required to calculate a distance to a boundary of a Voronoi cell including a POI from the query point (q) and a distance to the POI from the boundary of the Voronoi cell, and thus a time of Θ(m+nlgn) (m: a number of edges, n: a number of nodes) may be required for calculating the minimum distance to the POI. Specifically, when k POIs are detected, a time of kΘ(m+nlgn) may be required for calculating the minimum distance to the POI.
Thus, as for VN3, when k or density of data increases, a relatively great time for embodying the network Voronoi polygons may be required, and an amount of query calculations may dramatically increase, thereby reducing system performance. Also, the existing algorithm for finding k-nearest neighbor query may be required to calculate each distance between boundaries due to a newly inserted boundary section while expanding the POI in the query point (q), and thereby a section in which the calculation is performed at least two times may be generated. Also, the minimum distance from the query point (q) to the boundary may be required to be updated due to the newly inserted section.
Specifically, at the time of execution of the algorithm for finding k-th nearest neighbor query, the updating operation for the minimum distance between the boundaries on the road network is generated when expanding the POI, and the section distance is disadvantageously required to be repeatedly recalculated every time the POI is expanded for the purpose of the updating.
Disclosure of Invention
Technical Goals
An aspect of the present invention provides a k-th nearest neighbor query processing algorithm for maximally reducing a time required for embodying network
Voronoi polygons and minimizing an amount of calculations of k-th nearest neighbor query.
An aspect of the present invention provides a k-th nearest neighbor query processing algorithm based on a Voronoi diagram which may maintain a minimum distance between boundaries of a Voronoi cell in a view of an entire network to thereby minimize a distance updating and optimize performance of the k-nearest neighbor query processing. Technical Solutions
According to an aspect of the present invention, there is provided a system for finding nearest neighbors based on a Voronoi diagram, the system including: a storage unit to store boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram; and a nearest neighbor query processing unit to process a predetermined number of nearest neighbor queries using the boundary minimum distance information stored in the storage unit, and provide a Point Of Interest (POI) corresponding to the processed query result.
According to another aspect of the present invention, there is provided a method for finding nearest neighbors based on a Voronoi diagram, the method including: maintaining boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram; retrieving a predetermined number of nearest neighbors corresponding to an arbitrary query point using the boundary minimum distance information; and providing a POI corresponding to the retrieved nearest neighbors with respect to the query point.
Brief Description of Drawings
FIG. 1 is a diagram illustrating a space partitioned state used for describing a basic principle of a Voronoi diagram;
FIG. 2 is a diagram illustrating an example in which a Voronoi diagram is applied in a road network; FIG. 3 is a diagram illustrating a system for finding nearest neighbors based on a Voronoi diagram according to an exemplary embodiment of the invention;
FIG. 4 is a diagram illustrating entire processes of an algorithm for generating a minimum distance matrix between boundary points according to an exemplary embodiment of the invention; FIG. 5 is a diagram illustrating a process for generating a minimum distance between boundary points.
FIG. 6 is a diagram illustrating entire processes of a k-th nearest neighbor query processing algorithm based on a minimum distance matrix between boundary points according to an exemplary embodiment of the invention;
FIG. 7 is a diagram illustrating a network Voronoi diagram based on a k-th nearest neighbor query processing algorithm according to an exemplary embodiment of the invention; and
FIG. 8 is a diagram illustrating a table for calculating section distances by a k-th nearest neighbor query processing algorithm according to an exemplary embodiment of the invention.
Best Mode for Carrying Out the Invention
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures. First, a configuration of a system for finding nearest neighbors based on a
Voronoi diagram according to an exemplary embodiment of the invention will be herein described in detail with reference to FIG. 3.
The system of the present exemplary embodiment of the invention may be applied in a navigation terminal including a Global Positioning System (GPS) receiver for receiving position signals from at least three GPS satellites.
The navigation terminal may receive the position signals through the GPS receiver to calculate a position of a moving object, provide a current location to a user based on the calculated position of the moving object, route an optimized path to a desired destination, and provide various information related with the path to guide the user.
The navigation terminal may have a function for finding nearest neighbors with respect to a current location of the moving object, and retrieve and provide various Point Of Interests (POIs) adjacent to the current location such as gas stations, restaurants, banks, and the like using the above-mentioned function while traveling. According to the present invention, a nearest neighbor query processing algorithm may be provided based on a boundary minimum distance matrix on a road network where the Voronoi diagram is applied for the purpose of performing the function for finding nearest neighbors on the navigation terminal.
As illustrated in FIG. 3, a system for providing the nearest neighbor query processing algorithm according to the present exemplary embodiment of the invention may include a storage unit to store boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram, and a nearest neighbor query processing unit 370 to process a predetermined number of nearest neighbor queries using the boundary minimum distance information stored in the storage unit, and provide a POI corresponding to the processed query result. Here, the storage unit may include a cell information storage unit 310 to store cell information including the boundary points of the Voronoi cells in the entire road network, a cell minimum distance storage unit 330 to store cell minimum distance information including a minimum distance between the POI and a node within the Voronoi cells and between the POI and the boundary points, respectively, and a boundary minimum distance storage unit 350 to store the boundary minimum distance information including the minimum distance matrix between the boundary points of the Voronoi cells in the entire road network.
Also, the storage unit may further include a map database embodying map data on the whole country for path guidance to a destination designated by a user, and also embodying path guidance data associated with the map data.
For the purpose of processing of the nearest neighbor query, according to the present invention, cell information on the entire network, cell minimum distance information, and boundary minimum distance information are calculated in advance, and the calculated information may be maintained and provided through the storage unit. The nearest neighbor query processing unit 370 may retrieve k nearest neighbors with respect to a query point corresponding to a current location of the user using the stored cell information, cell minimum distance information, and boundary minimum distance information, and provide the nearest neighbors in response to the retrieved result as POI information through a display unit of the navigation terminal. Thus, according to the present exemplary embodiment of the invention, the boundary minimum distance information on the entire road network is embodied and maintained in advance, and thereby an operation for calculating the minimum distance between boundary points may not be required while processing the nearest neighbor query, and further distance updating problems occurring due to local expansion with respect to the POI may be overcome.
Hereinafter, a method for generating a minimum distance matrix between boundary points stored in the storage unit, and a method for finding nearest neighbors with respect to a query point based on the boundary minimum distance matrix will be described in detail.
FIG. 4 is a diagram illustrating entire processes of an algorithm for generating a minimum distance matrix between boundary points according to an exemplary embodiment of the invention, and FIG. 6 is a diagram illustrating entire processes of a k-th nearest neighbor query processing algorithm based on a minimum distance matrix between boundary points according to an exemplary embodiment of the invention.
First, referring to FIG. 4, the method for generating the distance matrix between the boundary points will be described in detail. In operation S410, the method may generate a Voronoi diagram applied in a road network, and designate an arbitrary boundary point of a Voronoi cell. Next, in operation S420, the method may designate another boundary point to be an object of a distance calculation with the designated boundary point.
In operation S430, when two different boundary points are designated, the method may generate at least one distance matrix between the two designated boundary points, and retrieve an edge (path) including the two boundary points on the road network.
Also, in operations S440 to S460, the method may calculate a minimum distance between nodes (crossing points) composing the retrieved edge, and between the nodes and each of the boundary points.
Here, the method may determine presence/absence of the minimum distance matrix between nodes (crossing points) composing the retrieved edge based on the map data and cell minimum distance information stored in the storage unit may be determined. Next, the method may read the minimum distance between the nodes of the corresponding matrix when the minimum distance matrix between the nodes is present according to the determined result. Conversely, the method may calculate the minimum distance between the corresponding nodes using a Dijstra algorithm when the minimum distance matrix between the nodes is absent.
In operations S470 to S490, the method may respectively calculate a distance between two boundary points according to each of the distance matrixes generated with respect to the two boundary points, and then store, as a minimum distance matrix between the two boundary points, a distance matrix having a minimum distance from among the distance matrixes in which the distance between the boundary points is calculated.
For example, as illustrated in FIG. 5, when two boundary points used for calculating a minimum distance are designated as b,(l≤i<n) and bj(l<j<n), four distance matrixes (D1 1 , Dj;2 , D2, i , D2 2) between the two boundary points may be possible. In this instance, the distance (Dij , D1;2 , D2;1 , D2>2) between two boundary points with respect to each of the distance matrixes may be represented as follows.
D^^Dist^^^^O+Dist^^^+ndj^+DistCnd,!),^),
Di^DistCnc^D^O+Dis^no^^+nd^+DistCno^),^), D2;1=Dist(n(l;2),b1)+Dist(n(l!2)+n0;1))+Dist(n(l,1),bl), and
D2;2=Dist(n(l,2),b1)+Dist(n(,;2)+nCl,2))+Dist(n();2),bj), wherein i≠j, n(g)(l<i<n, j=l|2) denotes a node including the two boundary points, Dist(n(1;1),b!) and Dist^^b,) respectively denote a distance between a node with respect to a first distance matrix and a boundary point, and Dist(n(ιji)+n(J,i)) denotes a distance between nodes with respect to the first distance matrix.
When the distance calculation between two boundary points with respect to each of the distance matrixes is completed, a distance matrix having a minimum distance value may be set as a minimum distance matrix (MinDistg) between the two boundary points. In operation S500, a minimum distance matrix between boundary points with respect to all boundary points on the entire road network may be set by repeatedly performing the above-described operations S410 to S490, and then boundary minimum distance information including the minimum distance matrix between the boundary points may be embodied in the storage unit when setting of the minimum distance matrix with respect to the all boundary points is completed.
In particular, when the minimum distance matrix between the boundary points is stored in the storage unit, the distance matrix between the boundary points may be preferably stored as a unit in order to facilitate data access when processing the nearest neighbor query.
Next, a method for finding nearest neighbors using the nearest neighbor query processing algorithm according to the present exemplary embodiment of the invention will be herein described in detail with reference to FIG. 6.
When there is a query requesting to find the nearest neighbors while traveling a path designated by a user, a current location of the user may be determined, and the determined current location may act as a query point.
As illustrated in FIG. 6, in operation S600, a Voronoi cell including the query point on the road network may be retrieved, and a POI of the retrieved Voronoi cell may be set as a first nearest neighbor.
Next, a POI having a minimum distance with the query point with respect to a Voronoi cell adjacent to the query point may be sequentially retrieved, and the sequentially retrieved POI may be set as the next nearest neighbor. In order to set the next nearest neighbor, a process for determining a distance
(A) (hereinafter, referred to as a first distance) to the query point from boundary points of the Voronoi cell including the query point, a process for determining a minimum distance (B) (hereinafter, referred to as a second distance) between boundary points of the Voronoi cell including the query point and boundary points of the adjacent Voronoi cell, and a process for determining a minimum distance (C) (hereinafter, referred to as a third distance) to a POI of the adjacent Voronoi cell from boundary points of the adjacent Voronoi cell may be performed in the sated order.
For determining the first distance (A), in operation S620, whether each of two nodes (crossing point) of an edge (path) including the query point includes a unique Voronoi cell may be determined. In operation S640, when the two nodes of the edge including the query point are present in a single Voronoi cell according to the determined result, a distance from the boundary points including the query point to the query point may be calculated and the calculated distance may be determined as the first distance (A). Meanwhile, in operation S630, when the two nodes of the edge including the query point are present in two different Voronoi cells, a distance to each of the nodes from the boundary points of the Voronoi cell including query point may be calculated, and a minimum distance from among the calculated distances may be set as the first distance (A). Specifically, when the edge including the query point includes two Voronoi cells, the first distance (A) may be determined considering both of the two Voronoi cells. Here, when the two nodes of the edge including the query point include two
Voronoi cells, the first distance (A) may be represented by [Equation 1]
Dist(q,b1)=Min(Dist(q,n1)+Dist(n1,b1), Dist(q,n2)+Dist(n2,b,)), wherein q denotes a query point, b, denotes boundary points of a Voronoi cell including the query point, Dist(q,b,) denotes a distance to the query point from boundary points of Voronoi cell including the query point, m, n2 denotes a node including the query point,
Figure imgf000012_0001
and Dist(q,n2) respectively denote a distance to each node from the query point, and Dist(nl5b,) and Dist(n2,bi) respectively denote a distance from boundary points to each node. Next, for determining the second distance (B), in operation S650, the Voronoi cell including the query point and an adjacent Voronoi cell may be retrieved based on the boundary minimum distance information stored in the storage unit.
In operation S660, the minimum distance (B) between boundary points of the Voronoi cell including the query point and the adjacent Voronoi cell may be retrieved from the stored boundary minimum distance information. This may be performed such that the boundary points of the Voronoi cell including the query point are retrieved from the minimum distance matrix between the boundary points stored in the storage unit, and boundary points of the Voronoi cell including the query point and boundary points of the adjacent Voronoi cell having the minimum distance matrix are retrieved. In addition, in the above-described retrieving process, a minimum distance between the boundary points of the Voronoi cell including the query point that corresponds to the minimum distance matrix and boundary points of the adjacent Voronoi cell may be determined as the second distance (B).
For determining the third distance (C), cell minimum distance information corresponding to the adjacent Voronoi cell may be retrieved from the cell minimum distance information stored in the storage unit. Next, in operation S670, a minimum distance between boundary points and POI of the adjacent Voronoi cell may be retrieved from the retrieved cell minimum distance information, and the retrieved minimum distance may be determined as the third distance (C).
In operation S680, the first, second, and third distances (A), (B), and (C) may be summed up to thereby calculate a minimum distance from the query point to the POI of the adjacent Voronoi cell, when determination of the first, second, and third distances (A), (B), and (C) are completed through the above-described processes.
The minimum distance from the query point to the POI of the adjacent Voronoi cell is represented by
[Equation 2] MinDistqjp=Min(Dist(q,b,)+Dist(bi,bj)+Dist(bj,p)), wherein q denotes a query point, p denotes a POI, MinDistq;P denotes a minimum distance from the query point to POI of an adjacent Voronoi cell, b, denotes boundary points of Voronoi cell including the query point, b, denotes boundary points of the adjacent Voronoi cell, Dist(q,b,) denotes a distance (first distance) (A) to the query point from boundary points of Voronoi cell including the query point, Dist(bi,bj) denotes a distance (second distance) (B) between boundary points of the Voronoi cell including the query point and the adjacent Voronoi cell, and Dist(bj,p) denotes a distance (third distance) (C) from boundary points to POI of the adjacent Voronoi cell.
Accordingly, when determining the first, second, and third distances (A), (B), and (C), distance values previously calculated from the cell minimum distance information or boundary minimum distance information stored in the storage unit may be used. Specifically, according to the present exemplary embodiment of the invention, the minimum distance matrix between the boundary points which are previously calculated and stored may be used when processing the nearest neighbor query, and thereby the boundary minimum distance may be retrieved from the storage unit without directly calculating the distance between the boundary points.
In operation S690, a minimum distance from the calculated query point to the POI of the adjacent Voronoi cell may be inserted into a minimum heap, and the POI of the adjacent Voronoi cell having the minimum distance through the minimum heap may be set as the next nearest neighbor.
Operations S650 to S690 may be repeatedly performed until a number of the POIs set as the next nearest neighbor reaches a predetermined number (k) to thereby repeat the nearest neighbor setting while retrieving another adjacent Voronoi cell and expanding the POI.
FIG. 7 is a diagram illustrating a network Voronoi diagram based on a k-th nearest neighbor query processing algorithm according to an exemplary embodiment of the invention, and FIG. 8 is a diagram illustrating a table for calculating section distances by a k-th nearest neighbor query processing algorithm according to an exemplary embodiment of the invention.
A process for calculating a distance between a query point and POI based on the nearest neighbor query algorithm according to the present exemplary embodiment of the invention will be herein described in detail with reference to FIGS. 7 and 8.
Setting of the nearest neighbor in the Voronoi diagram of FIG. 7 may be performed in an order Of P1 -> P3 -> P4 -> P2 with respect to the query point (q). Pi, that is, a Voronoi cell including the query point may correspond to a first nearest neighbor. In this instance, the section calculation may be performed two times. P3 may correspond to a second POI. In this instance, the section calculation may be performed four times. In a case of P4, a minimum distance to P5 from boundary points of Pi of the Voronoi cell including the query point may be acquired using the minimum distance matrix between the boundary points having been embodied in the storage unit even without calculating a number of cases circulating boundary points of P4 and P5 for the purpose of calculating a minimum distance from P4 to P5. Specifically, a recalculation operation with respect to the minimum distance is not required to be performed, and thus the section calculation of P4 may be performed six times. In addition, in a case of P2, the minimum distance between the boundary points on the entire road network may be maintained even without updating a minimum distance from the query point to candidate sets, and thereby an updating operation occurring by selection of P2 is not required to be performed. Accordingly, a number of calculations in P2 according to the present exemplary embodiment of the invention may be O'.
According to the present exemplary embodiment of the invention, the cell minimum distance information and boundary minimum distance information with respect to the Voronoi cell on the entire road network are previously embodied in the storage unit, and the previously embodied information may be used when processing the nearest neighbor query, and therefore the recalculation operation or updating operation with respect to the minimum distance due to expansion of the POI may be omitted.
The method for finding nearest neighbors based on the Voronoi diagram according to the above-described exemplary embodiments of the present invention may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The media and program instructions may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer- readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVD; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described exemplary embodiments of the present invention.
As described above, according to the present invention, there are provided the method and system for finding nearest neighbors based on the Voronoi diagram which may previously embody the cell minimum distance information and boundary minimum distance information with respect to all Voronoi cells of the entire road network, thereby not requiring to perform the distance updating operation due to expansion of the POI when processing the nearest neighbor query. According to the present invention, a time required for calculating the minimum distance from the query point to the POI when processing the nearest neighbor query may correspond to a time required for accessing the storage unit where the boundary minimum distance information is stored, and retrieving. In this instance, the minimum distance between the boundary points may be maintained in a matrix unit, thereby facilitating access with respect to the minimum distance.
Thus, according to the present invention, the calculation operation for the minimum distance and the distance updating operation due to expansion of the POI are not required to be performed when processing the nearest neighbor query, thus significantly reducing a number of distance calculations, and also reducing a time required for processing the nearest neighbor query.
Although a few embodiments of the present invention have been shown and described, the present invention is not limited to the described embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.

Claims

1. A system for finding nearest neighbors based on a Voronoi diagram, the system comprising: a storage unit to store boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram; and a nearest neighbor query processing unit to process a predetermined number of nearest neighbor queries using the boundary minimum distance information stored in the storage unit, and provide a Point Of Interest (POI) corresponding to the processed query result.
2. The system of claim 1 , wherein the storage unit includes: a cell information storage unit to store cell information including the boundary points of the Voronoi cells in the entire road network; a cell minimum distance storage unit to store cell minimum distance information including a minimum distance between the POI and a node within the Voronoi cells and between the POI and the boundary points, respectively; and a boundary minimum distance storage unit to store the boundary minimum distance information including the minimum distance matrix between the boundary points of the Voronoi cells in the entire road network.
3. The system of claim 2, wherein the nearest neighbor query processing unit provides a nearest neighbor query algorithm for retrieving adjacent nearest neighbors with respect to the query point based on the cell information, the cell minimum distance information, the boundary minimum distance information, each stored in the storage unit, in response to a query for requesting a POI of a predetermined number of nearest neighbors on a predetermined path.
4. A method for finding nearest neighbors based on a Voronoi diagram, the method comprising: maintaining boundary minimum distance information including a minimum distance matrix between boundary points of Voronoi cells, in an entire road network adopting the Voronoi diagram; retrieving a predetermined number of nearest neighbors corresponding to an arbitrary query point using the boundary minimum distance information; and providing a POI corresponding to the retrieved nearest neighbors with respect to the query point.
5. The method of claim 4, further comprising: maintaining cell information including the boundary points of the Voronoi cells with respect to the entire road network, and also maintaining cell minimum distance information including a minimum distance between the POI and a node within each of the Voronoi cells and between the POI and the boundary points, respectively.
6. The method of claim 5, wherein the maintaining of the boundary minimum distance information with respect to the entire road network includes: designating two different boundary points; generating at least one distance matrix between the two designated boundary points; and setting a minimum distance matrix between the two boundary points having a minimum distance value from among the generated at least one distance matrixes.
7. The method of claim 6, wherein the setting of the minimum distance matrix includes: retrieving an edge including the designated two boundary points; calculating a minimum distance between nodes composing the edge, and a distance between the node and the boundary points; calculating a distance between the two boundary points with respect to each of the distance matrixes using the calculated minimum distance between the nodes and the calculated distance between the node and the boundary points; and setting, as a minimum distance matrix between the two boundary points, a distance matrix having a minimum distance from among the distance matrixes where the distance between the boundary points is calculated.
8. The method of claim 7, wherein the distance between the two boundary points with respect to each of the distance matrixes is calculated by
[Equation 1]
Dx=Dist(n(lsX),b1)+Dist(n(l!X)+n(l!χ))+Dist(nϋ)X),bJ), wherein, x denotes a number of cases of possible distance matrixes between the two boundary points, Dx denotes a distance between the two boundary points with respect to an x-distance matrix, b,(l<i<n), b/l≤j≤n) denotes two boundary points different from each other, n(g)(l<i<n, j=l|2) denotes a node including the two boundary points, Dist(n(1;X),b,) and Dist(n(j;X),bj) respectively denote a distance between a node and boundary point with respect to an x-distance matrix, and Dist(n(ιjX)+n(j X)) denotes a distance between nodes with respect to an x-distance matrix.
9. The method of claim 5, wherein the retrieving of the predetermined number of nearest neighbors includes: retrieving a Voronoi cell including the query point to thereby set a POI within the retrieved Voronoi cell as a first nearest neighbor; and sequentially retrieving a POI having a minimum distance with the query point based on Voronoi cells adjacent to the query point using the cell information, the cell minimum distance information, and the boundary minimum distance information to thereby set the sequentially retrieved POI as the next nearest neighbor.
10. The method of claim 9, wherein the sequentially retrieving of the POI includes: retrieving a Voronoi cell including the query point, and calculating a distance
(A) from a boundary point of the retrieved Voronoi cell to the query point; retrieving a minimum distance (B) between boundary points of the Voronoi cells including the query point and an adjacent Voronoi cell based on the stored boundary minimum distance information; and retrieving a minimum distance (C) between the boundary points and POI of the adjacent Voronoi cell based on cell minimum distance information corresponding to the adjacent Voronoi cell; and calculating a minimum distance from the query point to the POI using the calculated or retrieved distances (A), (B), and (C).
11. The method of claim 10, wherein the calculating of the distance (A) calculates a distance from the boundary points of the Voronoi cells including the query point to each of the nodes to thereby select a minimum distance from among the calculated distances as the distance (A), when each of two nodes of the edge including the query point has a unique Voronoi cell.
12. The method of claim 11, wherein the distance (A) to the query point from the boundary points of the Voronoi cell including the query point is calculated by [Equation 2]
Dist(q,b,)=Min(Dist(q,n1)+Dist(ni,b1), Dist(q,n2)+Dist(n2,b,)), wherein, q denotes a query point, b, denotes a boundary point of a Voronoi cell including a query point, Dist(q,b,) denotes a distance to the query point from a boundary point of a Voronoi cell including a query point, n\, n2 denotes a node including a query point, Dist(q,n1) and Dist(q,n2) respectively denote a distance from a query point to each of nodes, and Dist(ni,b,) and Dist(n2,b,) respectively denote a distance from a boundary point to each of the nodes.
13. The method of claim 10, wherein the minimum distance from the query point to the POI is calculated by
[Equation 3]
MinDistq;P=Min(Dist(q,b1)+Dist(bi,bj)+Dist(bj,p)), wherein, q denotes a query point, p denotes a POI , MinDist q;P denotes a minimum distance from a query point to a POI of an adjacent Voronoi cell, b, denotes a boundary point of a Voronoi cell including a query point, b, denotes a boundary point of an adjacent Voronoi cell, Dist(q,b,) denotes a distance to a query point from a boundary point of a Voronoi cell including a query point, Dist(bi,bj) denotes a distance between a
Voronoi cell including a query point and a boundary point of an adjacent Voronoi cell, and Dist(bj,p) denotes a distance between a boundary point of an adjacent Voronoi cell and a POI.
14. The method of claim 10, wherein the sequentially retrieving of the POI further includes: calculating a minimum distance from the query point with respect to each of POIs to the POI while sequentially expanding the POI with respect to the query point based on the cell information, the cell minimum distance information, and the boundary minimum distance information; and inserting the minimum distance from the calculated query point to the POI into a minimum heap for determining nearest neighbors to thereby determine nearest neighbors with respect to the query point in order of distance.
15. A computer-readable recording medium storing a program for implementing the method of any one of claims 4 to 14.
PCT/KR2008/002920 2007-06-26 2008-05-26 Method and system for finding nearest neighbors based on vboronoi diagram WO2009002020A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070063023A KR100906313B1 (en) 2007-06-26 2007-06-26 Method and system for finding nearest neighbors based on vboronoi diagram
KR10-2007-0063023 2007-06-26

Publications (2)

Publication Number Publication Date
WO2009002020A2 true WO2009002020A2 (en) 2008-12-31
WO2009002020A3 WO2009002020A3 (en) 2009-02-19

Family

ID=40186137

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2008/002920 WO2009002020A2 (en) 2007-06-26 2008-05-26 Method and system for finding nearest neighbors based on vboronoi diagram

Country Status (2)

Country Link
KR (1) KR100906313B1 (en)
WO (1) WO2009002020A2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253961A (en) * 2011-05-17 2011-11-23 复旦大学 Method for querying road network k aggregation nearest neighboring node based on Voronoi graph
EP2613272A1 (en) * 2010-08-31 2013-07-10 Kabushiki Kaisha Toshiba Electronic map data processing system
CN104537858A (en) * 2015-01-15 2015-04-22 无锡北斗星通信息科技有限公司 Filling-station oil-filled vehicle information issuing platform
CN108595608A (en) * 2018-04-20 2018-09-28 南京邮电大学 A kind of neighbouring object indexing querying method towards road network communication scenes
US10267645B2 (en) 2016-02-17 2019-04-23 International Business Machines Corporation Method, apparatus and product for efficient solution of nearest object problems
CN109253717B (en) * 2018-10-09 2020-11-27 安徽大学 Mining area ground surface settlement three-dimensional laser scanning ground surface settlement monitoring and station setting method
CN112085236A (en) * 2020-09-04 2020-12-15 武汉大学 City hotspot POI detection method and device based on network appointment order data

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101040521B1 (en) * 2009-10-13 2011-06-16 한국기술교육대학교 산학협력단 Centroid-based method to extend coverage area of moving object with sensor
WO2011162423A1 (en) * 2010-06-22 2011-12-29 전북대학교산학협력단 Method and system for finding nearest neighbor using voronoi diagram
KR101678939B1 (en) * 2010-08-12 2016-11-23 팅크웨어(주) Apparatus and method for searching around
KR101421671B1 (en) * 2012-07-12 2014-07-22 아주대학교산학협력단 A DISTRIBUTED METHOD FOR CONTINUOUS MONITORING OF CONSTRAINED k-NEAREST NEIGHBOR QUERIES IN ROAD NETWORKS
KR101707742B1 (en) * 2015-07-24 2017-02-17 성균관대학교산학협력단 Optimal location determination method based on maximizing range sum on road network
KR101712847B1 (en) * 2015-11-20 2017-03-07 경북대학교 산학협력단 A method for computing safe exit points of moving k-nearest neighbor queries in directed road networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862373A (en) * 1987-05-13 1989-08-29 Texas Instruments Incorporated Method for providing a collision free path in a three-dimensional space
JP2001093077A (en) * 1999-09-22 2001-04-06 Fujitsu Ltd Method and device for preparing data base, and program storage medium, and speed result information displaying device, and traveling time calculating device, and route retrieving device
US20070116357A1 (en) * 2005-11-23 2007-05-24 Agfa-Gevaert Method for point-of-interest attraction in digital images

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005220587A1 (en) * 2004-02-27 2005-09-22 Intergraph Software Technologies Company Forming a single image from overlapping images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862373A (en) * 1987-05-13 1989-08-29 Texas Instruments Incorporated Method for providing a collision free path in a three-dimensional space
JP2001093077A (en) * 1999-09-22 2001-04-06 Fujitsu Ltd Method and device for preparing data base, and program storage medium, and speed result information displaying device, and traveling time calculating device, and route retrieving device
US20070116357A1 (en) * 2005-11-23 2007-05-24 Agfa-Gevaert Method for point-of-interest attraction in digital images

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2613272A1 (en) * 2010-08-31 2013-07-10 Kabushiki Kaisha Toshiba Electronic map data processing system
EP2613272A4 (en) * 2010-08-31 2015-01-21 Toshiba Kk Electronic map data processing system
CN102253961A (en) * 2011-05-17 2011-11-23 复旦大学 Method for querying road network k aggregation nearest neighboring node based on Voronoi graph
CN104537858A (en) * 2015-01-15 2015-04-22 无锡北斗星通信息科技有限公司 Filling-station oil-filled vehicle information issuing platform
CN104537858B (en) * 2015-01-15 2016-12-28 盛泽明 Refuel vehicle information promulgating platform in gas station
US10267645B2 (en) 2016-02-17 2019-04-23 International Business Machines Corporation Method, apparatus and product for efficient solution of nearest object problems
US10746562B2 (en) 2016-02-17 2020-08-18 International Business Machines Corporation Method, apparatus and product for efficient solution of nearest object problems
CN108595608A (en) * 2018-04-20 2018-09-28 南京邮电大学 A kind of neighbouring object indexing querying method towards road network communication scenes
CN108595608B (en) * 2018-04-20 2022-04-29 南京邮电大学 Road network communication scene oriented neighboring object index query method
CN109253717B (en) * 2018-10-09 2020-11-27 安徽大学 Mining area ground surface settlement three-dimensional laser scanning ground surface settlement monitoring and station setting method
CN112085236A (en) * 2020-09-04 2020-12-15 武汉大学 City hotspot POI detection method and device based on network appointment order data

Also Published As

Publication number Publication date
KR20080113953A (en) 2008-12-31
WO2009002020A3 (en) 2009-02-19
KR100906313B1 (en) 2009-07-06

Similar Documents

Publication Publication Date Title
WO2009002020A2 (en) Method and system for finding nearest neighbors based on vboronoi diagram
US6574553B1 (en) System and method for calculating a navigation route based on adjacent cartographic map databases
US5274387A (en) Navigation apparatus for vehicles
EP1544832B1 (en) Map data product and map data processing apparatus
JP4234039B2 (en) Satellite positioning device and navigation device
US20090234574A1 (en) Routing method and routing device for determining target route according to poi distribution
JP4866951B2 (en) Positioning combination determination system
US9595209B2 (en) Navigation system with map matching mechanism and method of operation thereof
US20120136895A1 (en) Location point determination apparatus, map generation system, navigation apparatus and method of determining a location point
US7783687B2 (en) Map data product and map data processor
WO2005032177A1 (en) Method and system for providing map data search service
US7421336B2 (en) Automobile navigation device with guidance
US10409842B2 (en) Storage medium, map information processing apparatus, and data generation method
KR20070046384A (en) Method for finding nearest neighbors on a path
JP2006084186A (en) Navigation device
CN114397890A (en) Vehicle dynamic path planning method and device, electronic equipment and readable storage medium
JPWO2006054463A1 (en) Point search device and navigation device
JP3910203B2 (en) Route selection method
JP2013088348A (en) Navigation terminal and method for acquiring position of the same
KR101097656B1 (en) Method and system for searching nearest neighbors using vboronoi diagram
WO2004100106A1 (en) Method and apparatus for displaying map for navigation
CN113124889A (en) Path planning method and device and electronic equipment
KR101062664B1 (en) Period display method of linear map data and its device
KR100917768B1 (en) Method expanding for search cell of spatial query and system for executing the method
US9506760B2 (en) Storage device, navigation device, and map database creation method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08765895

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08765895

Country of ref document: EP

Kind code of ref document: A2