KR101097656B1 - Method and system for searching nearest neighbors using vboronoi diagram - Google Patents

Method and system for searching nearest neighbors using vboronoi diagram Download PDF

Info

Publication number
KR101097656B1
KR101097656B1 KR1020090053502A KR20090053502A KR101097656B1 KR 101097656 B1 KR101097656 B1 KR 101097656B1 KR 1020090053502 A KR1020090053502 A KR 1020090053502A KR 20090053502 A KR20090053502 A KR 20090053502A KR 101097656 B1 KR101097656 B1 KR 101097656B1
Authority
KR
South Korea
Prior art keywords
voronoi
neighboring
voronoi cell
poi
cell
Prior art date
Application number
KR1020090053502A
Other languages
Korean (ko)
Other versions
KR20100135056A (en
Inventor
장재우
엄정호
Original Assignee
전북대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전북대학교산학협력단 filed Critical 전북대학교산학협력단
Priority to KR1020090053502A priority Critical patent/KR101097656B1/en
Publication of KR20100135056A publication Critical patent/KR20100135056A/en
Application granted granted Critical
Publication of KR101097656B1 publication Critical patent/KR101097656B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3476Special cost functions, i.e. other than distance or default speed limit of road segments using point of interest [POI] information, e.g. a route passing visible POIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • 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

Abstract

사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 설정부, 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하고, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 탐색부, 및 상기 탐색된 POI 후보 집합을 상기 사용자에게 제공하는 제공부를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 시스템을 제공한다.A setting unit for setting a query region including a query point requested by a user; identifying a first neighboring Voronoi cell included in the query region among the Voronoi cells to which the Voronoi diagram is applied, and identifying the identified first neighboring Voronoi Provided is a near-point search system using a Voronoi diagram including a search unit for searching for a POI candidate set using a cell, and a provider for providing the searched POI candidate set to the user.

보로노이 다이어그램, 질의영역, 보로노이 셀, 최근접점, POI Voronoi Diagram, Query Area, Voronoi Cell, Nearest Contact, POI

Description

보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템{METHOD AND SYSTEM FOR SEARCHING NEAREST NEIGHBORS USING VBORONOI DIAGRAM}METHOD AND SYSTEM FOR SEARCHING NEAREST NEIGHBORS USING VBORONOI DIAGRAM}

본 발명은 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for searching for the nearest point using Voronoi diagram.

네비게이션 시스템은 GPS(Global Positioning System) 위성으로부터의 위상전파를 수신하여 위성과의 전파수신거리를 산정함에 의해 이동체의 현재 위치를 산출하고, 산출된 현재 위치에 대한 지도 데이터를 기억매체로부터 검색하여 화면 상에 표시한다. 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.

이때, 네비게이션 시스템은 주행거리와 주행방위를 산출함으로써 주행개시위치로부터 주행되고 있는 위치까지의 주행경로를 화면상에 표시할 수 있다. 이러한, 네비게이션 시스템은 이동체 주변에 가까운 POI(point of interest, 관심지점)를 검색하는 기능이 필수적이며, 이를 신속하고 정확하게 검색하기 위한 방법이 요구된다.At this time, 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. In such a navigation system, 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) 응용 분야에서도, 주유소, 레스토랑, 은행 등 현재위치와 인접한 몇몇의 POI를 추천해주는 서비스가 필수적이다.In addition, in geographic information system (GIS), location-based services (LBS), and telematics (telematics) applications, a service for recommending some POIs adjacent to the current location such as gas stations, restaurants, and banks is essential.

이러한 주변 POI 검색은 최근접 질의 처리 방법에 의해 가능하며 최근접 질의를 처리하기 위해 도로 네트워크를 저장하고 POI를 찾기 위해서 주어진 질의 지점에서 찾고자 하는 POI에 도달할 때까지 네트워크를 확장하는 알고리즘을 사용한다. 그러나, 도로 네트워크를 확장하는 데에는 많은 비용이 필요하기 때문에 비용을 절감하기 위해서 보로노이 다이어그램(voronoi diagram)을 사용하여 최근접 질의를 처리하는 알고리즘이 개발되었다.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. . However, in order to reduce costs, an algorithm for processing nearest-neighbor queries using voronoi diagrams has been developed.

보로노이 다이어그램이란, 공간 상에 많은 정점들이 있을 때 각각의 정점에서의 같은 거리에 떨어진 지점들을 기준으로 공간을 분할하는 방법을 의미하는 것이다. 이러한 네트워크 보로노이 다이어그램을 기반으로 한 최근접점 검색 알고리즘(voronoi-based network nearest neighbor algorithms)(이하, 'VN3'라 칭함)은 도로상의 임의의 지점으로부터 가장 인접한 k개의 객체(POI)를 검색하기 위한 최근접 질의(nearest neighbor query)를 위하여 개발되었다.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는 보로노이 다이어그램 방법을 도로 네트워크에 적용한 것으로 네트워크 보로노이 다각형(network voronoi polygon)을 사용하면 첫 번째 최근접 객체를 빠르게 계산할 수 있다. 그리고, 서로 인접한 네트워크 보로노이 다각형을 사용하여 POI를 확장해가면서 2번째부터 k번째까지 최근접점들을 계산해 나갈 수 있다.In essence, VN3 applies the Voronoi diagram method to road networks, using network voronoi polygons to quickly calculate the first nearest object. In addition, the POIs may be extended using network Voronoi polygons adjacent to each other to calculate the nearest points from the second to the kth.

그러나, 기존의 k-최근접점 탐색 방법은 최근접점 질의 수행시 질의지점에서 POI를 포함한 보로노이 셀의 경계지점까지의 거리 계산과 상기 보로노이 셀의 경계지점에서 POI까지의 거리 계산을 요구하기 때문에, POI까지의 최소거리를 계산하기 위해서는 많은 시간이 소요된다는 문제점이 있다. 때문에, VN3는 k값이 증가하거나 데이터의 밀도가 커지는 경우에 네트워크 보로노이 다각형을 구축하는데 많은 시간이 걸리고, 질의 계산량이 기하급수적으로 증가하여 시스템 성능이 저하되는 문제점까지 발생한다.However, 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. However, there is a problem that it takes a long time to calculate the minimum distance to the POI. Therefore, 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.

따라서, 보로노이 다이어그램을 이용하여 최근접점을 효율적으로 탐색할 수 있는 알고리즘이 필요한 실정이다.Therefore, there is a need for an algorithm capable of efficiently searching for the nearest point using a Voronoi diagram.

본 발명의 일실시예는 보로노이 다이어그램을 이용하여 질의영역을 기반으로 일정 개수의 최근접점을 탐색함으로써, 기존의 질의지점을 이용하여 최근접점을 계산하는 것에 비해 효율적으로 일정 개수의 최근접점을 탐색하는 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템을 제공한다.According to an embodiment of 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.

본 발명의 일실시예는 질의영역과 보로노이 셀 간의 최대거리 또는 최소거리의 특성을 이용함으로써, 확장이 불필요한 POI를 미리 제외할 수 있는 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템을 제공한다.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.

본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템은 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 설정부, 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하고, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 탐색부, 및 상기 탐색된 POI 후보 집합을 상기 사용자에게 제공하는 제공부를 포함한다.The closest point search system using a Voronoi diagram according to an embodiment of the present invention 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 search unit for identifying a first neighboring Voronoi cell, searching for a POI candidate set using the identified first neighboring Voronoi cell, and a providing unit for providing the searched POI candidate set to the user.

본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 방법은 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 단계, 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는 단계, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색하는 단계, 및 상기 탐색된 POI 후보 집합을 상기 사용자에게 제공하는 단계를 포함한다.According to an embodiment of the present invention, 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.

본 발명의 일실시예에 따르면, 종래의 질의지점 아닌 질의영역을 기반으로 일정 개수의 최근접점을 탐색함으로써, 개인 정보를 보호할 수 있다.According to an embodiment of the present invention, 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.

본 발명의 일실시예에 따르면, 질의영역과 보로노이 셀 간의 최대거리 또는 최소거리의 특성을 이용함으로써, 최근접점에 포함되지 않는 POI를 미리 제외할 수 있다.According to an embodiment of the present invention, by using a characteristic of the maximum distance or the minimum distance between the query region and the Voronoi cell, the POI not included in the nearest point may be excluded in advance.

이하, 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 다양한 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings and accompanying drawings, but the present invention is not limited to or limited by the embodiments.

본 발명의 보로노이 다이어그램을 이용한 최근접점 탐색 시스템은 위치 기반 서비스를 제공하는 모든 장치에 적용 가능하다. 예컨대, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템은 텔레메틱스에서 사용자와 인접한 POI를 검색하는 기술에 적용되거나, 네비게이션 단말기, 이동통신단말기 등에 사용자가 원하는 POI를 검색하는 기술에 적용될 수 있다. 아울러, SaaS(Software as a Service) 모델을 기반으로 하는 위치 기반 서비스를 제공하는 경우, 서버에서 보로노이 다이어그램을 이용한 최근접점 탐색 시스템을 적용하여 사용자의 질의를 신속히 처리할 수 있다.The closest point search system using the Voronoi diagram of the present invention is applicable to any device that provides a location-based service. For example, 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. In addition, when providing a location-based service based on a SaaS (Software as a Service) model, the server can process a user's query quickly by applying a nearest point search system using a Voronoi diagram.

도 1은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템의 구성을 도시한 블록도이다.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.

도시한 바와 같이, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 설정부(110), 탐색부(120), 제공부(130), 산출부(140), 및 저장 테이블(150)을 포함할 수 있다.As shown, 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.

설정부(110)는 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정한다. 실시예로, 설정부(110)는 클로킹 알고리즘(cloaking algorithm)을 이용하여 상기 질의지점을 포함하는 질의영역을 설정할 수 있다.The setting unit 110 sets a query area including a query point requested by the user. In an embodiment, the setting unit 110 may set a query region including the query point by using a cloaking algorithm.

탐색부(120)는 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하고, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색한다.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)은 공간 상에 많은 정점들이 있을 때 각각의 정점에서의 같은 거리에 떨어진 지점들을 기준으로 공간을 분할하는 방법을 의미하는 것이다. 이러한 네트워크 보로노이 다이어그램을 기반으로 한 최근접점 검색 알고리즘은 도로상의 임의의 지점으로부터 가장 인접한 k개의 POI를 검색하기 위한 최근접점 질의(nearest neighbor query)를 위하여 개발되었다.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.

도 2는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 보로노이 셀을 생성하는 일례를 도시한 도면이다.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.

도시한 바와 같이, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 유클리디언 상의 POI를 보로노이 다이어그램을 적용하여 26개의 보로노 이 셀을 생성한다. 여기서, 각 보로노이 셀은 각 한 개의 POI(Point Of Interest)를 포함한다. 보로노이 셀의 경계는 POI 간의 거리가 같은 지점을 지나는 선분이 된다. 또한, 본 발명에서 사용하는 보로노이 다이어그램은 경계선의 좌표정보를 저장할 수 있다.As shown, 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. Here, each Voronoi cell includes one Point Of Interest (POI). The boundary of the Voronoi cell is a line segment passing the same distance between POIs. In addition, the Voronoi diagram used in the present invention can store the coordinate information of the boundary line.

저장 테이블(150)은 보로노이 다이어그램을 적용한 보로노이 셀에 포함된 POI 정보를 저장한다. The storage table 150 stores POI information included in the Voronoi cell to which the Voronoi diagram is applied.

도 3은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에 포함된 저장 테이블의 일례를 도시한 도면이다.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.

도시한 바와 같이, 저장 테이블(150)은 상기 생성한 보로노이 셀에 포함된 POI 정보로서, POI ID, POI 좌표, 보더 수(Border number), 보더 좌표 리스트(Border 좌표 list), 이웃 POI 수(Adjacent POI number), 및 이웃 POI ID 리스트(POI ID list)를 포함한다. As shown, 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.

구체적으로, POI ID는 각 보로노이 셀에 포함된 POI를 식별하는 식별자이다. POI 좌표는 POI가 위치하는 좌표정보이다. 보더 수는 POI가 포함된 보로노이 셀과 경계선이 이웃한 보로노이 셀의 개수이다. 보더 좌표 리스트는 POI가 포함된 보로노이 셀의 경계선에 대한 좌표정보이다. 이웃 POI 수는 POI가 포함된 보로노이 셀과 경계선이 이웃한 POI 개수로서, 보더 수와 동일하다. 이웃 POI ID 리스트는 이웃 POI들에 대한 ID이다.Specifically, 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.

도 4는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 질의영역을 설정하는 일례를 도시한 도면이다.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.

도시한 바와 같이, 설정부(110)는 26개로 구분된 보로노이 셀 내에서 질의영역을 좌표정보 ((45,35), (65, 55))로서 설정할 수 있다. 실시예로, 설정부(110)는 상기 사용자로부터 탐색할 POI 개수를 수신할 수 있으며, 여기서 POI 개수를 'k'로 해석할 수 있다. As illustrated, the setting unit 110 may set the query region as coordinate information ((45,35), (65, 55)) in the 26 Voronoi cells. In an embodiment, 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'.

탐색부(120)는 저장 테이블(150)을 참고하여, 상기 질의영역과 겹쳐지는 제1 이웃 보로노이 셀을 식별할 수 있다. 도 4에서 보면, 질의영역(Cloaking Area)에 포함되는 보로노이 셀은 POI ID가 8, 10, 13, 14, 18, 19임을 알 수 있다.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.

이하에서는, 표 1 내지 표 14를 참고하여 설명한다.Hereinafter, with reference to Tables 1-14.

탐색부(120)는 POI ID가 8, 10, 13, 14, 18, 19인 보로노이 셀을 제1 이웃 보로노이 셀로서 식별한다.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.

산출부(140)는 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리(Maximum Distance)를 산출한다. 또한, 산출부(140)는 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최소거리(Minimum Distance)를 산출할 수 있다.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.

탐색부(120)는 상기 산출된 최대거리를 기준으로 오름차순 정렬하여, 제1 이웃 보로노이 셀 및 제1 이웃 보로노이 셀에 대한 최소거리(MinDist) 및 최대거리(MaxDist)를 'CandHeap'에 저장한다. 탐색부(120)는 상기 제1 이웃 보로노이 셀에 인접한 다른 보로노이 셀들을 제2 이웃 보로노이 셀로서 탐색할 수 있다.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.

산출부(140)는 상기 제2 이웃 보로노이 셀과 상기 질의영역 간의 최소거리 및 최대거리를 산출할 수 있다. 탐색부(120)는 상기 산출된 최소거리를 기준으로 오름차순 정렬하여, 제2 이웃 보로노이 셀 및 제2 이웃 보로노이 셀에 대한 최소거 리 및 최대거리를 'AdjHeap'에 저장한다.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 for the second neighboring Voronoi cell and the second neighboring Voronoi cell in 'AdjHeap'.

'CandHeap'에 저장된 제1 이웃 보로노이 셀과 'AdjHeap'에 저장된 제2 이웃 보로노이 셀은 '표 1'에 나타낸 바와 같다.The first neighboring Voronoi cell stored in 'CandHeap' and the second neighboring Voronoi cell stored in 'AdjHeap' are as shown in Table 1.

Figure 112009036401209-pat00001
Figure 112009036401209-pat00001

실시예로, 탐색부(120)는 'CandHeap'에 저장된 제1 이웃 보로노이 셀 중, 최대거리가 k번째인 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색할 수 있다. 여기서, k는 상기 사용자로부터 수신된 POI 개수일 수 있으며, 이하에서는 'k=3'으로 가정하여 설명한다.In an embodiment, 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. Here, k may be the number of POIs received from the user, and hereinafter, it is assumed that 'k = 3'.

표 1에서 도시한 바와 같이, 'CandHeap'에 저장된 제1 이웃 보로노이 셀 중, 최대거리가 첫번째에서 3(k=3)번째인 최대거리는 'dmax'로 '31.62'이다. 이에 따라, 탐색부(120)는 'AdjHeap'에 저장된 제2 이웃 보로노이 셀 중, '31.62' 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀을 상기 제1 이웃 보로노이 셀에 포함시킬 수 있다.As shown in Table 1, among the first neighboring Voronoi cells stored in 'CandHeap', the maximum distance whose maximum distance is the 3rd (k = 3) th from the first is' dmax 'and '31 .62'. Accordingly, 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.

(1) (One) POIPOI IDID '9' 확장 '9' extension

표 1을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 9'인 제2 이웃 보로노이 셀의 최소거리 '7.07'을 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(7.07)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 9'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 1, 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.

또한, 탐색부(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'에 저장할 수 있다.In addition, 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. In this case, 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 in '.

이렇게, 'CandHeap'에 저장된 제1 이웃 보로노이 셀과 'AdjHeap'에 저장된 제2 이웃 보로노이 셀은 '표 2'에 나타낸 바와 같다.Thus, the first neighboring Voronoi cell stored in 'CandHeap' and the second neighboring Voronoi cell stored in 'AdjHeap' are as shown in Table 2.

Figure 112009036401209-pat00002
Figure 112009036401209-pat00002

(2) (2) POIPOI IDID '12' 확장 '12' extension

표 2를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 12'인 제2 이웃 보로노이 셀의 최소거리 '15'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(15)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 12'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to 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.

또한, 탐색부(120)는 'POI ID 12'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 9, 11, 13, 19, 20을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 9, 11, 13, 19, 20이 모두 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.In addition, 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'.

이렇게, 'POI ID 12'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 3'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 12' is shown in Table 3.

Figure 112009036401209-pat00003
Figure 112009036401209-pat00003

(3) (3) POIPOI IDID '24' 확장 '24' extension

표 3을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 24'인 제2 이웃 보로노이 셀의 최소거리 '15'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(15)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 24'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 3, 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.

또한, 탐색부(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'에 저장할 수 있다.In addition, 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. In this case, 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 '.

이렇게, 'POI ID 24'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 4'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of the 'POI ID 24' is shown in Table 4.

Figure 112009036401209-pat00004
Figure 112009036401209-pat00004

(4) (4) POIPOI IDID '7' 확장 '7' extension

표 4를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 7'인 제2 이웃 보로노이 셀의 최소거리 '15.8'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(15.8)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 7'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 4, 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.

또한, 탐색부(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'에 저장할 수 있다.In addition, 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. In this case, 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 '.

이렇게, 'POI ID 7'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 5'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 7' is shown in Table 5.

Figure 112009036401209-pat00005
Figure 112009036401209-pat00005

(5) (5) POIPOI IDID '17' 확장 '17' extension

표 5를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 17'인 제2 이웃 보로노이 셀의 최소거리 '21.21'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(21.21)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 17'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 5, 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.

또한, 탐색부(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'에 저장할 수 있다.In addition, 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'. As a result, the Voronoi cell having 'POI ID 16' can be included in 'AdjHeap' as the second neighboring Voronoi cell. In this case, 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 '.

이렇게, 'POI ID 17'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 6'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 17' is shown in Table 6.

Figure 112009036401209-pat00006
Figure 112009036401209-pat00006

(6) (6) POIPOI IDID '15' 확장 '15' extension

표 6을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 15'인 제2 이웃 보로노이 셀의 최소거리 '25'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(25)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 15'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 6, 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.

또한, 탐색부(120)는 'POI ID 15'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 7, 14, 16, 17, 18을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀, POI ID가 7, 14, 16, 17, 18은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.In addition, 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 no 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.

이렇게, 'POI ID 15'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 7'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 15' is shown in Table 7.

Figure 112009036401209-pat00007
Figure 112009036401209-pat00007

(7) (7) POIPOI IDID '26' 확장 '26' extension

표 7을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 26'인 제2 이웃 보로노이 셀의 최소거리 '25'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(25)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 26'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 7, 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.

또한, 탐색부(120)는 'POI ID 26'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 16, 17, 18, 24, 25를 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀, POI ID가 16, 17, 18, 24, 25은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.In addition, 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 cells and POI IDs 16, 17, 18, 24, and 25 are already included in 'CandHeap' or 'AdjHeap'. I never do that.

이렇게, 'POI ID 26'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 8'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 26' is shown in Table 8.

Figure 112009036401209-pat00008
Figure 112009036401209-pat00008

(8) (8) POIPOI IDID '20' 확장 '20' extension

표 8을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 20'인 제2 이웃 보로노이 셀의 최소거리 '25.49'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(25.49)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 20'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 8, 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.

또한, 탐색부(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'에 저장할 수 있다.In addition, 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 'POI ID 21' among the searched Voronoi cells. Since it is included in, the Voronoi cell 'POI ID 21' may be included in 'AdjHeap' as the second neighboring Voronoi cell. In this case, 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 in '.

이렇게, 'POI ID 20'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 9'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 20' is shown in Table 9.

Figure 112009036401209-pat00009
Figure 112009036401209-pat00009

(9) (9) POIPOI IDID '23' 확장 '23' extension

표 9를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 23'인 제2 이웃 보로노이 셀의 최소거리 '28.28'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(28.28)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 23'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 9, 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.

또한, 탐색부(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'에 저장할 수 있다.In addition, 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. In this case, 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 '.

이렇게, 'POI ID 23'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 10'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 23' is shown in Table 10.

Figure 112009036401209-pat00010
Figure 112009036401209-pat00010

(10) 10 POIPOI IDID '25' 확장 '25' extension

표 10을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 25'인 제2 이웃 보로노이 셀의 최소거리 '30'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(30)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 25'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 10, 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.

또한, 탐색부(120)는 'POI ID 25'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 23, 24, 26을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀, POI ID가 23, 24, 26은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.In addition, 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'.

이렇게, 'POI ID 25'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 11'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 25' is shown in Table 11.

Figure 112009036401209-pat00011
Figure 112009036401209-pat00011

(11) (11) POIPOI IDID '11' 확장 '11' extension

표 11을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 11'인 제2 이웃 보로노이 셀의 최소거리 '30'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(30)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 11'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 11, 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.

또한, 탐색부(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'에 저장할 수 있다.In addition, 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. In this case, 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 '.

이렇게, 'POI ID 11'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 12'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 11' is shown in Table 12.

Figure 112009036401209-pat00012
Figure 112009036401209-pat00012

(12) (12) POIPOI IDID '5' 확장 '5' extension

표 12를 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 5'인 제2 이웃 보로노이 셀의 최소거리 '30.41'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(30.41)가 최대거리(31.62)보다 작기 때문에, 탐색부(120)는 'POI ID 5'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 12, 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 includes the second neighboring Voronoi cell of 'POI ID 5' as the first neighboring Voronoi cell in the 'CandHeap'. Can be.

또한, 탐색부(120)는 'POI ID 5'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 2, 6, 7, 8를 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, POI ID가 2, 6, 7, 8인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.In addition, 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.

이렇게, 'POI ID 5'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 13'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 5' is shown in Table 13.

Figure 112009036401209-pat00013
Figure 112009036401209-pat00013

(13) (13) POIPOI IDID '4' 확장 '4' extension

표 13을 참고하면, 탐색부(120)는 'AdjHeap'에 첫번째로 저장된 'POI ID 4'인 제2 이웃 보로노이 셀의 최소거리 '31.62'를 최대거리(dmax)와 비교할 수 있다. 비교결과, 최소거리(31.62)가 최대거리(31.62)와 같기 때문에, 탐색부(120)는 'POI ID 4'인 제2 이웃 보로노이 셀을 제1 이웃 보로노이 셀로서 'CandHeap'에 포함시킬 수 있다. Referring to Table 13, the searcher 120 may compare the minimum distance '31 .62 'of the second neighboring Voronoi cell of' POI ID 4 'first 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.

또한, 탐색부(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'에 저장할 수 있다.In addition, 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'. Alternatively, since it is included in 'AdjHeap', the Voronoi cell having 'POI ID 1' may be included in 'AdjHeap' as the second neighboring Voronoi cell. In this case, 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'.

이렇게, 'POI ID 4'인 보로노이 셀까지 확장한 경우의 'CandHeap', 'AdjHeap' 구조는 '표 14'에 나타낸 바와 같다.Thus, the 'CandHeap', 'AdjHeap' structure in the case of extending to the Voronoi cell of 'POI ID 4' is shown in Table 14.

Figure 112009036401209-pat00014
Figure 112009036401209-pat00014

표 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이다.Referring to Table 14, 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.

탐색부(120)는 상기 제1 이웃 보로노이 셀에 포함된 POI를 상기 POI 후보 집합에 포함시킬 수 있다.The searcher 120 may include the POI included in the first neighboring Voronoi cell in the POI candidate set.

제공부(130)는 상기 탐색된 POI 후보 집합을 상기 사용자에게 제공한다.The provider 130 provides the searched POI candidate set to the user.

도 5는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 POI 후보 집합을 제공하는 일례를 도시한 도면이다.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.

도시한 바와 같이, 제공부(130)는 POI ID가 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 23, 24, 25, 26인 POI 후보 집합을 사용자에게 제공할 수 있다.As shown, 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.

도 6은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 방법의 순서를 도시한 흐름도이다.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.

상기 보로노이 다이어그램을 이용한 최근접점 탐색 방법은 본 발명의 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)에 의해 구현될 수 있다. 따라서, 도 6의 설명에서는 상술한 도 1을 함께 참조하여 설명함으로써, 발명의 이해를 도모한다.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.

단계 610에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정한다. 실시예로, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 클로킹 알고리즘을 이용하여 상기 질의지점을 포함하는 질의영역을 설정할 수 있다. 또한, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 사용자로부터 탐색할 POI 개수를 수신할 수 있다.In operation 610, the nearest point search system 100 using the Voronoi diagram sets a query area including a query point requested by a user. In an embodiment, the closest point search system 100 using the Voronoi diagram may set a query region including the query point using a clocking algorithm. In addition, the closest point search system 100 using the Voronoi diagram may receive the number of POIs to search from the user.

단계 620에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별한다. 상기 제1 이웃 보로노이 셀은 상기 질의영역에 겹쳐지는 보로노이 셀로서, 도 4를 참고하면, POI ID가 8, 10, 13, 14, 18, 19인 보로노이 셀이다.In operation 620, 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. Referring to FIG. 4, the first neighboring Voronoi cell is a Voronoi cell having a POI ID of 8, 10, 13, 14, 18, and 19.

단계 630에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색한다. 이를 위해, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리를 산출하고, 최대거리 순으로 오름차순 정렬된 제1 이웃 보로노이 셀 중, k번째인 최대거리를 이용하여 상기 제1 이웃 보로노이 셀과 인접한 제2 이웃 보로노이 셀을 탐색한다. 여기서, k는 상기 사용자로부터 수신된 POI 개수일 수 있다.In operation 630, the closest point search system 100 using the Voronoi diagram searches for the POI candidate set using the identified first neighboring Voronoi cell. To this end, 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. Here, k may be the number of POIs received from the user.

실시예로, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 질의영역과 상기 제2 이웃 보로노이 셀 간의 최소거리를 산출하고, 상기 k번째 최대거리보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀을 상기 제1 이웃 보로노이 셀에 포함시킬 수 있다. 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기와 같은 프로세스를 반복적으로 수행함으로써, 보로노이 셀을 확장하고, 최종적으로 도 5와 같은 제1 이웃 보로노이 셀을 탐색할 수 있다.In an embodiment, 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.

단계 640에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 탐색된 제1 이웃 보로노이 셀에 포함된 POI 후보 집합을 상기 사용자에게 제공한다.In operation 640, 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.

또한, 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Further, embodiments of the present invention include a computer readable medium having program instructions for performing various computer implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. 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. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. 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.

지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While specific embodiments of the present invention have been described so far, various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims and the claims.

도 1은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템의 구성을 도시한 블록도이다.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.

도 2는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 보로노이 셀을 생성하는 일례를 도시한 도면이다.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.

도 3은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에 포함된 저장 테이블의 일례를 도시한 도면이다.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.

도 4는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 질의영역을 설정하는 일례를 도시한 도면이다.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.

도 5는 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 시스템에서 POI 후보 집합을 제공하는 일례를 도시한 도면이다.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.

도 6은 본 발명의 일실시예에 따른 보로노이 다이어그램을 이용한 최근접점 탐색 방법의 순서를 도시한 흐름도이다.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.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100: 보로노이 다이어그램을 이용한 최근접점 탐색 시스템100: Nearest point search system using Voronoi diagram

110: 설정부110: setting unit

120: 탐색부120: search unit

130: 제공부130: provider

140: 산출부140: output unit

150: 저장 테이블150: storage table

Claims (15)

사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 설정부;A setting unit for setting a query region including a query point requested from a user; 보로노이 다이어그램을 적용한 보로노이 셀 중에서, 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는 탐색부;A search unit for identifying a first neighboring Voronoi cell included in the query region among the Voronoi cells to which a Voronoi diagram is applied; 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리를 산출하는 산출부; 및A calculator configured to calculate a maximum distance between the first neighboring Voronoi cell and the query region; And 상기 탐색부에서 상기 산출된 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀이 탐색되면, POI 후보 집합으로서 상기 탐색된 제2 이웃 보로노이 셀을 상기 사용자에게 제공하는 제공부When the second neighboring Voronoi cell adjacent to the first neighboring Voronoi cell is found using the calculated maximum distance by the search unit, the searched second neighbor Voronoi cell is provided to the user as a POI candidate set. Provider 를 포함하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.Including a near-point search system using a Voronoi diagram. 제1항에 있어서,The method of claim 1, 상기 설정부는,The setting unit, 클로킹 알고리즘을 이용하여 상기 질의지점을 포함하는 질의영역을 설정하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.A nearest point search system using a Voronoi diagram that sets a query region including the query point using a clocking algorithm. 제1항에 있어서,The method of claim 1, 보로노이 다이어그램을 적용한 보로노이 셀에 포함된 POI 정보를 저장하는 저장 테이블Storage table for storing POI information contained in Voronoi cells to which Voronoi diagrams are applied 을 더 포함하고,Further comprising: 상기 탐색부는,The search unit, 상기 저장 테이블을 참조하여 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.And a first neighboring Voronoi cell included in the query region by referring to the storage table. 삭제delete 제1항에 있어서,The method of claim 1, 상기 탐색부는,The search unit, 상기 산출된 최대거리를 기준으로 오름차순 정렬하고, 정렬된 제1 이웃 보로노이 셀 중 첫번째에서 k(k는 1보다 큰 자연수)번째 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.A second neighbor adjacent to the first neighboring Voronoi cell by using the maximum distance of k (k is a natural number greater than 1) in the first of the sorted first neighboring Voronoi cells, sorted in ascending order based on the calculated maximum distance Nearest point search system using Voronoi diagram to search Voronoi cell. 제1항에 있어서,The method of claim 1, 상기 설정부는,The setting unit, 상기 사용자로부터 탐색할 POI 개수를 수신하고, 상기 수신된 POI 개수를 'k'로 설정하고,Receiving the number of POIs to be searched from the user, setting the number of received POIs to 'k', 상기 탐색부는,The search unit, 상기 산출된 최대거리 중에서 상기 k번째 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.And searching for a second neighboring Voronoi cell adjacent to the first neighboring Voronoi cell by using the kth maximum distance among the calculated maximum distances. 제1항에 있어서,The method of claim 1, 상기 산출부는,The calculation unit, 상기 질의영역과 상기 탐색한 제2 이웃 보로노이 셀 간의 최소거리를 산출하고,Calculating a minimum distance between the query region and the searched second neighboring Voronoi cell, 상기 탐색부는,The search unit, 상기 산출된 최대거리 중에서 k 번째 최대거리 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀을 상기 제1 이웃 보로노이 셀에 포함시키는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.And a second neighboring Voronoi cell having a minimum distance less than or equal to a kth maximum distance among the calculated maximum distances, included in the first neighboring Voronoi cell. 제1항에 있어서,The method of claim 1, 상기 탐색부는,The search unit, 상기 식별된 제1 이웃 보로노이 셀에 포함된 POI를 상기 POI 후보 집합에 포함시키는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.And a POI included in the identified first neighboring Voronoi cell, included in the POI candidate set. 제1항에 있어서,The method of claim 1, 상기 산출부는,The calculation unit, 상기 질의영역과 상기 탐색한 제2 이웃 보로노이 셀 간의 최소거리를 산출하고,Calculating a minimum distance between the query region and the searched second neighboring Voronoi cell, 상기 탐색부는,The search unit, 상기 보로노이 다이어그램을 적용한 보로노이 셀 중에서, 상기 산출된 최대거리 중에서 k 번째 최대거리 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀에 인접한 보로노이 셀을 상기 제2 이웃 보로노이 셀에 포함시키는, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템.Among the Voronoi cells to which the Voronoi diagram is applied, the second neighboring Voronoi cell includes a Voronoi cell adjacent to a second neighboring Voronoi cell having a minimum distance less than or equal to a k th maximum distance among the calculated maximum distances. Nearest point search system using Voronoi diagram. 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정하는 단계;Setting up a query region including a query point requested from a user; 보로노이 다이어그램을 적용한 보로노이 셀 중에서, 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는 단계;Identifying a first neighboring Voronoi cell included in the query region among the Voronoi cells to which a Voronoi diagram is applied; 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리를 산출하는 단계;Calculating a maximum distance between the first neighboring Voronoi cell and the query region; 상기 산출된 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는 단계; 및Searching for a second neighboring Voronoi cell adjacent to the first neighboring Voronoi cell by using the calculated maximum distance; And POI 후보 집합으로서 상기 탐색된 제2 이웃 보로노이 셀을 상기 사용자에게 제공하는 단계Providing the searched second neighboring Voronoi cell as a set of POI candidates to the user 를 포함하는, 보로노이 다이어그램을 이용한 최근접점 탐색 방법.Including, the nearest point search method using a Voronoi diagram. 제10항에 있어서,The method of claim 10, 보로노이 다이어그램을 적용한 보로노이 셀에 포함된 POI 정보를 저장 테이블에 저장하는 단계Saving the POI information included in the Voronoi cell to which the Voronoi diagram is applied to the storage table 를 더 포함하고,More, 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는 단계는,Identifying a first neighboring Voronoi cell included in the query region, 상기 저장 테이블을 참조하여 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하는 단계Identifying a first neighboring Voronoi cell included in the query region by referring to the storage table; 를 포함하는 보로노이 다이어그램을 이용한 최근접점 탐색 방법.Nearest point search method using a Voronoi diagram comprising a. 삭제delete 제10항에 있어서,The method of claim 10, 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는 단계는,Searching for a second neighboring Voronoi cell adjacent to the first neighboring Voronoi cell, 상기 산출된 최대거리를 기준으로 오름차순 정렬하는 단계; 및Sorting in ascending order based on the calculated maximum distance; And 상기 정렬된 제1 이웃 보로노이 셀 중 첫번째에서 k(k는 1보다 큰 자연수)번째 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색하는 단계Searching for a second neighboring Voronoi cell adjacent to the first neighboring Voronoi cell using a k (k is a natural number greater than 1) th largest distance from the first of the sorted first neighboring Voronoi cells 를 포함하는, 보로노이 다이어그램을 이용한 최근접점 탐색 방법.Including, the nearest point search method using a Voronoi diagram. 제10항에 있어서,The method of claim 10, 상기 질의영역과 상기 탐색한 제2 이웃 보로노이 셀 간의 최소거리를 산출하는 단계;Calculating a minimum distance between the query region and the searched second neighboring Voronoi cell; 상기 산출된 최대거리 중에서 k 번째 최대거리 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀을 상기 제1 이웃 보로노이 셀에 포함시키는 단계; 및Including a second neighboring Voronoi cell having a minimum distance less than or equal to a kth maximum distance among the calculated maximum distances in the first neighboring Voronoi cell; And 상기 제1 이웃 보로노이 셀에 포함된 POI를 상기 POI 후보 집합에 포함시키는 단계Including the POI included in the first neighboring Voronoi cell in the POI candidate set 를 더 포함하는, 보로노이 다이어그램을 이용한 최근접점 탐색 방법.Further comprising, the nearest point search method using a Voronoi diagram. 제10항에 있어서,The method of claim 10, 상기 질의영역과 상기 탐색한 제2 이웃 보로노이 셀 간의 최소거리를 산출하는 단계; 및Calculating a minimum distance between the query region and the searched second neighboring Voronoi cell; And 상기 보로노이 다이어그램을 적용한 보로노이 셀 중에서, 상기 산출된 최대거리 중에서 k 번째 최대거리 보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀에 인접한 보로노이 셀을 상기 제2 이웃 보로노이 셀에 포함시키는 단계Among the Voronoi cells to which the Voronoi diagram is applied, the second neighboring Voronoi cell includes a Voronoi cell adjacent to a second neighboring Voronoi cell having a minimum distance less than or equal to a k th maximum distance among the calculated maximum distances. Letting step 를 더 포함하는, 보로노이 다이어그램을 이용한 최근접점 탐색 방법.Further comprising, the nearest point search method using a Voronoi diagram.
KR1020090053502A 2009-06-16 2009-06-16 Method and system for searching nearest neighbors using vboronoi diagram KR101097656B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090053502A KR101097656B1 (en) 2009-06-16 2009-06-16 Method and system for searching nearest neighbors using vboronoi diagram

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090053502A KR101097656B1 (en) 2009-06-16 2009-06-16 Method and system for searching nearest neighbors using vboronoi diagram

Publications (2)

Publication Number Publication Date
KR20100135056A KR20100135056A (en) 2010-12-24
KR101097656B1 true KR101097656B1 (en) 2011-12-22

Family

ID=43509675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090053502A KR101097656B1 (en) 2009-06-16 2009-06-16 Method and system for searching nearest neighbors using vboronoi diagram

Country Status (1)

Country Link
KR (1) KR101097656B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101420237B1 (en) * 2008-02-25 2014-07-17 삼성전자주식회사 3D Image Processing Method and Apparatus for Enabling Efficient Retrieval of Neighbor Point
CN104679765B (en) * 2013-11-28 2019-07-23 高德软件有限公司 Regional scope determines method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문. 2009. 03.*

Also Published As

Publication number Publication date
KR20100135056A (en) 2010-12-24

Similar Documents

Publication Publication Date Title
KR100906313B1 (en) Method and system for finding nearest neighbors based on vboronoi diagram
US20090083275A1 (en) Method, Apparatus and Computer Program Product for Performing a Visual Search Using Grid-Based Feature Organization
US9778048B2 (en) Method and apparatus for determining reachable area based on road network
CN103808326A (en) Navigation method and navigation system
KR101691033B1 (en) Appratus and method for tagging contents in portable terminal
KR20160010278A (en) Method and apparatus for displaying point of interest
KR20100077006A (en) Method, apparatus and computer program product for multiple buffering for search application
US20150074583A1 (en) Method and device for correcting map view
CN106855878B (en) Historical driving track display method and device based on electronic map
JP6160399B2 (en) Destination information providing program, destination information providing apparatus, and destination information providing method
KR101025360B1 (en) Method and apparatus for finding shortest path for k-nearest neighbor searching in road network databases
Huang et al. Frequent pattern-based map-matching on low sampling rate trajectories
KR101097656B1 (en) Method and system for searching nearest neighbors using vboronoi diagram
US11280623B2 (en) Predictive intersection search
JP2004325083A (en) Apparatus, method, and program for determining route
CN105119743A (en) Acquisition method of user behavior intention and apparatus
JP5132694B2 (en) DATA GENERATION DEVICE, DATA GENERATION METHOD, AND ROUTE SEARCH DEVICE
KR100556688B1 (en) Method and Apparatus for Providing Map Information to Mobile Device
CN111339224A (en) Interest point searching method, device, equipment and storage medium
KR101718146B1 (en) System and method for providing a user visits a place
KR100917768B1 (en) Method expanding for search cell of spatial query and system for executing the method
CN116777095B (en) Route planning method, device, equipment and medium
JP2014092429A (en) Facility search device, facility search method and navigation system
CN113295178A (en) Navigation method, computing device and storage medium
JP2012098925A (en) Destination prediction method, system and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151124

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee