KR101097656B1 - Method and system for searching nearest neighbors using vboronoi diagram - Google Patents
Method and system for searching nearest neighbors using vboronoi diagram Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3476—Special 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3679—Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems 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
본 발명은 보로노이 다이어그램을 이용한 최근접점 탐색 방법 및 시스템에 관한 것이다.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
설정부(110)는 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정한다. 실시예로, 설정부(110)는 클로킹 알고리즘(cloaking algorithm)을 이용하여 상기 질의지점을 포함하는 질의영역을 설정할 수 있다.The
탐색부(120)는 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별하고, 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색한다.The
보로노이 다이어그램(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
저장 테이블(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
탐색부(120)는 저장 테이블(150)을 참고하여, 상기 질의영역과 겹쳐지는 제1 이웃 보로노이 셀을 식별할 수 있다. 도 4에서 보면, 질의영역(Cloaking Area)에 포함되는 보로노이 셀은 POI ID가 8, 10, 13, 14, 18, 19임을 알 수 있다.The
이하에서는, 표 1 내지 표 14를 참고하여 설명한다.Hereinafter, with reference to Tables 1-14.
탐색부(120)는 POI ID가 8, 10, 13, 14, 18, 19인 보로노이 셀을 제1 이웃 보로노이 셀로서 식별한다.The
산출부(140)는 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리(Maximum Distance)를 산출한다. 또한, 산출부(140)는 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최소거리(Minimum Distance)를 산출할 수 있다.The
탐색부(120)는 상기 산출된 최대거리를 기준으로 오름차순 정렬하여, 제1 이웃 보로노이 셀 및 제1 이웃 보로노이 셀에 대한 최소거리(MinDist) 및 최대거리(MaxDist)를 'CandHeap'에 저장한다. 탐색부(120)는 상기 제1 이웃 보로노이 셀에 인접한 다른 보로노이 셀들을 제2 이웃 보로노이 셀로서 탐색할 수 있다.The
산출부(140)는 상기 제2 이웃 보로노이 셀과 상기 질의영역 간의 최소거리 및 최대거리를 산출할 수 있다. 탐색부(120)는 상기 산출된 최소거리를 기준으로 오름차순 정렬하여, 제2 이웃 보로노이 셀 및 제2 이웃 보로노이 셀에 대한 최소거 리 및 최대거리를 'AdjHeap'에 저장한다.The
'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.
실시예로, 탐색부(120)는 'CandHeap'에 저장된 제1 이웃 보로노이 셀 중, 최대거리가 k번째인 최대거리를 이용하여 상기 제1 이웃 보로노이 셀에 인접한 제2 이웃 보로노이 셀을 탐색할 수 있다. 여기서, k는 상기 사용자로부터 수신된 POI 개수일 수 있으며, 이하에서는 'k=3'으로 가정하여 설명한다.In an embodiment, the
표 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
(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
또한, 탐색부(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
이렇게, '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.
(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
또한, 탐색부(120)는 'POI ID 12'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 9, 11, 13, 19, 20을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 9, 11, 13, 19, 20이 모두 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.In addition, the
이렇게, '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.
(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
또한, 탐색부(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
이렇게, '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.
(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
또한, 탐색부(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
이렇게, '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.
(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
또한, 탐색부(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
이렇게, '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.
(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
또한, 탐색부(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
이렇게, '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.
(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
또한, 탐색부(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
이렇게, '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.
(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
또한, 탐색부(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
이렇게, '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.
(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
또한, 탐색부(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
이렇게, '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.
(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
또한, 탐색부(120)는 'POI ID 25'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 23, 24, 26을 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀, POI ID가 23, 24, 26은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.In addition, the
이렇게, '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.
(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
또한, 탐색부(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
이렇게, '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.
(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
또한, 탐색부(120)는 'POI ID 5'인 제2 이웃 보로노이 셀과 인접한 보로노이 셀, POI ID가 2, 6, 7, 8를 탐색한다. 탐색부(120)는 상기 탐색된 보로노이 셀 중, POI ID가 2, 6, 7, 8인 보로노이 셀은 이미 'CandHeap' 또는 'AdjHeap'에 포함되어 있기 때문에, 'AdjHeap'에 아무런 보로노이 셀도 추가하지 않는다.In addition, the
이렇게, '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.
(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
또한, 탐색부(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
이렇게, '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.
표 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
탐색부(120)는 상기 제1 이웃 보로노이 셀에 포함된 POI를 상기 POI 후보 집합에 포함시킬 수 있다.The
제공부(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
단계 610에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 사용자로부터 요청된 질의지점을 포함하는 질의영역을 설정한다. 실시예로, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 클로킹 알고리즘을 이용하여 상기 질의지점을 포함하는 질의영역을 설정할 수 있다. 또한, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 사용자로부터 탐색할 POI 개수를 수신할 수 있다.In
단계 620에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 보로노이 다이어그램을 적용한 보로노이 셀 중에서 상기 질의영역에 포함되는 제1 이웃 보로노이 셀을 식별한다. 상기 제1 이웃 보로노이 셀은 상기 질의영역에 겹쳐지는 보로노이 셀로서, 도 4를 참고하면, POI ID가 8, 10, 13, 14, 18, 19인 보로노이 셀이다.In
단계 630에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 식별된 제1 이웃 보로노이 셀을 이용하여 POI 후보 집합을 탐색한다. 이를 위해, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 제1 이웃 보로노이 셀과 상기 질의영역 간의 최대거리를 산출하고, 최대거리 순으로 오름차순 정렬된 제1 이웃 보로노이 셀 중, k번째인 최대거리를 이용하여 상기 제1 이웃 보로노이 셀과 인접한 제2 이웃 보로노이 셀을 탐색한다. 여기서, k는 상기 사용자로부터 수신된 POI 개수일 수 있다.In
실시예로, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 질의영역과 상기 제2 이웃 보로노이 셀 간의 최소거리를 산출하고, 상기 k번째 최대거리보다 작거나 같은 최소거리를 가지는 제2 이웃 보로노이 셀을 상기 제1 이웃 보로노이 셀에 포함시킬 수 있다. 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기와 같은 프로세스를 반복적으로 수행함으로써, 보로노이 셀을 확장하고, 최종적으로 도 5와 같은 제1 이웃 보로노이 셀을 탐색할 수 있다.In an embodiment, the closest
단계 640에서, 보로노이 다이어그램을 이용한 최근접점 탐색 시스템(100)은 상기 탐색된 제1 이웃 보로노이 셀에 포함된 POI 후보 집합을 상기 사용자에게 제공한다.In
또한, 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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)
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)
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 |
-
2009
- 2009-06-16 KR KR1020090053502A patent/KR101097656B1/en not_active IP Right Cessation
Non-Patent Citations (1)
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 |