WO2011162423A1 - 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템 - Google Patents

보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템 Download PDF

Info

Publication number
WO2011162423A1
WO2011162423A1 PCT/KR2010/004033 KR2010004033W WO2011162423A1 WO 2011162423 A1 WO2011162423 A1 WO 2011162423A1 KR 2010004033 W KR2010004033 W KR 2010004033W WO 2011162423 A1 WO2011162423 A1 WO 2011162423A1
Authority
WO
WIPO (PCT)
Prior art keywords
voronoi
neighboring
voronoi cell
poi
cell
Prior art date
Application number
PCT/KR2010/004033
Other languages
English (en)
French (fr)
Inventor
장재우
엄정호
Original Assignee
전북대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전북대학교산학협력단 filed Critical 전북대학교산학협력단
Priority to PCT/KR2010/004033 priority Critical patent/WO2011162423A1/ko
Publication of WO2011162423A1 publication Critical patent/WO2011162423A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Definitions

  • the present invention relates to a method and system for searching for the nearest point using Voronoi diagram.
  • the navigation system receives the phase propagation from the GPS (Global Positioning System) satellite and calculates the radio wave reception distance from the satellite to calculate the current position of the moving object, and retrieves the map data of the calculated current position from the storage medium. Mark on.
  • GPS Global Positioning System
  • the navigation system can display the driving route from the driving start position to the driving position by calculating the driving distance and driving direction on the screen.
  • a function of searching for a point of interest (POI) near a moving object is essential, and a method for quickly and accurately searching for the same is required.
  • GIS geographic information system
  • LBS location-based services
  • telematics telematics
  • This neighbor POI search is possible by the nearest query processing method, and it uses an algorithm that stores the road network to process the nearest query and expands the network until it reaches the POI to find at a given query point to find the POI. .
  • an algorithm for processing nearest-neighbor queries using voronoi diagrams has been developed.
  • the Voronoi diagram refers to a method of dividing a space based on points spaced at the same distance from each vertex when there are many vertices in the space.
  • These voronoi-based network nearest neighbor algorithms (hereinafter referred to as 'VN3') based on these network Voronoi diagrams are used to search for k nearest neighbors (POIs) from any point on the road. It was developed for the nearest neighbor query.
  • VN3 applies the Voronoi diagram method to road networks, using network voronoi polygons to quickly calculate the first nearest object.
  • the POIs may be extended using network Voronoi polygons adjacent to each other to calculate the nearest points from the second to the kth.
  • the conventional k-nearest point search method requires the calculation of the distance from the query point to the boundary point of the Voronoi cell including the POI and the distance from the boundary point of the Voronoi cell to the POI when performing the nearest contact query.
  • VN3 takes a lot of time to construct a network Voronoi polygon when the k value increases or the data density increases, and the computational complexity increases exponentially, resulting in a problem of degrading system performance.
  • the present invention by searching for a predetermined number of recent contacts based on a query region using a Voronoi diagram, a predetermined number of recent contacts are searched more efficiently than calculating a recent contact using an existing query point.
  • the present invention provides a method and system for searching for the nearest point using a Voronoi diagram.
  • One embodiment of the present invention provides a method and system for searching for a closest point of contact using a Voronoi diagram that can exclude a POI that does not need expansion in advance by using a characteristic of a maximum distance or a minimum distance between a query region and a Voronoi cell.
  • the closest point search system using a Voronoi diagram includes a setting unit for setting a query region including a query point requested by a user, and a query region included in the query region among the Voronoi cells to which the Voronoi diagram is applied.
  • a method of searching for a closest point of contact using a Voronoi diagram may include: setting a query area including a query point requested by a user, and including a query area among the Voronoi cells to which the Voronoi diagram is applied; Identifying a first neighboring Voronoi cell, searching for a POI candidate set using the identified first neighboring Voronoi cell, and providing the searched POI candidate set to the user.
  • the personal information may be protected by searching for a predetermined number of recent contacts based on the query area instead of the conventional query point.
  • the POI not included in the nearest point may be excluded in advance.
  • FIG. 1 is a block diagram showing the configuration of a close-up point search system using a Voronoi diagram according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of generating a Voronoi cell in a nearest point search system using a Voronoi diagram according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of a storage table included in a nearest point search system using a Voronoi diagram according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an example of setting a query area in a nearest point search system using a Voronoi diagram according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an example of providing a POI candidate set in a nearest point search system using a Voronoi diagram according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a procedure of a method for searching for a nearest point of contact using a Voronoi diagram according to an embodiment of the present invention.
  • the closest point search system using the Voronoi diagram of the present invention is applicable to any device that provides a location-based service.
  • the closest point search system using a Voronoi diagram may be applied to a technique for searching for POIs adjacent to a user in telematics, or may be applied to a technique for searching for a POI desired by a user such as a navigation terminal or a mobile communication terminal.
  • the server can process a user's query quickly by applying a nearest point search system using a Voronoi diagram.
  • FIG. 1 is a block diagram showing the configuration of a close-up point search system using a Voronoi diagram according to an embodiment of the present invention.
  • the closest point search system 100 using the Voronoi diagram includes a setting unit 110, a search unit 120, a provider 130, a calculator 140, and a storage table 150. can do.
  • the setting unit 110 sets a query area including a query point requested by the user.
  • the setting unit 110 may set a query region including the query point by using a cloaking algorithm.
  • the searcher 120 identifies a first neighboring Voronoi cell included in the query region among the Voronoi cells to which the Voronoi diagram is applied, and searches for a POI candidate set using the identified first neighboring Voronoi cell.
  • Voronoi diagram refers to a method of dividing a space based on points that are spaced at the same distance from each vertex when there are many vertices in the space.
  • the nearest point search algorithm based on this network Voronoi diagram was developed for the nearest neighbor query to search the k nearest POIs from any point on the road.
  • FIG. 2 is a diagram illustrating an example of generating a Voronoi cell in a nearest point search system using a Voronoi diagram according to an embodiment of the present invention.
  • the closest point search system 100 using the Voronoi diagram generates 26 Voronoi cells by applying the POI on the Euclidean to the Voronoi diagram.
  • each Voronoi cell includes one Point Of Interest (POI).
  • POI Point Of Interest
  • the boundary of the Voronoi cell is a line segment passing the same distance between POIs.
  • the Voronoi diagram used in the present invention can store the coordinate information of the boundary line.
  • the storage table 150 stores POI information included in the Voronoi cell to which the Voronoi diagram is applied.
  • FIG. 3 is a diagram illustrating an example of a storage table included in a nearest point search system using a Voronoi diagram according to an embodiment of the present invention.
  • the storage table 150 is POI information included in the generated Voronoi cell, and includes POI ID, POI coordinates, border number, border coordinate list, and neighbor POI number ( Adjacent POI number), and a neighbor POI ID list.
  • the POI ID is an identifier for identifying the POI included in each Voronoi cell.
  • POI coordinate is coordinate information where POI is located.
  • the number of borders is the number of Voronoi cells containing POI and bordered Voronoi cells.
  • the border coordinate list is coordinate information of the boundary line of the Voronoi cell including the POI.
  • the number of neighbor POIs is the number of POIs in which border lines are adjacent to the Voronoi cell including the POIs, which is equal to the number of borders.
  • the neighbor POI ID list is IDs for neighbor POIs.
  • FIG. 4 is a diagram illustrating an example of setting a query area in a nearest point search system using a Voronoi diagram according to an embodiment of the present invention.
  • the setting unit 110 may set the query region as coordinate information ((45,35), (65, 55)) in the 26 Voronoi cells.
  • the setting unit 110 may receive the number of POIs to be searched from the user, where the number of POIs may be interpreted as 'k'.
  • the searcher 120 may identify the first neighboring Voronoi cell overlapping the query region by referring to the storage table 150. 4, it can be seen that the POI IDs of the Voronoi cells included in the cloaking area are 8, 10, 13, 14, 18, and 19.
  • the search unit 120 identifies a Voronoi cell having a POI ID of 8, 10, 13, 14, 18, or 19 as the first neighboring Voronoi cell.
  • the calculator 140 calculates a maximum distance between the first neighboring Voronoi cell and the query region. In addition, the calculator 140 may calculate a minimum distance between the first neighboring Voronoi cell and the query region.
  • the searcher 120 sorts in ascending order based on the calculated maximum distance, and stores the minimum distance MinDist and the maximum distance MaxDist for the first neighboring Voronoi cell and the first neighboring Voronoi cell in 'CandHeap'. do.
  • the searcher 120 may search for other Voronoi cells adjacent to the first neighboring Voronoi cell as the second neighboring Voronoi cell.
  • the calculator 140 may calculate a minimum distance and a maximum distance between the second neighboring Voronoi cell and the query region.
  • the searcher 120 sorts the ascending order based on the calculated minimum distance, and stores the minimum distance and the maximum distance with respect to the second neighboring Voronoi cell and the second neighboring Voronoi cell in 'AdjHeap'.
  • the first neighboring Voronoi cell stored in 'CandHeap' and the second neighboring Voronoi cell stored in 'AdjHeap' are as shown in Table 1.
  • the searcher 120 may select a second neighboring Voronoi cell adjacent to the first neighboring Voronoi cell by using a maximum distance of the k-th largest distance among the first neighboring Voronoi cells stored in 'CandHeap'. You can navigate.
  • the search unit 120 may include, in the first neighboring Voronoi cell, a second neighboring Voronoi cell having a minimum distance less than or equal to '31 .62 'among the second neighboring Voronoi cells stored in' AdjHeap '. Can be.
  • the searcher 120 may compare the minimum distance '7.07' of the second neighboring Voronoi cell having the first POI ID 9 stored in 'AdjHeap' with the maximum distance dmax. As a result of the comparison, since the minimum distance (7.07) is smaller than the maximum distance (31.62), the search unit 120 includes the second neighboring Voronoi cell having 'POI ID 9' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for a Voronoi cell adjacent to a second neighboring Voronoi cell of 'POI ID 9' included in the first neighboring Voronoi cell, and a POI ID of 4, 10, 11, 12, 13 do.
  • the searcher 120 excludes the Voronoi cells having the POI ID 11 of the discovered Voronoi cells, and the Voronoi cells having the POI IDs of 4, 10, 12, and 13 are already 'CandHeap' or 'AdjHeap'. Since it is included in, the Voronoi cell 'POI ID 11' may be included in 'AdjHeap' as the second neighboring Voronoi cell.
  • the calculator 140 calculates the minimum distance and the maximum distance between the second neighboring Voronoi cell having the POI ID 11 and the query region, and the searcher 120 calculates the calculated minimum distance and the maximum distance as 'AdjHeap'. Can be stored on '.
  • the first neighboring Voronoi cell stored in 'CandHeap' and the second neighboring Voronoi cell stored in 'AdjHeap' are as shown in Table 2.
  • the searcher 120 may compare the minimum distance '15' of the second neighboring Voronoi cell, which is the first POI ID 12 stored in the AdjHeap, with the maximum distance dmax. As a result of the comparison, since the minimum distance 15 is smaller than the maximum distance 31.62, the search unit 120 may include the second neighboring Voronoi cell having 'POI ID 12' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for the Voronoi cell adjacent to the second neighboring Voronoi cell of 'POI ID 12' and the POI ID of 9, 11, 13, 19, and 20.
  • the search unit 120 does not add any Voronoi cells to 'AdjHeap' because the searched Voronoi cells 9, 11, 13, 19, and 20 are all included in 'CandHeap' or 'AdjHeap'.
  • the searcher 120 may compare the minimum distance '15' of the second neighboring Voronoi cell having the first POI ID 24 stored in 'AdjHeap' with the maximum distance dmax. As a result of the comparison, since the minimum distance 15 is smaller than the maximum distance 31.62, the search unit 120 may include the second neighboring Voronoi cell having the 'POI ID 24' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for the Voronoi cell adjacent to the second neighboring Voronoi cell having the 'POI ID 24' and the POI ID of 18, 19, 23, 25, and 26.
  • the searcher 120 excludes the Voronoi cells having the POI ID 25 among the searched Voronoi cells, and the Voronoi cells having the POI IDs of 18, 19, 23, and 26 are already 'CandHeap' or 'AdjHeap'. Since it is included in, the Voronoi cell having 'POI ID 25' may be included in 'AdjHeap' as the second neighboring Voronoi cell.
  • the calculator 140 calculates the minimum distance and the maximum distance between the second neighboring Voronoi cell having the POI ID 25 and the query region, and the searcher 120 calculates the calculated minimum distance and the maximum distance as 'AdjHeap'. Can be stored on '.
  • the searcher 120 may compare the minimum distance '15 .8 'of the second neighboring Voronoi cell of' POI ID 7 'first stored in' AdjHeap 'with the maximum distance dmax. As a result of the comparison, since the minimum distance 15.8 is smaller than the maximum distance 31.62, the search unit 120 may include the second neighboring Voronoi cell having 'POI ID 7' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for the Voronoi cell adjacent to the second neighboring Voronoi cell having 'POI ID 7' and the POI ID of 5, 6, 8, 14, and 15.
  • the searcher 120 excludes the Voronoi cells having the POI ID 6 of the searched Voronoi cells, and the Voronoi cells having the POI IDs of 5, 8, 14, and 15 are already 'CandHeap' or 'AdjHeap'. Since it is included in, the Voronoi cell 'POI ID 6' may be included in 'AdjHeap' as the second neighboring Voronoi cell.
  • the calculator 140 calculates a minimum distance and a maximum distance between the second neighboring Voronoi cell having the POI ID 6 and the query region, and the searcher 120 calculates the calculated minimum distance and the maximum distance as 'AdjHeap'. Can be stored on '.
  • the searcher 120 may compare the minimum distance '21 .21 'of the second neighboring Voronoi cell having the first POI ID 17 stored in' AdjHeap 'with the maximum distance dmax. As a result of the comparison, since the minimum distance 21.21 is smaller than the maximum distance 31.62, the search unit 120 includes the second neighboring Voronoi cell having the POI ID 17 as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for a Voronoi cell adjacent to the second neighboring Voronoi cell of 'POI ID 17' and the POI ID of 15, 16, 18, and 26.
  • the searcher 120 excludes the Voronoi cells having 'POI ID 16' among the searched Voronoi cells, and the Voronoi cells having POI IDs of 15, 18, and 26 are already included in 'CandHeap' or 'AdjHeap'.
  • the Voronoi cell having 'POI ID 16' can be included in 'AdjHeap' as the second neighboring Voronoi cell.
  • the calculator 140 calculates the minimum distance and the maximum distance between the second neighboring Voronoi cell having the POI ID 16 and the query area, and the searcher 120 calculates the calculated minimum distance and the maximum distance as 'AdjHeap'. Can be stored on '.
  • the search unit 120 may compare the minimum distance '25' of the second neighboring Voronoi cell having the first POI ID 15 stored in 'AdjHeap' with the maximum distance dmax. As a result of the comparison, since the minimum distance 25 is smaller than the maximum distance 31.62, the search unit 120 may include the second neighboring Voronoi cell having 'POI ID 15' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for a Voronoi cell adjacent to the second neighboring Voronoi cell of 'POI ID 15' and the POI ID of 7, 14, 16, 17, 18.
  • the searcher 120 adds any Voronoi cell to 'AdjHeap' because the searched Voronoi cells and POI IDs 7, 14, 16, 17 and 18 are already included in 'CandHeap' or 'AdjHeap'. I never do that.
  • the search unit 120 may compare the minimum distance '25' of the second neighboring Voronoi cell having the first POI ID 26 stored in 'AdjHeap' with the maximum distance dmax. As a result of the comparison, since the minimum distance 25 is smaller than the maximum distance 31.62, the search unit 120 may include the second neighboring Voronoi cell having 'POI ID 26' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for the Voronoi cell adjacent to the second neighboring Voronoi cell having the POI ID 26 and the POI ID 16, 17, 18, 24, 25.
  • the searcher 120 adds no Voronoi cell to 'AdjHeap' because the searched Voronoi cell and POI IDs 16, 17, 18, 24, and 25 are already included in 'CandHeap' or 'AdjHeap'. I never do that.
  • the searcher 120 may compare the minimum distance '25 .49 'of the second neighboring Voronoi cell having the first POI ID 20 stored in' AdjHeap 'with the maximum distance dmax. As a result of the comparison, since the minimum distance 25.49 is smaller than the maximum distance 31.62, the search unit 120 includes the second neighboring Voronoi cell having 'POI ID 20' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for a Voronoi cell adjacent to the second neighboring Voronoi cell of 'POI ID 20' and the POI ID of 11, 12, 19, 21, 23.
  • the searcher 120 excludes the Voronoi cells having the POI ID 21 of the discovered Voronoi cells, and the Voronoi cells having the POI IDs 11, 12, 19, and 23 are already 'CandHeap' or 'AdjHeap'. Since it is included in, the Voronoi cell 'POI ID 21' may be included in 'AdjHeap' as the second neighboring Voronoi cell.
  • the calculator 140 calculates the minimum distance and the maximum distance between the second neighboring Voronoi cell having the POI ID 21 and the query area, and the searcher 120 calculates the calculated minimum distance and the maximum distance as 'AdjHeap'. Can be stored on '.
  • the searcher 120 may compare the minimum distance '28 .28 'of the second neighboring Voronoi cell having the first POI ID 23 stored in' AdjHeap 'with the maximum distance dmax. As a result of the comparison, since the minimum distance 28.28 is smaller than the maximum distance 31.62, the search unit 120 includes the second neighboring Voronoi cell having the POI ID 23 as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for the Voronoi cell adjacent to the second neighboring Voronoi cell of 'POI ID 23' and the POI ID of 19, 20, 21, 22, 24, and 25.
  • the searcher 120 excludes the Voronoi cells having the POI ID 22 among the searched Voronoi cells, and the Voronoi cells having the POI IDs of 19, 20, 21, 24, and 25 are already 'CandHeap' or ' Since it is included in 'AdjHeap', the Voronoi cell having 'POI ID 22' can be included in 'AdjHeap' as the second neighboring Voronoi cell.
  • the calculator 140 calculates the minimum distance and the maximum distance between the second neighboring Voronoi cell having the POI ID 22 and the query area, and the searcher 120 calculates the calculated minimum distance and the maximum distance as 'AdjHeap'. Can be stored on '.
  • the searcher 120 may compare the minimum distance '30' of the second neighboring Voronoi cell having the first POI ID 25 stored in 'AdjHeap' with the maximum distance dmax. As a result of the comparison, since the minimum distance 30 is smaller than the maximum distance 31.62, the search unit 120 may include the second neighboring Voronoi cell having the 'POI ID 25' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for the Voronoi cell adjacent to the second neighboring Voronoi cell of 'POI ID 25' and the POI ID of 23, 24, and 26.
  • the searcher 120 does not add any Voronoi cell to 'AdjHeap' because the searched Voronoi cells and POI IDs 23, 24, and 26 are already included in 'CandHeap' or 'AdjHeap'.
  • the searcher 120 may compare the minimum distance '30' of the second neighboring Voronoi cell having the first POI ID 11 stored in 'AdjHeap' with the maximum distance dmax. As a result of the comparison, since the minimum distance 30 is smaller than the maximum distance 31.62, the search unit 120 may include the second neighboring Voronoi cell having 'POI ID 11' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for the Voronoi cell adjacent to the second neighboring Voronoi cell having 'POI ID 11' and the POI ID of 3, 4, 9, 12, 20, and 21.
  • the searcher 120 excludes the Voronoi cells having 'POI ID 3' among the searched Voronoi cells, and the Voronoi cells having POI IDs of 4, 9, 12, 20, and 21 are already 'CandHeap' or ' Since it is included in 'AdjHeap', the Voronoi cell having 'POI ID 3' can be included in 'AdjHeap' as the second neighboring Voronoi cell.
  • the calculator 140 calculates the minimum distance and the maximum distance between the second neighboring Voronoi cell having the POI ID 3 and the query area, and the searcher 120 calculates the calculated minimum distance and the maximum distance as 'AdjHeap'. Can be stored on '.
  • the searcher 120 may compare the minimum distance '30 .41 'of the second neighboring Voronoi cell having the first POI ID 5 stored in' AdjHeap 'with the maximum distance dmax. As a result of the comparison, since the minimum distance 30.41 is smaller than the maximum distance 31.62, the search unit 120 may include the second neighboring Voronoi cell having 'POI ID 5' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for the Voronoi cell adjacent to the second neighboring Voronoi cell of 'POI ID 5' and the POI ID of 2, 6, 7, 8.
  • the search unit 120 has no Voronoi in 'AdjHeap' because the Voronoi cells having POI IDs of 2, 6, 7, and 8 are already included in 'CandHeap' or 'AdjHeap' among the searched Voronoi cells. Do not add cells.
  • the searcher 120 may compare the minimum distance '31 .62 'of the second neighboring Voronoi cell having the first POI ID 4 stored in' AdjHeap 'with the maximum distance dmax. As a result of the comparison, since the minimum distance 31.62 is equal to the maximum distance 31.62, the search unit 120 includes the second neighboring Voronoi cell having 'POI ID 4' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.
  • the searcher 120 searches for a Voronoi cell adjacent to the second neighboring Voronoi cell of 'POI ID 4' and the POI ID of 1, 2, 3, 8, 9, 10, and 11.
  • the searcher 120 excludes the Voronoi cells having 'POI ID 1' among the searched Voronoi cells, and the Voronoi cells having POI IDs of 2, 3, 8, 9, 10, and 11 are already 'CandHeap'.
  • the Voronoi cell having 'POI ID 1' may be included in 'AdjHeap' as the second neighboring Voronoi cell.
  • the calculator 140 may calculate the minimum distance and the maximum distance between the second neighboring Voronoi cell having the POI ID 1 and the query region and store the calculated minimum distance and the maximum distance in the 'AdjHeap'.
  • the searcher 120 may compare the minimum distance '36 .4 'of the second neighboring Voronoi cell having the first POI ID 21 stored in' AdjHeap 'with the maximum distance dmax. As a result of the comparison, since the minimum distance 36.4 is greater than the maximum distance 31.62, the search unit 120 may prun the second neighboring Voronoi cell included in 'AdjHeap' after 'POI ID 21'. Accordingly, as shown in Table 14, the first neighboring Voronoi cell discovered as the final result has a POI ID of 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 23, 24, 25, 26.
  • the searcher 120 may include the POI included in the first neighboring Voronoi cell in the POI candidate set.
  • the provider 130 provides the searched POI candidate set to the user.
  • FIG. 5 is a diagram illustrating an example of providing a POI candidate set in a nearest point search system using a Voronoi diagram according to an embodiment of the present invention.
  • the provider 130 has a POI ID of 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 23, 24, 25, A set of 26 POI candidates can be provided to the user.
  • FIG. 6 is a flowchart illustrating a procedure of a method for searching for a nearest point of contact using a Voronoi diagram according to an embodiment of the present invention.
  • the nearest point search method using the Voronoi diagram may be implemented by the nearest point search system 100 using the Voronoi diagram of the present invention. Therefore, in the description of FIG. 6, the present invention will be understood by referring to the above-described FIG. 1 together.
  • the nearest point search system 100 using the Voronoi diagram sets a query area including a query point requested by a user.
  • the closest point search system 100 using the Voronoi diagram may set a query region including the query point using a clocking algorithm.
  • the closest point search system 100 using the Voronoi diagram may receive the number of POIs to search from the user.
  • the closest point search system 100 using the Voronoi diagram identifies a first neighboring Voronoi cell included in the query region among the Voronoi cells to which the Voronoi diagram is applied.
  • the first neighboring Voronoi cell is a Voronoi cell overlapping the query region.
  • the first neighboring Voronoi cell is a Voronoi cell having a POI ID of 8, 10, 13, 14, 18, and 19.
  • the closest point search system 100 using the Voronoi diagram searches for the POI candidate set using the identified first neighboring Voronoi cell.
  • the nearest point search system 100 using the Voronoi diagram calculates the maximum distance between the first neighboring Voronoi cell and the query region, and among the first neighboring Voronoi cells arranged in ascending order in the order of the maximum distance.
  • the second neighbor Voronoi cell adjacent to the first neighbor Voronoi cell is searched using the second largest distance.
  • k may be the number of POIs received from the user.
  • the closest point search system 100 using a Voronoi diagram calculates a minimum distance between the query region and the second neighboring Voronoi cell and has a minimum distance less than or equal to the kth maximum distance.
  • a neighboring Voronoi cell may be included in the first neighboring Voronoi cell.
  • the closest point search system 100 using the Voronoi diagram may extend the Voronoi cell by repeatedly performing the above process and finally search for the first neighboring Voronoi cell as shown in FIG. 5.
  • the closest point search system 100 using the Voronoi diagram provides the user with a POI candidate set included in the searched first neighboring Voronoi cell.
  • embodiments of the present invention include computer-readable media containing program instructions for performing various computer-implemented operations.
  • the computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination.
  • Program instructions recorded on the media 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 recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the present invention can be used in a personal information protection system capable of protecting personal information by searching for a predetermined number of nearest points based on a query area rather than a query point.

Abstract

사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 설정부, 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하고, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 탐색부, 및 상기 탐색된 POI 후보 집합을 상기 사용자에게 제공하는 제공부를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 시스템을 제공한다.

Description

보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템
본 발명은 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템에 관한 것이다.
네비게이션 시스템은 GPS(Global Positioning System) 위성으로부터의 위상전파를 수신하여 위성과의 전파수신거리를 산정함에 의해 이동체의 현재 위치를 산출하고, 산출된 현재 위치에 대한 지도 데이터를 기억매체로부터 검색하여 화면 상에 표시한다.
이때, 네비게이션 시스템은 주행거리와 주행방위를 산출함으로써 주행개시위치로부터 주행되고 있는 위치까지의 주행경로를 화면상에 표시할 수 있다. 이러한, 네비게이션 시스템은 이동체 주변에 가까운 POI(point of interest, 관심지점)를 검색하는 기능이 필수적이며, 이를 신속하고 정확하게 검색하기 위한 방법이 요구된다.
또한, GIS(geographic information system), LBS(location-based services), 텔레매틱스(telematics) 응용 분야에서도, 주유소, 레스토랑, 은행 등 현재위치와 인접한 몇몇의 POI를 추천해주는 서비스가 필수적이다.
이러한 주변 POI 검색은 최근접 질의 처리 방법에 의해 가능하며 최근접 질의를 처리하기 위해 도로 네트워크를 저장하고 POI를 찾기 위해서 주어진 질의 지점에서 찾고자 하는 POI에 도달할 때까지 네트워크를 확장하는 알고리즘을 사용한다. 그러나, 도로 네트워크를 확장하는 데에는 많은 비용이 필요하기 때문에 비용을 절감하기 위해서 보로노이 다이어그램(voronoi diagram)을 사용하여 최근접 질의를 처리하는 알고리즘이 개발되었다.
보로노이 다이어그램이란, 공간 상에 많은 정점들이 있을 때 각각의 정점에서의 같은 거리에 떨어진 지점들을 기준으로 공간을 분할하는 방법을 의미하는 것이다. 이러한 네트워크 보로노이 다이어그램을 기반으로 한 최근접점 검색 알고리즘(voronoi-based network nearest neighbor algorithms)(이하, 'VN3'라 칭함)은 도로상의 임의의 지점으로부터 가장 인접한 k개의 객체(POI)를 검색하기 위한 최근접 질의(nearest neighbor query)를 위하여 개발되었다.
기본적으로, VN3는 보로노이 다이어그램 방법을 도로 네트워크에 적용한 것으로 네트워크 보로노이 다각형(network voronoi polygon)을 사용하면 첫 번째 최근접 객체를 빠르게 계산할 수 있다. 그리고, 서로 인접한 네트워크 보로노이 다각형을 사용하여 POI를 확장해가면서 2번째부터 k번째까지 최근접점들을 계산해 나갈 수 있다.
그러나, 기존의 k-최근접점 탐색 방법은 최근접점 질의 수행시 질의지점에서 POI를 포함한 보로노이 셀의 경계지점까지의 거리 계산과 상기 보로노이 셀의 경계지점에서 POI까지의 거리 계산을 요구하기 때문에, POI까지의 최소거리를 계산하기 위해서는 많은 시간이 소요된다는 문제점이 있다. 때문에, VN3는 k값이 증가하거나 데이터의 밀도가 커지는 경우에 네트워크 보로노이 다각형을 구축하는데 많은 시간이 걸리고, 질의 계산량이 기하급수적으로 증가하여 시스템 성능이 저하되는 문제점까지 발생한다.
따라서, 보로노이 다이어그램을 이용하여 최근접점을 효율적으로 탐색할 수 있는 알고리즘이 필요한 실정이다.
본 발명의 일실시예는 보로노이 다이어그램을 이용하여 질의영역을 기반으로 일정 개수의 최근접점을 탐색함으로써, 기존의 질의지점을 이용하여 최근접점을 계산하는 것에 비해 효율적으로 일정 개수의 최근접점을 탐색하는 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템을 제공한다.
본 발명의 일실시예는 질의영역과 보로노이 셀 간의 최대거리 또는 최소거리의 특성을 이용함으로써, 확장이 불필요한 POI를 미리 제외할 수 있는 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템을 제공한다.
본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템은 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 설정부, 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하고, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 탐색부, 및 상기 탐색된 POI 후보 집합을 상기 사용자에게 제공하는 제공부를 포함한다.
본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 방법은 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 단계, 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는 단계, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 단계, 및 상기 탐색된 POI 후보 집합을 상기 사용자에게 제공하는 단계를 포함한다.
본 발명의 일실시예에 따르면, 종래의 질의지점 아닌 질의영역을 기반으로 일정 개수의 최근접점을 탐색함으로써, 개인 정보를 보호할 수 있다.
본 발명의 일실시예에 따르면, 질의영역과 보로노이 셀 간의 최대거리 또는 최소거리의 특성을 이용함으로써, 최근접점에 포함되지 않는 POI를 미리 제외할 수 있다.
도 1은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 보로노이 셀을 생성하는 일례를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에 포함된 저장 테이블의 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 질의영역을 설정하는 일례를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 POI 후보 집합을 제공하는 일례를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 방법의 순서를 도시한 흐름도이다.
이하, 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 다양한 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.
본 발명의 보로노이 다이어그램을 이용한 최근접점 탐색 시스템은 위치 기반 서비스를 제공하는 모든 장치에 적용 가능하다. 예컨대, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템은 텔레메틱스에서 사용자와 인접한 POI를 검색하는 기술에 적용되거나, 네비게이션 단말기, 이동통신단말기 등에 사용자가 원하는 POI를 검색하는 기술에 적용될 수 있다. 아울러, SaaS(Software as a Service) 모델을 기반으로 하는 위치 기반 서비스를 제공하는 경우, 서버에서 보로노이 다이어그램을 이용한 최근접점 탐색 시스템을 적용하여 사용자의 질의를 신속히 처리할 수 있다.
도 1은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템의 구성을 도시한 블록도이다.
도시한 바와 같이, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 설정부(110), 탐색부(120), 제공부(130), 산출부(140), 및 저장 테이블(150)을 포함할 수 있다.
설정부(110)는 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정한다. 실시예로, 설정부(110)는 클로킹 알고리즘(cloaking algorithm)을 이용하여 상기 질의지점을 포함하는 질의영역을 설정할 수 있다.
탐색부(120)는 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하고, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색한다.
보로노이 다이어그램(voronoi diagram)은 공간 상에 많은 정점들이 있을 때 각각의 정점에서의 같은 거리에 떨어진 지점들을 기준으로 공간을 분할하는 방법을 의미하는 것이다. 이러한 네트워크 보로노이 다이어그램을 기반으로 한 최근접점 검색 알고리즘은 도로상의 임의의 지점으로부터 가장 인접한 k개의 POI를 검색하기 위한 최근접점 질의(nearest neighbor query)를 위하여 개발되었다.
도 2는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 보로노이 셀을 생성하는 일례를 도시한 도면이다.
도시한 바와 같이, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 유클리디언 상의 POI를 보로노이 다이어그램을 적용하여 26개의 보로노이 셀을 생성한다. 여기서, 각 보로노이 셀은 각 한 개의 POI(Point Of Interest)를 포함한다. 보로노이 셀의 경계는 POI 간의 거리가 같은 지점을 지나는 선분이 된다. 또한, 본 발명에서 사용하는 보로노이 다이어그램은 경계선의 좌표정보를 저장할 수 있다.
저장 테이블(150)은 보로노이 다이어그램을 적용한 보로노이 셀에 포함된 POI 정보를 저장한다.
도 3은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에 포함된 저장 테이블의 일례를 도시한 도면이다.
도시한 바와 같이, 저장 테이블(150)은 상기 생성한 보로노이 셀에 포함된 POI 정보로서, POI ID, POI 좌표, 보더 수(Border number), 보더 좌표 리스트(Border 좌표 list), 이웃 POI 수(Adjacent POI number), 및 이웃 POI ID 리스트(POI ID list)를 포함한다.
구체적으로, POI ID는 각 보로노이 셀에 포함된 POI를 식별하는 식별자이다. POI 좌표는 POI가 위치하는 좌표정보이다. 보더 수는 POI가 포함된 보로노이 셀과 경계선이 이웃한 보로노이 셀의 개수이다. 보더 좌표 리스트는 POI가 포함된 보로노이 셀의 경계선에 대한 좌표정보이다. 이웃 POI 수는 POI가 포함된 보로노이 셀과 경계선이 이웃한 POI 개수로서, 보더 수와 동일하다. 이웃 POI ID 리스트는 이웃 POI들에 대한 ID이다.
도 4는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 질의영역을 설정하는 일례를 도시한 도면이다.
도시한 바와 같이, 설정부(110)는 26개로 구분된 보로노이 셀 내에서 질의영역을 좌표정보 ((45,35), (65, 55))로서 설정할 수 있다. 실시예로, 설정부(110)는 상기 사용자로부터 탐색할 POI 개수를 수신할 수 있으며, 여기서 POI 개수를 'k'로 해석할 수 있다.
탐색부(120)는 저장 테이블(150)을 참고하여, 상기 질의영역과 겹쳐지는 제1 이웃 보로노이 셀을 식별할 수 있다. 도 4에서 보면, 질의영역(Cloaking Area)에 포함되는 보로노이 셀은 POI ID가 8, 10, 13, 14, 18, 19임을 알 수 있다.
이하에서는, 표 1 내지 표 14를 참고하여 설명한다.
탐색부(120)는 POI ID가 8, 10, 13, 14, 18, 19인 보로노이 셀을 제1 이웃 보로노이 셀로서 식별한다.
산출부(140)는 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리(Maximum Distance)를 산출한다. 또한, 산출부(140)는 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최소거리(Minimum Distance)를 산출할 수 있다.
탐색부(120)는 상기 산출된 최대거리를 기준으로 오름차순 정렬하여, 제1 이웃 보로노이 셀 및 제1 이웃 보로노이 셀에 대한 최소거리(MinDist) 및 최대거리(MaxDist)를 'CandHeap'에 저장한다. 탐색부(120)는 상기 제1 이웃 보로노이 셀에 인접한 다른 보로노이 셀들을 제2 이웃 보로노이 셀로서 탐색할 수 있다.
산출부(140)는 상기 제2 이웃 보로노이 셀과 상기 질의영역 간의 최소거리 및 최대거리를 산출할 수 있다. 탐색부(120)는 상기 산출된 최소거리를 기준으로 오름차순 정렬하여, 제2 이웃 보로노이 셀 및 제2 이웃 보로노이 셀에 대한 최소거리 및 최대거리를 'AdjHeap'에 저장한다.
'CandHeap'에 저장된 제1 이웃 보로노이 셀과 'AdjHeap'에 저장된 제2 이웃 보로노이 셀은 '표 1'에 나타낸 바와 같다.
표 1
Figure PCTKR2010004033-appb-T000001
실시예로, 탐색부(120)는 'CandHeap'에 저장된 제1 이웃 보로노이 셀 중, 최대거리가 k번째인 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색할 수 있다. 여기서, k는 상기 사용자로부터 수신된 POI 개수일 수 있으며, 이하에서는 'k=3'으로 가정하여 설명한다.
표 1에서 도시한 바와 같이, 'CandHeap'에 저장된 제1 이웃 보로노이 셀 중, 최대거리가 첫번째에서 3(k=3)번째인 최대거리는 'dmax'로 '31.62'이다. 이에 따라, 탐색부(120)는 'AdjHeap'에 저장된 제2 이웃 보로노이 셀 중, '31.62' 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀을 상기 제1 이웃 보로노이 셀에 포함시킬 수 있다.
(1) POI ID '9' 확장
표 1을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 9'인 제2 이웃 보로노이 셀의 최소거리 '7.07'을 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(7.07)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 9'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 상기 제1 이웃 보로노이 셀에 포함시킨 'POI ID 9'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 4, 10, 11, 12, 13을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, 'POI ID 11'인 보로노이 셀을 제외하고, POI ID가 4, 10, 12, 13인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'POI ID 11'인 보로노이 셀을 제2 이웃 보로노이 셀로서 'AdjHeap'에 포함시킬 수 있다. 이 경우, 산출부(140)는 'POI ID 11'인 제2 이웃 보로노이 셀과 질의영역 간의 최소거리 및 최대거리를 산출하고, 탐색부(120)는 산출된 최소거리 및 최대거리를 'AdjHeap'에 저장할 수 있다.
이렇게, 'CandHeap'에 저장된 제1 이웃 보로노이 셀과 'AdjHeap'에 저장된 제2 이웃 보로노이 셀은 '표 2'에 나타낸 바와 같다.
표 2
Figure PCTKR2010004033-appb-T000002
(2) POI ID '12' 확장
표 2를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 12'인 제2 이웃 보로노이 셀의 최소거리 '15'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(15)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 12'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 12'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 9, 11, 13, 19, 20을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 9, 11, 13, 19, 20이 모두 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.
이렇게, 'POI ID 12'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 3'에 나타낸 바와 같다.
표 3
Figure PCTKR2010004033-appb-T000003
(3) POI ID '24' 확장
표 3을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 24'인 제2 이웃 보로노이 셀의 최소거리 '15'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(15)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 24'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 24'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 18, 19, 23, 25, 26을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, 'POI ID 25'인 보로노이 셀을 제외하고, POI ID가 18, 19, 23, 26인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'POI ID 25'인 보로노이 셀을 제2 이웃 보로노이 셀로서 'AdjHeap'에 포함시킬 수 있다. 이 경우, 산출부(140)는 'POI ID 25'인 제2 이웃 보로노이 셀과 질의영역 간의 최소거리 및 최대거리를 산출하고, 탐색부(120)는 산출된 최소거리 및 최대거리를 'AdjHeap'에 저장할 수 있다.
이렇게, 'POI ID 24'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 4'에 나타낸 바와 같다.
표 4
Figure PCTKR2010004033-appb-T000004
(4) POI ID '7' 확장
표 4를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 7'인 제2 이웃 보로노이 셀의 최소거리 '15.8'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(15.8)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 7'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 7'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 5, 6, 8, 14, 15을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, 'POI ID 6'인 보로노이 셀을 제외하고, POI ID가 5, 8, 14, 15인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'POI ID 6'인 보로노이 셀을 제2 이웃 보로노이 셀로서 'AdjHeap'에 포함시킬 수 있다. 이 경우, 산출부(140)는 'POI ID 6'인 제2 이웃 보로노이 셀과 질의영역 간의 최소거리 및 최대거리를 산출하고, 탐색부(120)는 산출된 최소거리 및 최대거리를 'AdjHeap'에 저장할 수 있다.
이렇게, 'POI ID 7'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 5'에 나타낸 바와 같다.
표 5
Figure PCTKR2010004033-appb-T000005
(5) POI ID '17' 확장
표 5를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 17'인 제2 이웃 보로노이 셀의 최소거리 '21.21'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(21.21)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 17'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 17'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 15, 16, 18, 26을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, 'POI ID 16'인 보로노이 셀을 제외하고, POI ID가 15, 18, 26인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'POI ID 16'인 보로노이 셀을 제2 이웃 보로노이 셀로서 'AdjHeap'에 포함시킬 수 있다. 이 경우, 산출부(140)는 'POI ID 16'인 제2 이웃 보로노이 셀과 질의영역 간의 최소거리 및 최대거리를 산출하고, 탐색부(120)는 산출된 최소거리 및 최대거리를 'AdjHeap'에 저장할 수 있다.
이렇게, 'POI ID 17'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 6'에 나타낸 바와 같다.
표 6
Figure PCTKR2010004033-appb-T000006
(6) POI ID '15' 확장
표 6을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 15'인 제2 이웃 보로노이 셀의 최소거리 '25'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(25)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 15'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 15'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 7, 14, 16, 17, 18을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀, POI ID가 7, 14, 16, 17, 18은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.
이렇게, 'POI ID 15'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 7'에 나타낸 바와 같다.
표 7
Figure PCTKR2010004033-appb-T000007
(7) POI ID '26' 확장
표 7을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 26'인 제2 이웃 보로노이 셀의 최소거리 '25'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(25)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 26'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 26'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 16, 17, 18, 24, 25를 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀, POI ID가 16, 17, 18, 24, 25은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.
이렇게, 'POI ID 26'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 8'에 나타낸 바와 같다.
표 8
Figure PCTKR2010004033-appb-T000008
(8) POI ID '20' 확장
표 8을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 20'인 제2 이웃 보로노이 셀의 최소거리 '25.49'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(25.49)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 20'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 20'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 11, 12, 19, 21, 23을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, 'POI ID 21'인 보로노이 셀을 제외하고, POI ID가 11, 12, 19, 23인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'POI ID 21'인 보로노이 셀을 제2 이웃 보로노이 셀로서 'AdjHeap'에 포함시킬 수 있다. 이 경우, 산출부(140)는 'POI ID 21'인 제2 이웃 보로노이 셀과 질의영역 간의 최소거리 및 최대거리를 산출하고, 탐색부(120)는 산출된 최소거리 및 최대거리를 'AdjHeap'에 저장할 수 있다.
이렇게, 'POI ID 20'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 9'에 나타낸 바와 같다.
표 9
Figure PCTKR2010004033-appb-T000009
(9) POI ID '23' 확장
표 9를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 23'인 제2 이웃 보로노이 셀의 최소거리 '28.28'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(28.28)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 23'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 23'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 19, 20, 21, 22, 24, 25를 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, 'POI ID 22'인 보로노이 셀을 제외하고, POI ID가 19, 20, 21, 24, 25인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'POI ID 22'인 보로노이 셀을 제2 이웃 보로노이 셀로서 'AdjHeap'에 포함시킬 수 있다. 이 경우, 산출부(140)는 'POI ID 22'인 제2 이웃 보로노이 셀과 질의영역 간의 최소거리 및 최대거리를 산출하고, 탐색부(120)는 산출된 최소거리 및 최대거리를 'AdjHeap'에 저장할 수 있다.
이렇게, 'POI ID 23'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 10'에 나타낸 바와 같다.
표 10
Figure PCTKR2010004033-appb-T000010
(10) POI ID '25' 확장
표 10을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 25'인 제2 이웃 보로노이 셀의 최소거리 '30'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(30)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 25'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 25'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 23, 24, 26을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀, POI ID가 23, 24, 26은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.
이렇게, 'POI ID 25'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 11'에 나타낸 바와 같다.
표 11
Figure PCTKR2010004033-appb-T000011
(11) POI ID '11' 확장
표 11을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 11'인 제2 이웃 보로노이 셀의 최소거리 '30'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(30)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 11'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 11'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 3, 4, 9, 12, 20, 21를 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, 'POI ID 3'인 보로노이 셀을 제외하고, POI ID가 4, 9, 12, 20, 21인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'POI ID 3'인 보로노이 셀을 제2 이웃 보로노이 셀로서 'AdjHeap'에 포함시킬 수 있다. 이 경우, 산출부(140)는 'POI ID 3'인 제2 이웃 보로노이 셀과 질의영역 간의 최소거리 및 최대거리를 산출하고, 탐색부(120)는 산출된 최소거리 및 최대거리를 'AdjHeap'에 저장할 수 있다.
이렇게, 'POI ID 11'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 12'에 나타낸 바와 같다.
표 12
Figure PCTKR2010004033-appb-T000012
(12) POI ID '5' 확장
표 12를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 5'인 제2 이웃 보로노이 셀의 최소거리 '30.41'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(30.41)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 5'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 5'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 2, 6, 7, 8를 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, POI ID가 2, 6, 7, 8인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.
이렇게, 'POI ID 5'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 13'에 나타낸 바와 같다.
표 13
Figure PCTKR2010004033-appb-T000013
(13) POI ID '4' 확장
표 13을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 4'인 제2 이웃 보로노이 셀의 최소거리 '31.62'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(31.62)가 최대거리(31.62)와 같기 때문에, 탐색부(120)는 'POI ID 4'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다.
또한, 탐색부(120)는 'POI ID 4'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 1, 2, 3, 8, 9, 10, 11를 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, 'POI ID 1'인 보로노이 셀을 제외하고, POI ID가 2, 3, 8, 9, 10, 11인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'POI ID 1'인 보로노이 셀을 제2 이웃 보로노이 셀로 'AdjHeap'에 포함시킬 수 있다. 이 경우, 산출부(140)는 'POI ID 1'인 제2 이웃 보로노이 셀과 질의영역 간의 최소거리 및 최대거리를 산출하고, 산출된 최소거리 및 최대거리를 'AdjHeap'에 저장할 수 있다.
이렇게, 'POI ID 4'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 14'에 나타낸 바와 같다.
표 14
Figure PCTKR2010004033-appb-T000014
표 14를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 21'인 제2 이웃 보로노이 셀의 최소거리 '36.4'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(36.4)가 최대거리(31.62) 보다 크기 때문에, 탐색부(120)는 'POI ID 21' 이후의 'AdjHeap'에 포함된 제2 이웃 보로노이 셀을 가지치기할 수 있다. 따라서, '표 14'에 나타낸 바와 같이, 최종결과로서 탐색된 제1 이웃 보로노이 셀은 'CandHeap'에 포함된 POI ID가 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 23, 24, 25, 26이다.
탐색부(120)는 상기 제1 이웃 보로노이 셀에 포함된 POI를 상기 POI 후보 집합에 포함시킬 수 있다.
제공부(130)는 상기 탐색된 POI 후보 집합을 상기 사용자에게 제공한다.
도 5는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 POI 후보 집합을 제공하는 일례를 도시한 도면이다.
도시한 바와 같이, 제공부(130)는 POI ID가 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 23, 24, 25, 26인 POI 후보 집합을 사용자에게 제공할 수 있다.
도 6은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 방법의 순서를 도시한 흐름도이다.
상기 보로노이 다이어그램을 이용한 최근접점 탐색 방법은 본 발명의 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)에 의해 구현될 수 있다. 따라서, 도 6의 설명에서는 상술한 도 1을 함께 참조하여 설명함으로써, 발명의 이해를 도모한다.
단계 610에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정한다. 실시예로, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 클로킹 알고리즘을 이용하여 상기 질의지점을 포함하는 질의영역을 설정할 수 있다. 또한, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 사용자로부터 탐색할 POI 개수를 수신할 수 있다.
단계 620에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별한다. 상기 제1 이웃 보로노이 셀은 상기 질의영역에 겹쳐지는 보로노이 셀로서, 도 4를 참고하면, POI ID가 8, 10, 13, 14, 18, 19인 보로노이 셀이다.
단계 630에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색한다. 이를 위해, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리를 산출하고, 최대거리 순으로 오름차순 정렬된 제1 이웃 보로노이 셀 중, k번째인 최대거리를 이용하여 상기 제1 이웃 보로노이 셀과 인접한 제2 이웃 보로노이 셀을 탐색한다. 여기서, k는 상기 사용자로부터 수신된 POI 개수일 수 있다.
실시예로, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 질의영역과 상기 제2 이웃 보로노이 셀 간의 최소거리를 산출하고, 상기 k번째 최대거리보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀을 상기 제1 이웃 보로노이 셀에 포함시킬 수 있다. 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기와 같은 프로세스를 반복적으로 수행함으로써, 보로노이 셀을 확장하고, 최종적으로 도 5와 같은 제1 이웃 보로노이 셀을 탐색할 수 있다.
단계 640에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 탐색된 제1 이웃 보로노이 셀에 포함된 POI 후보 집합을 상기 사용자에게 제공한다.
또한, 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명은 질의지점 아닌 질의영역을 기반으로 일정 개수의 최근접점을 탐색함으로써, 개인 정보를 보호할 수 있는 개인 정보 보호 시스템에 이용가능하다.

Claims (15)

  1. 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 설정부;
    보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하고, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 탐색부; 및
    상기 탐색된 POI 후보 집합을 상기 사용자에게 제공하는 제공부
    를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.
  2. 제1항에 있어서,
    상기 설정부는,
    클로킹 알고리즘을 이용하여 상기 질의지점을 포함하는 질의영역을 설정하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.
  3. 제1항에 있어서,
    보로노이 다이어그램을 적용한 보로노이 셀에 포함된 POI 정보를 저장하는 저장 테이블
    을 더 포함하고,
    상기 탐색부는,
    상기 저장 테이블을 참조하여 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.
  4. 제1항에 있어서,
    상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리를 산출하는 산출부
    를 더 포함하고,
    상기 탐색부는,
    상기 산출된 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.
  5. 제4항에 있어서,
    상기 탐색부는,
    상기 산출된 최대거리를 기준으로 오름차순 정렬하고, 정렬된 제1 이웃 보로노이 셀 중 첫번째에서 k(k는 1보다 큰 자연수)번째 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.
  6. 제4항에 있어서,
    상기 설정부는,
    상기 사용자로부터 탐색할 POI 개수를 수신하고, 상기 수신된 POI 개수를 'k'로 설정하고,
    상기 탐색부는,
    상기 산출된 최대거리 중에서 상기 k번째 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.
  7. 제4항에 있어서,
    상기 산출부는,
    상기 질의영역과 상기 탐색한 제2 이웃 보로노이 셀 간의 최소거리를 산출하고,
    상기 탐색부는,
    상기 산출된 최대거리 중에서 k 번째 최대거리 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀을 상기 제1 이웃 보로노이 셀에 포함시키는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.
  8. 제1항에 있어서,
    상기 탐색부는,
    상기 식별된 제1 이웃 보로노이 셀에 포함된 POI를 상기 POI 후보 집합에 포함시키는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.
  9. 제1항에 있어서,
    상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리를 산출하고, 상기 질의영역과 상기 탐색한 제2 이웃 보로노이 셀 간의 최소거리를 산출하는 산출부
    를 더 포함하고,
    상기 탐색부는,
    상기 보로노이 다이어그램을 적용한 보로노이 셀 중에서, 상기 산출된 최대거리 중에서 k 번째 최대거리 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀에 인접한 보로노이 셀을 상기 제2 이웃 보노노이 셀에 포함시키는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.
  10. 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 단계;
    보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는 단계;
    상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 단계; 및
    상기 탐색된 POI 후보 집합을 상기 사용자에게 제공하는 단계
    를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 방법.
  11. 제10항에 있어서,
    보로노이 다이어그램을 적용한 보로노이 셀에 포함된 POI 정보를 저장 테이블에 저장하는 단계
    를 더 포함하고,
    상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는 단계는,
    상기 저장 테이블을 참조하여 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는 단계
    를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 방법.
  12. 제10항에 있어서,
    상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리를 산출하는 단계
    를 더 포함하고,
    상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 단계는,
    상기 산출된 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는 단계
    를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 방법.
  13. 제12항에 있어서,
    상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는 단계는,
    상기 산출된 최대거리를 기준으로 오름차순 정렬하는 단계; 및
    상기 정렬된 제1 이웃 보로노이 셀 중 첫번째에서 k(k는 1보다 큰 자연수)번째 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는 단계
    를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 방법.
  14. 제10항에 있어서,
    상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리를 산출하는 단계; 및
    상기 질의영역과 상기 탐색한 제2 이웃 보로노이 셀 간의 최소거리를 산출하는 단계
    를 더 포함하고,
    상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 단계는,
    상기 산출된 최대거리 중에서 k 번째 최대거리 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀을 상기 제1 이웃 보로노이 셀에 포함시키는 단계; 및
    상기 제1 이웃 보로노이 셀에 포함된 POI를 상기 POI 후보 집합에 포함시키는 단계
    를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 방법.
  15. 제14항에 있어서,
    상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 단계는,
    상기 보로노이 다이어그램을 적용한 보로노이 셀 중에서, 상기 산출된 최대거리 중에서 k 번째 최대거리 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀에 인접한 보로노이 셀을 상기 제2 이웃 보노노이 셀에 포함시키는 단계
    를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 방법.
PCT/KR2010/004033 2010-06-22 2010-06-22 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템 WO2011162423A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2010/004033 WO2011162423A1 (ko) 2010-06-22 2010-06-22 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2010/004033 WO2011162423A1 (ko) 2010-06-22 2010-06-22 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템

Publications (1)

Publication Number Publication Date
WO2011162423A1 true WO2011162423A1 (ko) 2011-12-29

Family

ID=45371583

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/004033 WO2011162423A1 (ko) 2010-06-22 2010-06-22 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템

Country Status (1)

Country Link
WO (1) WO2011162423A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268210A (zh) * 2014-09-12 2015-01-07 东北大学 基于局部超集的cpir-v最近邻隐私保护查询方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776824B1 (ko) * 2006-06-20 2007-11-19 고려대학교 산학협력단 무선 방송 환경에서 최근접점 질의 탐색 방법, 그기록매체, 무선 방송 환경에서 최근접점 질의 탐색 장치 및그 시스템
KR20080113953A (ko) * 2007-06-26 2008-12-31 전북대학교산학협력단 보로노이 다이어그램을 기반으로 한 최근접점 탐색 방법 및그 시스템
JP2009104608A (ja) * 2007-10-22 2009-05-14 Toyota Motor Engineering & Manufacturing North America Inc 障害物回避ナビゲーションシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776824B1 (ko) * 2006-06-20 2007-11-19 고려대학교 산학협력단 무선 방송 환경에서 최근접점 질의 탐색 방법, 그기록매체, 무선 방송 환경에서 최근접점 질의 탐색 장치 및그 시스템
KR20080113953A (ko) * 2007-06-26 2008-12-31 전북대학교산학협력단 보로노이 다이어그램을 기반으로 한 최근접점 탐색 방법 및그 시스템
JP2009104608A (ja) * 2007-10-22 2009-05-14 Toyota Motor Engineering & Manufacturing North America Inc 障害物回避ナビゲーションシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
UM,J.H. ET AL.: "k-NN Query Processing Algorithm based on the Matrix of Shortest Distances between Border-point of Voronoi Diagram", JOURNAL OF KOREA SPATIAL INFORMATION SYSTEM, March 2009 (2009-03-01), pages 105 - 114 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268210A (zh) * 2014-09-12 2015-01-07 东北大学 基于局部超集的cpir-v最近邻隐私保护查询方法
CN104268210B (zh) * 2014-09-12 2017-09-26 东北大学 基于局部超集的cpir‑v最近邻隐私保护查询方法

Similar Documents

Publication Publication Date Title
WO2011021899A2 (en) Method and apparatus for generating, managing, and sharing moving path
WO2017183920A1 (ko) 차량용 제어장치
WO2011055978A2 (en) User terminal, method for providing position and method for guiding route thereof
KR100906313B1 (ko) 보로노이 다이어그램을 기반으로 한 최근접점 탐색 방법 및그 시스템
WO2015182857A1 (ko) 셀 정보를 이용한 위치 정보 결정 시스템 및 방법
WO2018230845A1 (ko) 비전 정보에 기반한 위치 설정 방법 및 이를 구현하는 로봇
WO2017104919A1 (en) Event-based image management using clustering
KR20100077006A (ko) 탐색 어플리케이션을 위한 다중 버퍼링 방법, 장치 및 컴퓨터 프로그램 제품
WO2014178582A1 (ko) 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법
WO2016114475A1 (en) Method of providing preset service by bending mobile device according to user input of bending mobile device and mobile device performing the same
WO2011162423A1 (ko) 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템
EP2791929A1 (en) System and method for providing navigation information based on an operating mode
WO2015037815A1 (ko) 스마트 기기 내 시맨틱 검색 시스템 및 검색방법
EP3053362A1 (en) Caching of locations on a device
WO2014007473A1 (ko) 분리형 네비게이션 시스템
WO2019194561A1 (ko) 이동형 단말기에서의 증강 현실을 제공하기 위한 위치 인식 방법 및 시스템
KR101097656B1 (ko) 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템
WO2019074315A1 (ko) 사용자 위치 정보를 제공하는 방법 및 시스템
WO2015178555A1 (ko) 경로 안내 서비스 제공 시스템 및 방법, 그리고 이를 위한 장치 및 컴퓨터 프로그램이 기록된 기록매체
WO2011059182A2 (en) Method and apparatus for displaying data
WO2010151001A2 (ko) 여행자용 내비게이션 방법 및 그 시스템
WO2014030842A1 (ko) 정보 제공 시스템 및 방법, 이를 위한 장치 및 단말기
WO2013100287A1 (ko) 데이터처리방법, 데이터처리장치, 데이터수집방법, 및 정보제공방법
WO2020147406A1 (zh) 目标信息查找方法、装置、设备及计算机可读存储介质
WO2015167198A1 (en) Apparatus and method for collecting media

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: 10853706

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10853706

Country of ref document: EP

Kind code of ref document: A1