KR100891039B1 - Structure and method of indexing for processing of moving object queries in road network databases - Google Patents
Structure and method of indexing for processing of moving object queries in road network databases Download PDFInfo
- Publication number
- KR100891039B1 KR100891039B1 KR1020070040139A KR20070040139A KR100891039B1 KR 100891039 B1 KR100891039 B1 KR 100891039B1 KR 1020070040139 A KR1020070040139 A KR 1020070040139A KR 20070040139 A KR20070040139 A KR 20070040139A KR 100891039 B1 KR100891039 B1 KR 100891039B1
- Authority
- KR
- South Korea
- Prior art keywords
- segment
- moving object
- trajectory
- query
- storage structure
- Prior art date
Links
Images
Abstract
본 발명은 도로 네트워크에서 이동객체의 질의 처리를 위한 인덱싱 구조 및 방법에 대한 것으로서, 좌표기반 질의를 처리하기 위하여 도로 네트워크를 관리하는 도로 네트워크 관리 인덱스, 궤적 기반 질의를 처리하기 위하여 이동 객체의 궤적 정보를 관리하는 궤적 저장 구조, 상기 궤적 저장 구조를 관리하는 궤적 저장 구조 관리 인덱스, 및 비공간 질의를 처리하기 위하여 이동 객체를 관리하는 이동 객체 관리 인덱스를 포함하며, 다양한 인덱스를 활용하기 때문에 질의 처리 성능이 뛰어나며 도로 위를 움직이는 자동차와 같은 실제 환경에 유용하게 쓰일 수 있다. The present invention relates to an indexing structure and method for querying a mobile object in a road network. The present invention relates to a road network management index for managing a road network for processing coordinate-based queries, and trajectory information of a moving object for processing a trajectory-based query. It includes a trajectory storage structure that manages the trajectory storage structure, a trajectory storage structure management index that manages the trajectory storage structure, and a moving object management index that manages the moving objects to process non-spatial queries. This is great and can be useful in real environments like cars moving on the road.
이동객체, 이동객체데이터베이스, 시공간인덱스, 질의처리 Moving object, moving object database, spatiotemporal index, query processing
Description
도1은 본 발명에 따른 도로 네트워크에서 이동객체의 질의 처리를 위한 인덱싱 구조의 개략도이다. 1 is a schematic diagram of an indexing structure for query processing of a mobile object in a road network according to the present invention.
도2는 본 발명의 일실시예에 따른 좌표 기반 질의를 처리하기 위한 흐름도이다.2 is a flowchart for processing a coordinate-based query according to an embodiment of the present invention.
도3은 본 발명의 일실시예에 따른 궤적 기반 질의를 처리하기 위한 흐름도이다. 3 is a flowchart for processing a trajectory based query according to an embodiment of the present invention.
도4는 본 발명의 일실시예에 따른 복합 질의를 처리하기 위한 흐름도이다.4 is a flowchart for processing a complex query according to an embodiment of the present invention.
도5는 본 발명의 일실시예에 따른 비공간 질의를 처리하기 위한 흐름도이다. 5 is a flowchart for processing a non-spatial query according to an embodiment of the present invention.
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
10 : 도로네트워크 관리 인덱스 20 : 궤적 저장구조 관리 인덱스10: road network management index 20: trajectory storage structure management index
30 : 이동객체 관리 인덱스 40 : 궤적 저장구조30: moving object management index 40: trajectory storage structure
본 발명은 도로 네트워크에서 이동객체의 질의 처리를 위한 인덱싱 구조 및 방법에 대한 것으로서, 더욱 상세하게는 이동 객체들의 시간의 흐름에 따른 이동 정보가 저장되어 있는 이동객체 데이터베이스에서 다양한 사용자 질의를 처리하기 위하여 효과적인 인덱스 구성 방법을 제안하는 도로 네트워크에서 이동객체의 질의 처리를 위한 인덱싱 구조 및 방법에 대한 것이다.The present invention relates to an indexing structure and method for querying a mobile object in a road network, and more particularly, to process various user queries in a mobile object database in which moving information is stored over time. An indexing structure and method for query processing of mobile objects in a road network that proposes an effective index construction method.
도로 네트워크란 이동 객체가 움직이는 공간에 제약이 존재하는 공간으로 세그먼트와 연결점의 집합으로 표현된다. 세그먼트는 시작점과 끝점이 있는 직선으로 표현되며, 이동 객체의 위치, 이동 객체의 이동 방향, 속도, 속도 변화 등을 나타낼 수 있다. 연결점은 세그먼트들이 연결되는 지점이며, 실제 도로에서의 교차로를 말한다. A road network is a space where constraints exist in the space in which a moving object moves. It is expressed as a set of segments and connection points. The segment is represented by a straight line with a start point and an end point, and may indicate the position of the moving object, the moving direction of the moving object, the speed, and the speed change. A connection point is a point at which segments are connected, and refers to an intersection on an actual road.
도로 네트워크에서 사용자의 검색을 지원하기 위한 종래의 인덱스 기술로는 FNR-트리와 MON-트리가 있다.Conventional indexing techniques for supporting user search in road networks include FNR-tree and MON-tree.
FNR-트리는 도로 네트워크의 세그먼트를 이차원 R-트리로 구성하고, 각 리프 노드에는 일차원 R-트리에 대한 포인터를 저장한다. 이 일차원 R-트리는 도로 선분에 존재하였던 이동 객체와 그 이동 객체가 들어온 시간과 나간 시간을 저장한다. 도로 네트워크의 변화는 거의 없기 때문에 이차원 R-트리는 한번 생성이 되면 거의 갱신되지 않는다. 반면, 일차원 R-트리는 이동 객체의 움직임에 따라 빈번한 갱신이 이루어지게 된다. FNR-트리는 네트워크상의 좌표기반 질의의 성능을 개선시켜주는데 초점을 두고 있다. The FNR-tree organizes segments of the road network into two-dimensional R-trees, and each leaf node stores a pointer to the one-dimensional R-tree. This one-dimensional R-tree stores the moving objects that existed in the road segment, the time they came in and the time they went out. Because there is little change in road network, two-dimensional R-trees are rarely updated once created. On the other hand, the one-dimensional R-tree is frequently updated according to the movement of the moving object. FNR-Tree focuses on improving the performance of coordinate-based queries on the network.
MON-트리는 FNR-트리와 거의 유사한 구조로 두개의 R-트리로 구성되어있다. 첫 번째 R-트리를 상위 인덱스라 하고 두 번째 R-트리를 하위 인덱스라 한다. 상위 인덱스는 도로 네트워크를 인덱싱하는데, FNR-트리와 다른 점은 다중 세그먼트(polyline)로 R-트리를 구성한다는 점이다. 다중 선분이란 연속된 도로 세그먼트의 집합을 하나의 긴 선분으로 보는 것이다. 상위 인덱스의 리프 노드의 각 엔트리에서는 하위 인덱스에 대한 포인터를 저장한다. 하위 인덱스는 이동 객체가 위치한 다중 선분에서의 머물렀던 시간 간격과 이에 따른 상대적 위치를 저장하는 이차원 R-트리이다. The MON-tree consists of two R-trees in a structure similar to that of the FNR-tree. The first R-tree is called the parent index and the second R-tree is called the child index. The higher index indexes the road network, which differs from the FNR-tree in that it consists of R-trees in polylines. Multi-segment refers to a series of road segments as one long segment. Each entry of the leaf node of the upper index stores a pointer to the lower index. The lower index is a two-dimensional R-tree that stores the time intervals stayed in the multi-segments where the moving objects are located and their relative positions.
종래의 기술인 FNR-트리와 MON-트리는 좌표 기반 질의만을 대상으로 하기 때문에 그 이외에 궤적 기반 질의, 복합 질의 등 다양한 사용자 질의에 대해서는 질의 처리를 할 수 없다는 큰 문제점이 있다. Since the conventional FNR-tree and MON-tree target only coordinate-based queries, there is a big problem that query processing cannot be performed on various user queries such as trajectory-based queries and complex queries.
본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 이동 객체들의 시간의 흐름에 따른 이동 정보가 저장되어 있는 이동 객체 데이터베이스에서 좌표 기반 질의, 궤적 기반 질의, 복합 질의 등 다양한 사용자 질의를 효과적으로 처리하기 위한 도로 네트워크에서 이동객체의 질의 처리를 위한 인덱싱 구조 및 인덱싱 방법을 제공하기 위한 것이다.The present invention has been proposed to solve the above problems, and effectively handles various user queries such as coordinate-based queries, trajectory-based queries, and complex queries in a moving object database in which moving information is stored over time of moving objects. An object of the present invention is to provide an indexing structure and an indexing method for querying a mobile object in a road network.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 도로 네트워크에서 이동 객체의 질의 처리를 위한 인덱싱 구조는, 좌표기반 질의를 처리하기 위하여 도로 네트워크를 관리하는 도로 네트워크 관리 인덱스, 궤적 기반 질의를 처리하기 위하여 이동 객체의 궤적 정보를 관리하는 궤적 저장 구조, 상기 궤적 저장 구조를 관리하는 궤적 저장 구조 관리 인덱스, 및 비공간 질의를 처리하기 위하여 이동 객체를 관리하는 이동 객체 관리 인덱스를 포함한다.Indexing structure for query processing of a moving object in the road network according to the present invention for achieving the above object, to process the road network management index, trajectory-based query for managing the road network to process the coordinate-based query And a trajectory storage structure for managing trajectory information of the moving object, a trajectory storage structure management index for managing the trajectory storage structure, and a moving object management index for managing the moving object for processing a non-spatial query.
또한, 본 발명에 따른 도로 네트워크에서 이동 객체의 질의 처리를 위한 인덱싱 구조에 있어서, 도로 네트워크 관리 인덱스의 단말 노드는 도로 세그먼트의 ID, 도로 세그먼트를 포함하는 최소포함사각형(MBR)의 좌표, 세그먼트의 방향성, 및 궤적정보를 관리하는 인덱스를 가리키는 포인터를 포함하는 것을 특징으로 하는 것이다. In addition, in the indexing structure for query processing of the moving object in the road network according to the present invention, the terminal node of the road network management index includes the ID of the road segment, the coordinates of the MBR including the road segment, And a pointer to an index for managing the directionality and the trajectory information.
또한, 본 발명에 따른 도로 네트워크에서 이동 객체의 질의 처리를 위한 인덱싱 구조에 있어서, 상기 궤적 저장 구조는 다수의 블록으로 이루어지고, 상기 하나의 블록에는 이동 객체의 ID, 하나의 이동 객체가 여러 개의 블록으로 저장되었을 때 궤적의 이전 블록을 지시하는 이전블록 지시 포인터와 이동 객체의 궤적이 저장되어 있는 다음 블록을 지시하는 다음 블록 지시 포인터, 이동 객체의 궤적을 구성하는 세그먼트 정보를 포함하는 것을 특징으로 하는 것이다. In addition, in the indexing structure for query processing of a moving object in a road network according to the present invention, the trajectory storage structure is composed of a plurality of blocks, and in one block, IDs of a moving object and one moving object are several. And a previous block indication pointer indicating the previous block of the trajectory when stored as a block, a next block indicating pointer indicating the next block in which the trajectory of the moving object is stored, and segment information constituting the trajectory of the moving object. It is.
또한, 본 발명에 따른 도로 네트워크에서 이동 객체의 질의 처리를 위한 인덱싱 구조에 있어서, 상기 세그먼트 정보는 해당 세그먼트의 ID, 이동객체가 해당 세그먼트에 들어온 시간, 이동객체가 해당 세그먼트에서의 속도, 이동객체의 이동 방향 정보를 포함하는 것을 특징으로 하는 것이다.In addition, in the indexing structure for query processing of a moving object in the road network according to the present invention, the segment information includes an ID of the corresponding segment, a time when the moving object enters the corresponding segment, a moving object at the speed of the corresponding segment, and a moving object. It characterized in that it contains the direction of movement of.
또한, 본 발명에 따른 도로 네트워크에서 이동 객체의 질의 처리를 위한 인덱싱 구조에 있어서, 상기 궤적 저장 구조 관리 인덱스는 이동객체가 해당 세그먼트에 들어온 시간, 이동객체가 들어온 시간에 해당 세그먼트에 존재한 이동객체의 궤적 ID, 궤적 정보가 저장되어 있는 블록에서 해당 세그먼트의 위치를 찾기 위한 블록 오프셋을 포함하는 것을 특징으로 하는 것이다.In addition, in the indexing structure for query processing of a moving object in the road network according to the present invention, the trajectory storage structure management index is a moving object existing in the segment at the time when the moving object enters the segment, or when the moving object enters the segment. And a block offset for finding the position of the corresponding segment in the block in which the trajectory ID and the trajectory information are stored.
또한, 본 발명에 따른 도로 네트워크에서 이동 객체의 질의 처리를 위한 인덱싱 구조에 있어서, 이동 객체 관리 인덱스의 단말 노드는, 이동객체의 ID, 상기 이동객체의 궤적을 검색하기 위하여 상기 이동객체의 궤적이 저장되어 있는 저장구조를 가리키는 포인터를 포함하는 것을 특징으로 하는 것이다.In addition, in the indexing structure for query processing of a moving object in a road network according to the present invention, the terminal node of the moving object management index may be configured to search for an ID of a moving object and a trajectory of the moving object. It includes a pointer to the storage structure is stored.
한편, 본 발명에 따른 도로 네트워크에서 이동 객체의 좌표기반 질의 처리를 위한 인덱싱 방법은, (a) 도로 네트워크 관리 인덱스에 접근하는 단계, (b) 질의 지역에 해당하는 도로 세그먼트 ID의 존재 여부를 판단하는 단계, (c) 상기 (b) 단계에서 도로 세그먼트 ID가 존재하는 경우 세그먼트의 포인터를 따라 궤적 저장 구조를 관리하는 인덱스에 접근하는 단계, (d) 상기 세그먼트에 질의 시간에 이동 객체 ID의 존재 여부를 판단하는 단계, 및 (e) 상기 (d) 단계에서 이동 객체 ID가 존재하는 경우 상기 이동 객체의 ID를 사용자에게 반환하고 질의 처리를 종료하는 단계를 포함한다. On the other hand, the indexing method for the coordinate-based query processing of the moving object in the road network according to the present invention, (a) accessing the road network management index, (b) determines whether there is a road segment ID corresponding to the query region (C) accessing an index for managing a trajectory storage structure along a pointer of a segment when a road segment ID exists in step (b); and (d) presence of a moving object ID at query time in the segment. Determining whether the mobile object ID exists in step (d), and returning the ID of the mobile object to the user and ending the query processing.
한편, 본 발명에 따른 도로 네트워크에서 이동 객체의 궤적 기반 질의 처리를 위한 인덱싱 방법은, (a) 도로 네트워크 관리 인덱스에 접근하는 단계, (b) 질의 지역에 해당하는 도로 세그먼트 ID의 존재 여부를 판단하는 단계, (c) 상기 (b) 단계에서 도로 세그먼트 ID가 존재하는 경우 세그먼트의 포인터를 따라 궤적 저장 구조를 관리하는 인덱스에 접근하는 단계, (d) 상기 세그먼트에 질의 시간에 이동 객체 ID의 존재 여부를 판단하는 단계, (g) 이동객체 ID의 블록 오프셋을 통하여 궤적 저장 구조가 저장되어 있는 블록에 접근하는 단계, (h) 궤적 저장 구조의 세그먼트 정보를 통하여 질의 시간 안에 속하는 궤적의 세그먼트 ID를 검색하는 단계, 및 (i) 이동 객체 ID와 궤적의 세그먼트 ID들을 사용자에게 반환하고 질의처리를 종료하는 단계를 포함한다.On the other hand, the indexing method for trajectory-based query processing of the moving object in the road network according to the present invention, (a) accessing the road network management index, (b) determines whether there is a road segment ID corresponding to the query region (C) accessing an index for managing a trajectory storage structure along a pointer of a segment when a road segment ID exists in step (b); and (d) presence of a moving object ID at query time in the segment. Determining whether or not, (g) accessing the block in which the trajectory storage structure is stored through the block offset of the moving object ID, and (h) determining the segment ID of the trajectory within the query time through the segment information of the trajectory storage structure. Searching, and (i) returning the mobile object ID and the segment IDs of the trajectory to the user and terminating the query processing.
한편, 본 발명에 따른 도로 네트워크에서 이동 객체의 복합 질의 처리를 위한 인덱싱 방법은, (a) 도로 네트워크 관리 인덱스에 접근하는 단계, (b) 질의 지역에 해당하는 도로 세그먼트 ID의 존재 여부를 판단하는 단계, (c) 상기 (b) 단계에서 도로 세그먼트 ID가 존재하는 경우 세그먼트의 포인터를 따라 궤적 저장 구조를 관리하는 인덱스에 접근하는 단계, (d) 상기 세그먼트에 질의 시간에 이동 객체 ID의 존재 여부를 판단하는 단계, (g) 이동객체 ID의 블록 오프셋을 통하여 궤적 저장 구조가 저장되어 있는 블록에 접근하는 단계, (k) 궤적 저장 구조의 세그먼트 정보를 통하여 질의 시간 이후 특정 시간 안의 궤적 세그먼트 ID를 검색하는 단계, 및 (l) 이동 객체 ID와 궤적의 세그먼트 ID들을 사용자에게 반환하고 질의 처리를 종료하는 단계를 포함한다. Meanwhile, an indexing method for processing a complex query of a moving object in a road network according to the present invention includes: (a) accessing a road network management index, and (b) determining whether a road segment ID corresponding to a query region exists. (C) accessing an index for managing a trajectory storage structure along a pointer of a segment when a road segment ID exists in step (b); and (d) whether a moving object ID exists at a query time in the segment. Determining (g) accessing the block in which the trajectory storage structure is stored through the block offset of the moving object ID; and (k) determining the trajectory segment ID within a specific time after the query time through the segment information of the trajectory storage structure. Searching, and (l) returning the mobile object ID and the segment IDs of the trajectory to the user and terminating the query processing.
또한, 본 발명에 따른 도로 네트워크에서 이동 객체의 질의 처리를 위한 인덱싱 방법에 있어서, 상기 (b) 단계 또는 (d) 단계에서 세그먼트 ID 또는 이동객체 ID가 존재하지 않는 경우 각각 질의 지역에 해당하는 도로 세그먼트가 없거나 해당 지역을 이동한 이동 객체가 없음을 알리고 질의 처리를 중단하는 단계를 더 포함하는 것을 특징으로 하는 것이다. In addition, in the indexing method for querying a moving object in a road network according to the present invention, when there is no segment ID or a moving object ID in step (b) or (d), a road corresponding to a query region, respectively The method may further include informing that there is no segment or that there is no moving object moving to the region, and stopping the query processing.
한편, 본 발명에 따른 도로 네트워크에서 이동 객체의 비공간 질의 처리를 위한 인덱싱 방법은, (m) 이동 객체 관리 인덱스에 접근하는 단계, (n) 질의에 해당하는 이동 객체 ID의 존재 여부를 판단하는 단계, (o) 상기 (n) 단계에서 상기 이동 객체의 ID가 존재하는 경우 상기 이동 객체의 포인터를 따라 궤적 저장 구조에 접근하는 단계, (p) 세그먼트 정보를 통하여 질의 시간에 해당 이동 객체의 위치를 검색하는 단계, (q) 질의 시간에 해당하는 세그먼트 정보를 사용자에게 반환하고 질의처리를 종료하는 단계를 포함한다. Meanwhile, in the road network according to the present invention, the indexing method for processing a non-spatial query of a moving object includes (m) accessing a moving object management index, and (n) determining whether a moving object ID corresponding to the query exists. Step (o) accessing a trajectory storage structure along the pointer of the moving object when the ID of the moving object exists in step (n); and (p) location of the moving object at query time through segment information. Searching for, and (q) returning segment information corresponding to the query time to the user and ending the query processing.
또한, 본 발명에 따른 도로 네트워크에서 이동 객체의 질의 처리를 위한 인덱싱 방법에 있어서, 상기 (n) 단계에서 질의에 해당하는 이동 객체 ID가 존재하지 않는 경우 사용자에게 질의에 해당하는 이동 객체가 없음을 알리고 질의 처리를 중단하는 단계를 더 포함하는 것을 특징으로 하는 것이다. In addition, in the indexing method for querying a moving object in a road network according to the present invention, if there is no moving object ID corresponding to the query in step (n), the user does not have a moving object corresponding to the query. The method may further include informing and stopping the query processing.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
도1은 본 발명에 따른 도로 네트워크에서 이동객체의 질의 처리를 위한 인덱싱 구조의 개략도이다. 1 is a schematic diagram of an indexing structure for query processing of a mobile object in a road network according to the present invention.
본 발명에 따른 인덱싱 구조는 크게 세 가지 구조로 구성되어 있다.Indexing structure according to the present invention is largely composed of three structures.
첫째로 좌표기반 질의를 처리하기 위하여 도로 네트워크를 관리하는 도로네트워크 관리 인덱스(10), 두 번째로 궤적 기반 질의를 처리하기 위하여 궤적 정보를 관리하는 궤적저장구조(40)와 궤적 저장구조 관리 인덱스(20), 세 번째로 비공 간 질의를 처리하기 위하여 이동객체를 관리하는 이동 객체 관리 인덱스(30)로 이루어져 있다. Firstly, a road network management index (10) for managing road networks to process coordinate-based queries, and a second path trajectory storage structure (40) for managing trajectory information to process trajectory-based queries and a trajectory storage structure management index ( 20) Third, a mobile
여기서, 본 발명에서 처리하기 위한 사용자 질의는 현재까지 제안된 거의 모든 질의를 대상으로 하고 있으며 그 질의의 종류는 아래와 같다.Here, the user query for processing in the present invention targets almost all queries proposed up to now, and the types of the queries are as follows.
상기 좌표 기반 질의(coordinate-based query)는 시공간 삼차원으로 이루어진 공간상에서 좌표 조건을 만족하는 이동 객체들을 검색하는 질의이다. 이 좌표 조건에 따라 점 질의와 영역 질의로 세분화된다. The coordinate-based query is a query for searching for moving objects satisfying a coordinate condition in a space made of space-time three-dimensional space. According to this coordinate condition, it is divided into point query and region query.
점 질의는 시공간상에서 주어진 하나의 점과 관련된 이동 객체의 유무를 검색한다. 예를 들어, 오후 3시에 좌표 (30, 50)에 이동 객체가 있었는지를 검색하는 질의가 이에 해당된다.Point queries retrieve the presence or absence of moving objects associated with a given point in space-time. For example, a query that retrieves whether there was a moving object at coordinates (30, 50) at 3 pm corresponds.
영역 질의는 특정 영역 내에 이동 객체의 유무를 검색한다. 예를 들어, 오후 2시부터 3시까지 x좌표가 20에서 40, y좌표가 50에서 80까지의 영역 내에 존재한 적이 있는 이동 객체들을 검색하는 질의가 이에 해당된다. 특별히 시간 영역의 간격이 0인 질의를 시간 슬라이스 질의(time-slice query)라 한다.Region queries retrieve the presence or absence of moving objects within a specific region. For example, a query for retrieving moving objects that have existed in an area of 20 to 40 x coordinates and 50 to 80 y coordinates from 2 pm to 3 pm is equivalent. In particular, a query with a zero time interval is called a time-slice query.
또한, 상기 궤적 기반 질의(trajectory-based query)는 위상 질의(topological query)와 항해 질의(navigational query)로 나눌 수 있다. 위상 질의는 이동 객체 궤적의 움직임을 추적하는 질의로서 시간에 따라 이동 객체가 어느 도로 세그먼트를 이동했는지 검색한다. 예를 들어, 질의 영역과 시간이 주어졌을 때, 주어진 영역과 시간 안에서 이동 객체의 움직임을 검색하는 질의가 이에 해당된다. 항해 질의는 이동 객체의 궤적 정보를 통하여 속도나 방향 등을 계산한다. 예를 들어, 특정 이동 객체가 오후 3시에 움직인 속도를 계산하는 질의가 이에 해당된다. In addition, the trajectory-based query may be divided into a topological query and a navigational query. The topology query is a query that tracks the movement of a moving object trajectory. The topology query searches which road segment the moving object has moved over time. For example, given a query region and time, this is a query that retrieves the movement of a moving object within the given region and time. The navigation query calculates the speed or direction based on the trajectory information of the moving object. For example, a query that calculates the speed at which a particular moving object moves at 3 pm is equivalent.
한편, 복합 질의(combined query)는 영역 질의를 통하여 검색된 이동 객체를 대상으로 궤적 기반 질의를 수행하는 것이다. 영역 질의를 수행하기 위하여 질의 영역이 주어 졌을 때, 질의 영역에 해당하는 이동 객체를 검색하고 검색된 이동 객체에 궤적 기반 질의를 수행하여 질의 영역 이후의 일정 시간 동안에 대하여 궤적의 움직임을 추적하는 질의이다. 예를 들어 오늘 7시에서 8시 사이에 특정 지역을 떠난 이동 객체들의 다음 한 시간 동안의 경로를 검색하는 질의가 이에 해당된다.On the other hand, a combined query is a trajectory-based query for a moving object retrieved through an area query. When a query region is given to perform an area query, the query searches a moving object corresponding to the query region and performs a trajectory-based query on the searched moving object to track the movement of the trajectory for a predetermined time after the query region. For example, a query that retrieves a route for the next hour of moving objects that left a particular region between 7 and 8 today.
그리고, 비공간 질의(Non-spatial query)는 특정 이동 객체에 대한 움직임 및 과거 또는 현재 위치를 물어보는 질의이다. 예를 들어, 9시에 특정 자동차가 어디에 있었는지 검색하는 질의가 이에 해당된다.Non-spatial queries are queries that ask for movement and past or current positions for a particular moving object. For example, a query that searches where a particular car was at 9 o'clock.
도1을 참조하면, 도로 네트워크를 관리하는 도로네트워크 관리 인덱스(10)는 R*-트리로 구성될 수 있다. Referring to FIG. 1, the road
도로 네트워크 관리를 위해 쓰이는 인덱스는 세그먼트 단위로 도로 네트워크를 관리한다. The index used to manage the road network manages the road network on a segment basis.
이 인덱스의 단말 노드는 <seg_id, MBR, orientation, ptr>로 구성되어 있다.The terminal node of this index is composed of <seg_id, MBR, orientation, and ptr>.
여기서 seg_id는 세그먼트의 ID를 나타내고, MBR은 세그먼트를 포함하는 최소포함사각형(minimum bounding rectangle)의 좌표를 나타난다. Here, seg_id represents an ID of a segment, and MBR represents a coordinate of a minimum bounding rectangle including a segment.
또한, orientation은 세그먼트의 방향성을 나타내는 것으로 0 또는 1을 가진 다. 마지막으로 ptr은 궤적 정보를 관리하는 인덱스를 가리키는 포인터이다. In addition, the orientation represents the orientation of the segment and has a 0 or a 1. Finally, ptr is a pointer to an index that manages trajectory information.
궤적 정보를 관리하는 궤적 저장구조 관리 인덱스(20)는 시간의 흐름에 따른 이동객체의 움직임 정보가 저장되어 있는 궤적 저장구조(40)를 관리한다. The trajectory storage
도1에서 도시된 바와 같이, 이동객체의 궤적 저장구조(40)는 다음과 같다. As shown in FIG. 1, the
이동객체에서 하나의 궤적은 여러 블록으로 저장될 수 있다. In the moving object, one trajectory may be stored in several blocks.
상기 하나의 블록은 <mo_id, prev_block, next_block, seg_info>로 구성된다. The one block is composed of <mo_id, prev_block, next_block, seg_info>.
여기서 mo_id는 이동 객체의 ID를 나타내고, prev_block은 하나의 이동 객체의 궤적이 여러 개의 블록으로 저장되었을 때 궤적의 이전 블록을 가리킨다. Where mo_id represents the ID of the moving object and prev_block indicates the previous block of the trajectory when the trajectory of one moving object is stored in several blocks.
마찬가지로 next_block은 궤적이 저장되어 있는 다음 블록을 가리킨다. 마지막으로 seg_info는 이동 객체의 궤적을 구성하는 세그먼트들의 정보를 나타낸다. 이 seg_info는 <seg_id, time, speed, direction>으로 구성되어 있다. seg_id는 세그먼트의 ID를 나타내고, time은 이동객체가 해당 세그먼트에 들어온 시간을 나타낸다. speed는 이동 객체의 해당 세그먼트에서의 속도를 나타내고, 마지막으로 direction은 이동객체가 어느 방향으로 이동하였는지에 대한 정보를 나타낸다.Similarly, next_block points to the next block where the trajectory is stored. Finally, seg_info represents information of segments constituting the trajectory of the moving object. This seg_info is composed of <seg_id, time, speed, direction>. seg_id represents an ID of a segment, and time represents a time when a mobile object enters the segment. speed indicates the speed in the segment of the moving object, and finally direction indicates information in which direction the moving object has moved.
이러한 궤적 저장구조(40)에 쉽게 접근하여 궤적 기반 질의를 처리하기 위해 앞에서 설명한 궤적 정보를 관리하는 궤적 저장구조 관리 인덱스(20)를 사용한다. In order to easily access the
상기 궤적 저장구조 관리 인덱스(20)는 B+-트리로 구성할 수 있다. The trajectory storage
상기 인덱스는 이동객체가 해당 세그먼트에 들어온 시간을 키로 가지는 인덱스로 <time, mo_id, block_offset>으로 구성되어 있다. The index consists of <time, mo_id, block_offset>, which is an index having a key of the time when the mobile object enters the segment.
여기서, time은 이동객체가 해당 세그먼트에 들어온 시간을 의미한다. mo_id는 그 시간에 해당 세그먼트에 존재한 이동 객체의 궤적 ID이다. block_offset은 궤적 정보가 저장되어 있는 블록에서 해당 세그먼트의 위치를 찾기 위한 offset을 의미한다. Here, time means a time when the moving object enters the segment. mo_id is the trajectory ID of the moving object existing in the segment at that time. block_offset means an offset for finding a position of a corresponding segment in a block in which trajectory information is stored.
마지막 구조로 비공간 질의를 처리하기 위하여 이동객체를 관리하는 이동 객체 관리 인덱스(30)는 B+-트리로 구성될 수 있다. 이 인덱스의 단말 노드는 <mo_id, ptr> 형태로 구성된다. In the last structure, the moving
여기에서, mo_id는 이동객체의 ID를 의미하고, ptr은 해당 이동객체의 궤적을 검색하기 위하여 해당 이동 객체의 궤적이 저장되어 있는 저장구조를 가리키는 포인터를 의미한다. 상기 포인터를 통하여 궤적 저장구조(40)에 접근하여 비공간 질의들을 처리한다. Here, mo_id means the ID of the moving object, and ptr means a pointer indicating a storage structure in which the trajectory of the moving object is stored in order to retrieve the trajectory of the moving object. The
도2는 본 발명의 일실시예에 따른 좌표 기반 질의를 처리하기 위한 흐름도이다.2 is a flowchart for processing a coordinate-based query according to an embodiment of the present invention.
도1에 도시된 인덱스 구조를 이용하여 좌표 기반 질의를 처리하는 과정은 다음과 같다.The process of processing a coordinate-based query using the index structure shown in FIG. 1 is as follows.
먼저, 좌표 기반 질의를 처리하기 위해 도로 네트워크 관리 인덱스(10)에 접근한다(S21).First, the road
다음으로, 질의 지역에 해당하는 도로 세그먼트 ID<seg_id>가 존재하는지 여부를 판단한다(S22).Next, it is determined whether a road segment ID <seg_id> corresponding to the query region exists (S22).
상기 S22 단계에서 도로 세그먼트 ID가 존재하는 경우 해당 세그먼트의 포 인터<ptr>를 따라 궤적 저장 구조를 관리하는 궤적 저장구조 관리 인덱스(20)에 접근한다(S23).If the road segment ID exists in step S22, the trajectory storage
다음, 해당 세그먼트에 질의 시간에 존재한 이동 객체 ID <mo_id>가 있는지를 판단한다(S24).Next, it is determined whether there is a moving object ID <mo_id> existing at the query time in the corresponding segment (S24).
마지막으로, 상기 S24 단계에서 해당 이동 객체 ID <mo_id>가 존재하는 경우 상기 이동 객체의 ID를 사용자에게 반환하고 질의 처리를 종료한다(S25).Finally, if the corresponding moving object ID <mo_id> exists in step S24, the ID of the moving object is returned to the user and the query processing is terminated (S25).
또한, 상기 S22 단계에서 질의 지역에 해당하는 도로 세그먼트 ID가 존재하지 않는 경우에는 사용자에게 질의 지역에 해당하는 도로 세그먼트가 없음을 알리고 질의 처리를 중단한다(S26).In addition, when the road segment ID corresponding to the query region does not exist in step S22, the user is notified that there is no road segment corresponding to the query region and the query processing is stopped (S26).
또한, 상기 S24 단계에서 해당 세그먼트에 질의 시간에 존재한 이동 객체 ID가 없는 경우에는 사용자에게 질의 시간에 해당 지역을 이동한 이동 객체가 없음을 알리고 질의 처리를 중단한다(S27). In addition, if there is no moving object ID present at the query time in the segment at step S24, the user is notified that there is no moving object moving to the corresponding area at the query time and the query processing is stopped (S27).
도3은 본 발명의 일실시예에 따른 궤적 기반 질의를 처리하기 위한 흐름도이다. 3 is a flowchart for processing a trajectory based query according to an embodiment of the present invention.
도1에 도시된 인덱스 구조를 이용하여 궤적 기반 질의를 처리하는 과정은 다음과 같다.The process of processing a trajectory based query using the index structure shown in FIG. 1 is as follows.
먼저, 궤적 기반 질의를 처리하기 위해 도로 네트워크 관리 인덱스(10)에 접근한다(S31).First, the road
다음으로, 질의 지역에 해당하는 도로 세그먼트 ID<seg_id>가 존재하는지 여부를 판단한다(S32).Next, it is determined whether a road segment ID <seg_id> corresponding to the query region exists (S32).
상기 S32 단계에서 도로 세그먼트 ID가 존재하는 경우 해당 세그먼트의 포인터<ptr>를 따라 궤적 저장 구조를 관리하는 궤적 저장구조 관리 인덱스(20)에 접근한다(S33).If the road segment ID exists in step S32, the trajectory storage
다음, 해당 세그먼트에 질의 시간에 존재한 이동 객체 ID <mo_id>가 있는지를 판단한다(S34).Next, it is determined whether there is a moving object ID <mo_id> existing at the query time in the corresponding segment (S34).
상기 S34단계에서 이동 객체 ID가 있는 것으로 판단되면 궤적 저장구조 관리 인덱스(20)에서 이동객체 ID <mo_id>의 <block_offset>을 통하여 궤적 저장 구조가 저장되어 있는 블록에 접근한다(S35).If it is determined in step S34 that there is a moving object ID, the trajectory storage
다음으로, 궤적 저장구조(40)의 세그먼트 정보 <seg_info>를 통하여 질의 시간 안에 속하는 궤적의 세그먼트 ID를 검색한다(S36).Next, the segment ID of the trajectory belonging to the query time is searched through the segment information <seg_info> of the trajectory storage structure 40 (S36).
마지막으로, 이동 객체 ID <mo_id>와 궤적의 세그먼트 ID <seg_id>들을 사용자에게 반환하고 질의처리를 종료한다(S37).Finally, the mobile object ID <mo_id> and the segment ID <seg_id> of the trajectory are returned to the user, and the query processing is terminated (S37).
또한, S32 단계에서 질의 지역에 해당하는 도로 세그먼트 ID가 존재하지 않는 경우에는 사용자에게 질의 지역에 해당하는 도로 세그먼트가 없음을 알리고 질의 처리를 중단한다(S38).In addition, when the road segment ID corresponding to the query region does not exist in step S32, the user is notified that there is no road segment corresponding to the query region and the query processing is stopped (S38).
또한, 상기 S34 단계에서 해당 세그먼트에 질의 시간에 존재한 이동 객체 ID가 없는 경우에는 사용자에게 질의 시간에 해당 지역을 이동한 이동 객체가 없음을 알리고 질의 처리를 중단한다(S39). In addition, when there is no moving object ID present at the query time in the corresponding segment in step S34, the user is notified that there is no moving object moving the corresponding region at the query time and the query processing is stopped (S39).
도4는 본 발명의 일실시예에 따른 복합 질의를 처리하기 위한 흐름도이다. 4 is a flowchart for processing a complex query according to an embodiment of the present invention.
도1에 도시된 인덱스 구조를 이용하여 복합 질의를 처리하는 과정은 다음 과 같다.The process of processing a complex query using the index structure shown in FIG. 1 is as follows.
먼저, 복합 질의를 처리하기 위해 도로 네트워크 관리 인덱스(10)에 접근한다(S41). First, the road
다음으로, 질의 지역에 해당하는 도로 세그먼트 ID<seg_id>가 존재하는지 여부를 판단한다(S42).Next, it is determined whether a road segment ID <seg_id> corresponding to the query region exists (S42).
상기 S42 단계에서 도로 세그먼트 ID가 존재하는 경우 해당 세그먼트의 포인터<ptr>를 따라 궤적 저장 구조를 관리하는 궤적 저장구조 관리 인덱스(20)에 접근한다(S43).When the road segment ID exists in step S42, the track storage
다음, 해당 세그먼트에 질의 시간에 존재한 이동 객체 ID <mo_id>가 있는지를 판단한다(S44).Next, it is determined whether there is a moving object ID <mo_id> existing at the query time in the corresponding segment (S44).
상기 S44단계에서 이동 객체 ID가 있는 것으로 판단되면 궤적 저장구조 관리 인덱스(20)에서 이동객체 ID <mo_id>의 <block_offset>을 통하여 궤적 저장 구조가 저장되어 있는 블록에 접근한다(S45).If it is determined in step S44 that there is a moving object ID, the trajectory storage
다음으로, 궤적 저장구조(40)의 세그먼트 정보 <seg_info>를 통하여 질의 시간 이후 특정 시간 안의 궤적의 세그먼트 ID를 검색한다(S46).Next, the segment ID of the trajectory within the specific time after the query time is searched through the segment information <seg_info> of the trajectory storage structure 40 (S46).
마지막으로, 이동 객체 ID <mo_id>와 궤적의 세그먼트 ID <seg_id>들을 사용자에게 반환하고 질의처리를 종료한다(S47).Finally, the mobile object ID <mo_id> and the segment ID <seg_id> of the trajectory are returned to the user, and the query processing is terminated (S47).
또한, S42 단계에서 질의 지역에 해당하는 도로 세그먼트 ID가 존재하지 않는 경우에는 사용자에게 질의 지역에 해당하는 도로 세그먼트가 없음을 알리고 질의 처리를 중단한다(S48).In addition, when the road segment ID corresponding to the query region does not exist in step S42, the user is notified that there is no road segment corresponding to the query region and the query processing is stopped (S48).
또한, 상기 S44 단계에서 해당 세그먼트에 질의 시간에 존재한 이동 객체 ID가 없는 경우에는 사용자에게 질의 시간에 해당 지역을 이동한 이동 객체가 없음을 알리고 질의 처리를 중단한다(S49). In addition, when there is no moving object ID present at the query time in the corresponding segment in step S44, the user is notified that there is no moving object moving the corresponding region at the query time and the query processing is stopped (S49).
도5는 본 발명의 일실시예에 따른 비공간 질의를 처리하기 위한 흐름도이다. 5 is a flowchart for processing a non-spatial query according to an embodiment of the present invention.
도1에 도시된 인덱스 구조를 이용하여 비공간 질의를 처리하는 과정은 다음과 같다.The process of processing a non-spatial query using the index structure shown in FIG. 1 is as follows.
먼저, 비공간 질의를 처리하기 위해 이동 객체 관리 인덱스(30)에 접근한다(S51).First, the mobile
다음으로, 질의에 해당하는 이동 객체 ID <seg_id>의 존재 여부를 판단한다(S52).Next, it is determined whether a moving object ID <seg_id> corresponding to the query exists (S52).
상기 S52 단계에서 상기 이동 객체의 ID가 존재하는 경우 해당 이동 객체의 포인터<ptr>를 따라 궤적 저장 구조(40)에 접근한다(S53).If the ID of the moving object exists in step S52, the
다음으로, 세그먼트 정보 <seg_info>를 통하여 질의 시간에 해당 이동 객체의 위치를 검색한다(S54).Next, the position of the corresponding moving object is searched at the query time through the segment information <seg_info> (S54).
마지막으로, 질의 시간에 해당하는 세그먼트 정보 <seg_info>를 사용자에게 반환하고 질의처리를 종료한다(S55).Finally, the segment information <seg_info> corresponding to the query time is returned to the user, and the query processing is terminated (S55).
또한, 상기 S52 단계에서 질의에 해당하는 이동 객체 ID가 없는 경우에는 사용자에게 질의에 해당하는 이동 객체가 없음을 알리고 질의 처리를 중단한다(S56).In addition, when there is no moving object ID corresponding to the query in step S52, the user is notified that there is no moving object corresponding to the query, and the query processing is stopped (S56).
상술한 바와 같이, 도1에 도시된 인덱스 구조에 따라서 도로 네트워크를 기반으로 한 이동 객체 데이터베이스에 접근하는 사용자의 다양한 질의를 효과적으로 처리할 수 있게 된다. As described above, according to the index structure shown in FIG. 1, various queries of a user accessing a moving object database based on a road network can be effectively processed.
본 발명에 따라서 다양한 사용자 질의를 도로 네트워크 기반 공간에서도 모두 처리할 수 있기 때문에 도로 위를 움직이는 자동차와 같은 실제 환경에 유용하게 쓰일 수 있다. According to the present invention, since various user queries can be processed in a road network based space, it can be usefully used in a real environment such as a car moving on a road.
또한, 사용자 질의 처리를 위해 다양한 인덱스를 활용하기 때문에 질의 처리 성능이 뛰어난 효과가 있다.In addition, query processing performance is excellent because various indexes are used for user query processing.
이상에서 본 발명은 기재된 구체적인 실시예에 대해서만 상세히 설명되었지만 본 발명의 기술사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.Although the present invention has been described in detail only with respect to the specific embodiments described, it will be apparent to those skilled in the art that various modifications and variations are possible within the technical scope of the present invention, and such modifications and modifications belong to the appended claims. .
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070040139A KR100891039B1 (en) | 2007-04-25 | 2007-04-25 | Structure and method of indexing for processing of moving object queries in road network databases |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070040139A KR100891039B1 (en) | 2007-04-25 | 2007-04-25 | Structure and method of indexing for processing of moving object queries in road network databases |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080095533A KR20080095533A (en) | 2008-10-29 |
KR100891039B1 true KR100891039B1 (en) | 2009-03-31 |
Family
ID=40155175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070040139A KR100891039B1 (en) | 2007-04-25 | 2007-04-25 | Structure and method of indexing for processing of moving object queries in road network databases |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100891039B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102034526B1 (en) * | 2012-10-18 | 2019-10-22 | 한국전자통신연구원 | Apparatus and method for managing indoor moving objects information considering indoor map and positioning infrastructure |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000011232A (en) * | 1998-06-25 | 2000-01-14 | Nec Field Service Ltd | Bill reception and payment processor equipped with electrostatic discharging and foreign matter removing means |
KR20040050466A (en) * | 2002-12-10 | 2004-06-16 | 한국전자통신연구원 | Query processing system for moving objects databases |
KR20040066942A (en) * | 2003-01-21 | 2004-07-30 | 정영진 | Extract operation technique for the indices based on the R-tree |
KR100650389B1 (en) | 2005-11-10 | 2006-11-29 | 성균관대학교산학협력단 | Indexing system of moving objects using time-based partitioning with second-dimensional structure and method thereof |
-
2007
- 2007-04-25 KR KR1020070040139A patent/KR100891039B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000011232A (en) * | 1998-06-25 | 2000-01-14 | Nec Field Service Ltd | Bill reception and payment processor equipped with electrostatic discharging and foreign matter removing means |
KR20040050466A (en) * | 2002-12-10 | 2004-06-16 | 한국전자통신연구원 | Query processing system for moving objects databases |
KR20040066942A (en) * | 2003-01-21 | 2004-07-30 | 정영진 | Extract operation technique for the indices based on the R-tree |
KR100650389B1 (en) | 2005-11-10 | 2006-11-29 | 성균관대학교산학협력단 | Indexing system of moving objects using time-based partitioning with second-dimensional structure and method thereof |
Non-Patent Citations (2)
Title |
---|
전자공학회지 제33권 제10호, pp.1132-1140, 2006.10 |
한국정보과학회, 추계학술발표회 논문, pp.121-123, 205.11.11~12 |
Also Published As
Publication number | Publication date |
---|---|
KR20080095533A (en) | 2008-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102810118B (en) | A kind of change weighs net K nearest neighbor search method | |
EP2795255B1 (en) | System and method for using skyline queries to search for points of interest along a route | |
CN102867004B (en) | A kind of method and apparatus of address coupling | |
CN102915346A (en) | Data index building and query method for Internet of Things intellisense | |
CN103294790A (en) | Spatiotemporal semantic meaning indexing and retrieving method aiming at GPS (global positioning system) trajectory data | |
CN105512317B (en) | A kind of uncertain Indexing for Moving Object based on group division | |
CN102567497A (en) | Inquiring method of best matching with fuzzy trajectory problems | |
Gao et al. | Continuous visible nearest neighbor queries | |
CN108536704A (en) | A kind of track querying method, system and device | |
Huang et al. | Frequent pattern-based map-matching on low sampling rate trajectories | |
KR101025360B1 (en) | Method and apparatus for finding shortest path for k-nearest neighbor searching in road network databases | |
KR100891039B1 (en) | Structure and method of indexing for processing of moving object queries in road network databases | |
US10095724B1 (en) | Progressive continuous range query for moving objects with a tree-like index | |
Chen et al. | Modeling and predicting future trajectories of moving objects in a constrained network | |
CN110555174A (en) | r-tree-based track path recommendation method | |
KR20160135907A (en) | An extended System and Method for searching nearest spatial entity based on tree index | |
Cai et al. | Continuous road network-based skyline query for moving objects | |
KR100461020B1 (en) | Query processing system for moving objects databases | |
Basiri et al. | Use of graph databases in tourist navigation application | |
CN110188254A (en) | Dynamic shortest path inquiry and visualization | |
Frentzos et al. | Towards the next generation of location-based services | |
CN102880717A (en) | Geographic information system (GIS)-embedded medical service information retrieval platform | |
Srividhya et al. | Comparative analysis of r-tree and r-tree in spatial database | |
Lee et al. | acn-rb-tree: Update method for spatio-temporal aggregation of moving object trajectory in ubiquitous environment | |
Guangjun et al. | Supporting Uncertainty in Indexing and Querying of Moving Objects in Networks Databases |
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: 20130326 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140701 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150708 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160304 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170321 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180419 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |