KR100863228B1 - 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법 - Google Patents

도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법 Download PDF

Info

Publication number
KR100863228B1
KR100863228B1 KR1020070039651A KR20070039651A KR100863228B1 KR 100863228 B1 KR100863228 B1 KR 100863228B1 KR 1020070039651 A KR1020070039651 A KR 1020070039651A KR 20070039651 A KR20070039651 A KR 20070039651A KR 100863228 B1 KR100863228 B1 KR 100863228B1
Authority
KR
South Korea
Prior art keywords
distance
network
pivot
static
objects
Prior art date
Application number
KR1020070039651A
Other languages
English (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 KR1020070039651A priority Critical patent/KR100863228B1/ko
Application granted granted Critical
Publication of KR100863228B1 publication Critical patent/KR100863228B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • G06F17/175Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법에 대한 것으로서, (a) 도로 네트워크 공간 상에서 모든 정적 객체 쌍에 대하여 네트워크 거리를 계산하는 단계, (b) FastMap을 이용하여 상기 정적 객체를 m차원 유클리드 공간으로 매핑하는 단계, (c) R-트리를 이용하여 m차원 유클리드 공간상의 모든 정적 객체를 인덱싱하는 단계, 및 (d) 각 노드에서 모든 피봇 객체까지의 네트워크 거리를 구하여 저장하는 단계를 포함하며, 정적 객체들간의 실제 네트워크 거리를 최대한 반영하여 유클리드 공간 상으로 매핑된 인덱스를 이용하므로 질의 처리 성능이 크게 개선되고 저장 공간 오버헤드를 작게 유지할 수 있게 된다.
인덱스, 이동 객체, 도로 네트워크 데이터베이스, k-최근접 이웃 질의

Description

도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법{Method for approximate indexing in road network databases}
도1은 도로 네트워크에서 k-최근접 이웃 질의의 예시도이다.
도 2a, 도2b는 FastMap을 이용하여 객체를 유클리드 공간상의 점으로 매핑하는 과정의 예시도이다.
도3은 본 발명의 일실시예에 따른 네트워크 공간상의 정적 객체를 m차원의 유클리드 공간상으로 매핑하여 인덱싱 과정도이다.
도4는 본 발명의 일실시예에 따른 정적 객체 인덱스를 이용하여 k-최근접 이웃 질의를 처리하는 과정도이다.
본 발명은 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법에 대한 것으로서, 더욱 상세하게는 도로 네트워크 정보, 이동 객체의 정보, 정적 객체 정보 등을 저장, 관리하는 도로 네트워크 데이터베이스(road network database)에서 정적 객체(static object) 검색을 지원하는 효과적인 인덱스 구성 방법에 대한 것이다.
도로 네트워크 정보, 이동 객체의 정보, 정적 객체 정보 등이 저장된 데이터베이스를 도로 네트워크 데이터베이스(road network databases)라 하며, 도로 네트워크 데이터베이스에서 도로 네트워크는 방향성을 가진 그래프로 모델링 된다.
하나의 도로 세그먼트(road segment)는 그래프의 간선에 해당되며, 서로 다른 두 도로 세그먼트가 만나는 지점이 그래프의 노드에 해당된다.
또한, 도로 네트워크 위에 정류소, 학교, 호텔 등과 같은 시설물들은 정적 객체로 모델링되며, 자동차, 사람과 같은 이동성을 가지고 있는 객체는 이동 객체로 모델링된다.
도로 네트워크 데이터베이스에서 사용되는 질의들은 k-최근접 이웃 질의(k-nearest neighbor queries), 영역 질의(range queries), 공간 조인 질의(spatial join queries) 등이 있다
기존 유클리드 공간상에서는 임의의 두 객체의 절대 위치만으로도 그 객체들 간의 유클리드 거리를 계산할 수 있다.
그러나 도로 네트워크 공간상에서 이동 객체는 미리 정의된 도로 네트워크 위로만 움직일 수 있기 때문에 객체의 절대 위치만으로 객체들 간의 네트워크 거리(network distance)를 계산할 수 없다. 여기서, 두 객체간의 네트워크 거리란 도로 네트워크에서 임의의 두 객체간의 최단 경로 상에 존재하는 도로 세그먼트 길이들의 총 합이다
도1은 도로 네트워크에서 k-최근접 이웃 질의의 예를 나타낸 것이다. 검은색의 점은 질의 점인 자동차의 위치를 나타내고 있으며, 빗금 친 일곱개의 사각형 은 정적 객체의 위치를 나타낸다.
1-최근접 이웃 질의가 들어 왔을 때, 유클리드 공간에서는 유클리드 거리를 기준으로 가장 가까운 정적 객체 A를 검색해 주게 된다.
그러나, 도로 네트워크 공간에서 이동 객체는 도로 네트워크 위만을 움직이기 때문에 네트워크 거리를 기준으로 검색해야 한다. 따라서 이 경우에는 네트워크거리가 가장 가까운 정적 객체 B가 검색되어야 한다.
도1의 예에서 나타난 바와 같이, 임의의 두 점간의 네트워크 거리는 두 점의 절대 위치만을 가지고 계산할 수 없다. 그 이유는 절대 위치가 같아도 두 점간을 연결하는 네트워크의 상황에 따라 거리가 달라지기 때문이다.
이러한 이유로 현재까지 정확한 네트워크 거리를 효율적으로 구하기 위한 다양한 방법들이 연구되어 왔으며, 대표적인 예로는 IER 기법, INE 기법, VN3 기법 등이 있다.
IER 기법은 유클리드 거리가 네트워크 거리보다 항상 작거나 같은 성질을 이용한다. 먼저, 유클리드 거리를 기준으로 후보들을 찾고, 이들만을 대상으로 실제 네트워크 거리를 구한다. 저장 공간 오버헤드가 작다는 장점을 가지고 있지만, 여러 번의 시행 착오를 겪기 때문에 질의 처리 성능이 크게 떨어진다.
INE 기법은 질의 점으로부터 도로 세그먼트를 차례로 확장해 가면서 정적 객체의 유무를 검색한다. IER 기법과 마찬가지로, 저장 공간 오버헤드가 작다는 장점을 가지고 있지만, 다수의 디스크 액세스가 필요하기 때문에 질의 처리 성능이 좋지 않다. VN3 기법은 각 정적 객체와 인접한 다른 정적 객체간의 거리가 같은 지점들을 기준으로 전체 네트워크 공간을 셀들의 집합으로 나눈다. 효과적인 질의 처리를 위하여 각 셀 안의 모든 정적 객체, 노드, 셀 경계선간 거리를 선계산(pre-computation)해둔다.
VN3 기법은 IER 기법 및 INE 기법과 비교하여 질의 처리 성능이 뛰어 나지만, 저장 공간의 오버헤드가 지나치게 크다는 단점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 네트워크 거리를 기반으로 정적 객체를 근사 인덱싱 방법을 제공하기 위한 것이다.
또한, 근사 인덱싱 방법을 이용하여 도로 네트워크 데이터베이스에서 적은 오버헤드만으로 빠르게 질의를 처리하는 방법을 제공하기 위한 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법은, (a) 도로 네트워크 공간 상에서 모든 정적 객체 쌍에 대하여 네트워크 거리를 계산하는 단계, (b) FastMap을 이용하여 상기 정적 객체를 m차원 유클리드 공간으로 매핑하는 단계, (c) R-트리를 이용하여 m차원 유클리드 공간상의 모든 정적 객체를 인덱싱하는 단계, 및 (d) 각 노드에서 모든 피봇 객체까지의 네트워크 거리를 구하여 저장하는 단계를 포함한다.
또한, 본 발명에 따른 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방 법에 있어서, 상기 (a) 단계에서 상기 네트워크 거리는 임의의 정적객체 쌍 Oa와 Ob사이의 평균네트워크 거리
Figure 112007030814300-pat00001
로서, D(Oa,Oi)는 정적 객체 Oa에서 정적 객체 Oi까지의 네트워크 거리이고, D(Oi,Ob))는 정적 객체 Oi에서 정적객체 Ob까지의 네트워크 거리라고 할때,
Figure 112007030814300-pat00002
= (D(Oa,Oi) + D(Oi,Ob))/2 로 주어지는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법에 있어서, 두 정적 객체 Oa와 Ob간 평균 네트워크 거리
Figure 112007030814300-pat00003
는 다음 삼각부등식
Figure 112007030814300-pat00004
(Oa,Ob) ≤
Figure 112007030814300-pat00005
(Oa,Oi) +
Figure 112007030814300-pat00006
(Oi,Ob)을 만족하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법에 있어서, 상기 (b) 단계에서 매핑되는 정적 객체에 대하여 피봇 객체를 판단하고 피봇 객체 정보를 저장하는 단계를 더 포함하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법에 있어서, 상기 (d) 단계에서 상기 각 노드에서 모든 피봇 객체들까지의 거리를 관리하기 위하여 노드 ID를 대상으로 B 트리를 구축하는 단계를 포함하는 것을 특징으로 하는 것이다.
한편, 본 발명에 따른 도로 네트워크 데이터베이스를 위한 근사 인덱싱을 이용한 질의 처리 방법은, (f) 도로 네트워크 공간상에서 질의점이 위치한 도로 세그먼트를 검색하는 단계, (g) 질의점에서 피봇 객체들까지의 평균 네트워크 거리를 구하는 단계, (h) FastMap을 통하여 질의점을 m차원 유클리드 공간상의 절대 좌표점으로 매핑하는 단계, 및 (i) 정적 객체를 위한 m차원 인덱스를 통하여 k-최근접 이웃 질의를 처리하는 단계를 포함한다.
또한, 본 발명에 따른 도로 네트워크 데이터베이스를 위한 근사 인덱싱을 이용한 질의 처리 방법에 있어서, 상기 (g) 단계는, (i) 도로 네트워크 데이터베이스를 위한 근사 인덱싱에 의하여 도로 세그먼트의 양끝 노드와 각 피봇 객체까지의 거리를 B 트리를 이용하여 검색하는 단계, (ii) 질의점과 같은 도로 세그먼트에 피봇 객체가 있는지를 판단하는 단계, 및 (iii) 질의점에서 피봇 객체까지의 평균 네트워크 거리를 구하는 단계를 포함하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 도로 네트워크 데이터베이스를 위한 근사 인덱싱을 이용한 질의 처리 방법에 있어서, 상기 (iii) 단계에서 평균 네트워크 거리
Figure 112007030814300-pat00007
는 다음식
Figure 112007030814300-pat00008
단, Q는 질의점이며, P는 피봇 한 개의 위치이고, case 1은 Q와 P가 다른 도로 세그먼트에 존재할 경우이며, case 2는 Q와 P가 같은 도로 세그먼트에 존재할 경우이며. Na, Nb는 Q가 위치하는 도로 세그먼트의 양 끝 노드이고, MIN(x,y)는 x, y값 중 작은 값을 반환하는 함수로 계산되는 것을 특징으로 하는 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
본 발명에 따른 근사 인덱싱 방법의 과정을 간략하게 설명하면 다음과 같다.
우선, 모든 정적 객체를 m차원(m은 2 이상의 정수) 유클리드 공간상의 절대 위치로 매핑한다. 이 때, 절대 위치 설정 기준은 m차원 유클리드 공간상의 임의의 두 정적 객체간의 거리가 원래의 네트워크 공간상에서의 실제 네트워크 거리를 가능한 유지하도록 하는 것이다.
매핑된 정적 객체의 위치를 다차원 공간 인덱스인 R-트리를 이용하여 인덱싱한다. 질의 점 역시 다른 모든 정적 객체와의 네트워크 거리를 가급적 그대로 유지하도록 m차원 유클리드 공간상의 한 점으로 매핑한다. m차원 유클리드 공간상의 질의 점을 이용하여 정적 객체를 대상으로 구성된 R-트리를 탐색함으로써 질의를 처리할 수 있다. 좀 더 정확한 k-최근접 이웃 질의의 검색을 위하여 k(k는 1 이상의 정수)의 개수보다 많은 k'개의 후보(k' ≥ k)를 검색하여 그 결과를 반환한다.
정적 객체들과 질의 점을 m차원 유클리드 공간상의 절대 좌표로 매핑하기 위한 다양한 방법들이 존재할 수 있다. 본 발명에서는 매핑 시 발생하게 되는 오차가 적으면서, 빠르게 매핑할 수 있는 FastMap을 사용한다.
FastMap은 N개의 객체와 거리 함수 D가 주어졌을 때, 이 객체들을 m차원 유클리드 공간상의 절대 좌표 점으로 매핑하는 기법이다. 이 때, 사용될 수 있는 거리 함수는 다음 세가지 조건을 만족해야 한다.
(조건 1) 그 결과가 항상 양수(non-negative)여야 한다.
(조건 2) 대칭성(symmetric)을 만족해야 한다.
(조건 3) 삼각 부등식(triangular inequality) 조건을 만족해야 한다.
매핑의 자세한 과정은 다음과 같다. 우선, 주어진 거리 함수를 기준으로 하여 가장 멀리 떨어져 있는 두 객체 Oa와 Ob를 찾는다. 이 두 객체를 피봇 쌍(pivot pair)이라고 부르고, 각 객체를 피봇 객체(pivot object)라 부른다. 이 피봇 쌍을 잇는 선분에 아래와 같은 (식 1)의 코사인 법칙을 이용하여 나머지 객체들을 프로젝션(projection) 시킨다.
Figure 112007030814300-pat00009
..(식 1)
D(X, Y)는 주어진 거리 함수에 의한 객체 X와 객체 Y간의 실제 거리를 의미하고, xi는 객체 Oi를 피봇 쌍을 잇는 선분 상에 프로젝션 시킨 값을 의미한다. 이를 이용하여 (식 2)를 유도할 수 있다.
Figure 112007030814300-pat00010
..............(식 2)
(식 2)를 통하여 피봇 쌍을 잇는 선분 상에 모든 객체들을 프로젝션 시킬 수 있다. 이 때, 피봇 쌍을 잇는 선분에 프로젝션 된 xi가 객체Oi의 한 차원의 값이 된다. 그리고 나머지 차원의 값을 계산하기 위한 목적으로 피봇 쌍을 잇는 선분에 수직인(orthogonal) 초평면(hyperplane)상에서 객체들 간 거리를 재계산해 준다. (식 3)은 피봇 쌍에 수직인 초평면에서의 객체 간 거리를 재계산해주는 식을 나타낸다. Oi'와 Oj'는 초평면에 프로젝션 된 객체 Oi와 Oj를 말하며, D(Oi',Oj')는 주어진 거리 함수에 의한 초평면상에서의 객체 Oi'와 Oj'간의 거리를 나타낸다. xi와 xj는 (식 2)를 통하여 Oi와 Oj가 피봇 쌍을 잇는 선분에 프로젝션 된 값을 나타낸다.
Figure 112007030814300-pat00011
....................(식 3)
재계산된 객체간의 거리에 준하여 가장 먼 두 객체를 두 번째 피봇 쌍으로 선택하고, 위의 과정을 반복하여 N개의 객체의 두 번째 차원 값을 구하게 된다. 이와 같은 과정을 m번 반복함으로써 N개의 객체들을 m차원상의 점으로 매핑하게 된다. 이 m은 사용자에 의해 임의로 주어지며, 반복하는 횟수가 m에 도달하기 전에라도 객체들 간 거리가 모두 0이 되는 경우에는 그대로 종료한다.
도 2a, 도2b는 FastMap을 이용하여 객체를 유클리드 공간상의 점으로 매핑하는 과 정을 나타낸 것이다. Ox는 객체를 나타내며, 이 중 Oa와 Ob는 피봇 쌍을 의미한다. 도 2a는 Oi가 피봇 쌍인 Oa와 Ob를 잇는 선분
Figure 112007030814300-pat00012
상의 xi로 프로젝션되는 과정을 나타낸 것이다. 도 2b는 Oi와 Oj이 선분
Figure 112007030814300-pat00013
상의 xi, xj로 프로젝션 되었을 때, 선분
Figure 112007030814300-pat00014
와 수직인 초평면(hyperplane)상으로 Oi, Oj를 프로젝션시키고, 프로젝션된 Oi'와 Oj'간 거리를 구하는 과정을 나타낸 것이다.
한편, 인덱싱을 하기 위해서는 우선 모든 정적 객체 쌍 간의 네트워크 거리 정보가 필요하다. 이 거리 정보는 기존의 최단 거리 계산을 위해 사용되는 다익스트라 알고리즘(Dijkstra Algorithm) 등을 통하여 계산된다.
FastMap은 이 네트워크 거리 정보를 이용하여 각 정적 객체를 m차원 유클리드 공간상의 절대 좌표 점으로 매핑한다. 정적 객체 쌍 간의 네트워크 거리를 다익스트라 알고리즘을 이용하여 쉽게 구할 수 있다. 그러나 네트워크 거리는 FastMap이 요구하는 거리 함수의 세 가지 조건 중 대칭성 조건과 삼각 부등식 조건을 만족하지 못한다. 따라서 네트워크 거리를 매핑에 바로 적용하는 것은 불가능하다.
본 발명에서는 도로 네트워크에서 두 정적 객체간의 왕복의 거리 차가 크지 않다는 점에 착안하여 두 정적 객체 간 왕복 네트워크 거리의 평균을 두 정적 객체의 네트워크 거리로 사용한다. 본 발명에서는 이를 평균 네트워크 거리(average network distance)라 부르고 D로 표기한다. 평균 네트워크 거리를 수식으로 표현하면 식 (4)와 같다.
Figure 112007030814300-pat00015
= (D(Oa,Oi) + D(Oi,Ob))/2 .................................(식4)
이를 통하여 대칭성 조건은 자연스럽게 만족 된다.
다음으로 본 발명에서는 평균 네트워크 거리가 삼각 부등식 조건을 만족시키지 못하는 문제를 해결함을 다음과 같은 조건을 통하여 증명한다.
방향성을 가진 네트워크에서도 다음 두 식을 만족한다.
D(Oa,Ob) ≤ D(Oa,Oi) + D(Oi,Ob) ..............................(식 5)
D(Ob,Oa) ≤ D(Ob,Oi) + D(Oi,Oa) ..............................(식 6)
이 때, D(Oa,Ob)는 정적 객체 Oa에서 정적 객체 Ob까지의 네트워크 거리를 의미한다.
먼저, D(Oa,Ob) > D(Oa,Oi) + D(Oi,Ob)인 경우가 있다고 가정하자. 그렇다면, D(Oa,Ob)는 Oa에서 Ob까지의 최단 거리가 아니므로 Oa에서 Ob까지의 네트워크 거리가 아님을 의미한다. 따라서 D(Oa,Ob) > D(Oa,Oi) + D(Oi,Ob) 인 경우는 발생할 수 없으므로, (식 5)는 항상 만족됨을 알 수 있다. (식 6) 역시 이와 동일한 방법으로 만족됨을 증명할 수 있다.
두 정적 객체 Oa와 Ob 간 평균 네트워크 거리
Figure 112007030814300-pat00016
는 삼각 부등식을 만족한다.
Figure 112007030814300-pat00017
(Oa,Ob)≤
Figure 112007030814300-pat00018
(Oa,Oi) +
Figure 112007030814300-pat00019
(Oi,Ob)..........................(식 7)
상기 (식 5), (식 6)에 의해서 (식 8)과 (식 9)가 만족됨을 알 수 있다.
D(Oa,Ob) + D(Ob,Oa) ≤ (D(Oa,Oi) + D(Oi,Ob)) + (D(Ob,Oi) + D(Oi,Oa))(식 8)
=(D(Oa,Oi) + D(Oi,Oa)) + (D(Ob,Oi) + D(Oi,Ob))...................(식 9)
(식 9)에 (식 4)를 대입하면, (식 10)이 됨을 알 수 있다.
2
Figure 112007030814300-pat00020
(Oa,Ob) ≤ 2
Figure 112007030814300-pat00021
(Oa,Oi) + 2
Figure 112007030814300-pat00022
(Ob,Oi)................ (식 10)
따라서 (식 7)은 만족되므로 증명된다.
평균 네트워크 거리
Figure 112007030814300-pat00023
는 결과가 항상 양수여야 하는 조건, 대칭성 조건, 삼각 부등식 조건을 모두 만족한다. 이제
Figure 112007030814300-pat00024
를 FastMap을 위한 거리 함수로 사용하여 각 정적 객체를 m차원 유클리드 공간상의 절대 좌표 점으로 매핑한다. 매핑된 정적 객체들을 다차원 공간 인덱스인 R-트리를 이용하여 인덱싱할 수 있다.
아래 알고리즘은 인덱싱하는 과정을 나타낸 것이다.
단계 (1) : 모든 정적 객체 Oi, Oj 쌍 간의 네트워크 거리
Figure 112007030814300-pat00025
(Oi,Oj)를 구한다.
단계 (2) : FastMap을 이용하여 각 정적 객체를 m차원상의 한 점으로 매핑한다.
단계 (3) : R-트리를 이용하여 m차원 유클리드 공간상의 모든 정적 객체들을 인덱싱한다.
단계 (4) : 각 노드에서 모든 피봇까지의 네트워크 거리를 구하여 저장한다.
단계 (1)은 모든 정적 객체 쌍 Oi, Oj간의 평균 네트워크 거리
Figure 112007030814300-pat00026
(Oi,Oj)를 구하는 과정을 나타낸다.
Figure 112007030814300-pat00027
(Oi,Oj)는 다익스트라 알고리즘을 이용하여 두 정적 객체의 실제 네트워크 거리 D(Oi,Oj)와 D(Oj,Oi)의 평균으로 구하게 된다. 단계 (2)는 구해진 평균 네트워크 거리를 FastMap을 위한 거리 함수로 이용하여 각 정적 객체를 m차원 유클리드 공간상의 절대 좌표 점으로 매핑한다. 단계 (3)은 m차원 유클리드 공간내의 정적 객체를 인덱싱하는 과정이다. 마지막으로, 단계 (4)에서는 도로 네트워크의 각 노드에 대하여 모든 피봇까지의 네트워크 거리를 계산하여 저장한다. 단계 (4)는 질의 처리에서 필요하게 된다.
도3은 네트워크 공간상의 정적 객체를 m차원의 유클리드 공간상으로 매핑하여 인덱싱 과정의 일실시예이다.
도3을 참조하면, 먼저 모든 정적 객체 쌍에 대한 네트워크 거리를 계산한다(S10).
다음으로, FastMap을 이용하여 정적 객체를 m차원 유클리드 공간으로 매핑한다(S11).
이때, 정적 객체가 피봇 객체인지를 판단하여 피봇 객체인 경우에는 피봇 객체 정보를 저장한다(S12, S13).
상기 매핑된 정적 객체를 대상으로 R-트리를 구축하여 유클리드 공간내의 정적 객체를 인덱싱한다(S14).
다음으로, 도로 네트워크의 각 노드에 대하여 모든 피봇까지의 네트워크 거리를 계산하여 저장하여, 각 노드에서 피봇 객체들까지 거리를 관리하기 위하여 노드 ID를 대상으로 B-트리를 구축한다(S15, S16).
이하에서는, 정적 객체의 인덱싱을 이용하여 도로 네트워크 위에서 임의의 위치에 질의점이 주어졌을 때 질의 처리 과정을 설명한다.
도로 네트워크 위의 임의의 위치에 질의 점이 주어졌을 때, 상기 정적 객체의 인덱스를 이용하여 질의를 처리하기 위해서는 정적 객체가 매핑된 m차원 유클리드 공간상에서의 질의 점의 절대 좌표를 구해야 한다. 이를 위해서는 질의 점에서 각 피봇 객체까지의 네트워크 거리 정보가 필요하다.
그러나 질의 처리 시점에 질의 점에서 2 * m개의 피봇 객체까지의 평균 네트워크 거리를 계산하는 것은 매우 큰 처리 비용을 요구한다.
본 발명에서는 이 문제를 해결하기 위하여 도로 네트워크상의 각 노드에서 각 피봇 객체까지의 거리를 미리 계산하여 유지하는 기법을 제안한다.
아래 (식 11)을 통하여 제안된 기법이 질의 점에서 피봇 객체까지의 평균 네트워크 거리를 빠르고 정확하게 계산할 수 있음을 보인다.
Figure 112007030814300-pat00028
......................(식 11)
(식 11)에서 Q는 질의 점이며, P는 피봇 한 개의 위치이다. case 1은 Q와 P가 다른 도로 세그먼트에 존재할 경우이며, case 2는 Q와 P가 같은 도로 세그먼트에 존재할 경우이다. Na, Nb는 Q가 위치하는 도로 세그먼트의 양 끝 노드이다. MIN(x,y)는 x, y값 중 작은 값을 반환하는 함수이다.
질의 점 Q가 주어졌을 때, P와 Q가 속한 도로 세그먼트가 같은 경우를 제외하고 Q에서 P까지의 최단 경로는 반드시 Na 또는 Nb 노드를 포함하게 된다. 그 이유는 도로 네트워크상의 이동 객체는 Q가 속한 도로 세그먼트의 양 끝 노드 중 어느 한 노드는 반드시 지나가야만 P에 도달 할 수 있기 때문이다.
따라서 Q에서 P까지의 네트워크 거리는 Q에서 Na까지의 거리와 Na에서 P까지의 네트워크 거리의 합 또는 Q에서 Nb까지의 거리와 Nb에서 P까지의 네트워크 거리의 합 중 작은 값이 된다.
P와 Q가 같은 도로 세그먼트상에 존재할 때에는 이들 간의 평균 네트워크 거리를 계산한다. 이 때, 별도의 도로 세그먼트의 확장 과정이 없기 때문에 평균 네트워크 거리 계산 오버헤드가 작다.
질의 점에서 각 피봇 객체 간의 거리를 효과적으로 파악하기 위해서 인덱싱 알고리즘의 단계 (4)에서는 각 노드에서 모든 피봇 객체까지의 평균 네트워크 거리를 미리 계산해 둔 바 있다.
이를 이용하여 질의 점이 주어지면, 먼저 질의 점이 속해 있는 해당 도로 세그먼트를 찾는다. 이 세그먼트의 양 끝 노드에서 피봇 객체들까지의 평균 네트워크 거리는 미리 계산 되어 있으므로, (식 11)을 이용하여 질의 점에서 각 피봇 객체까지의 평균 네트워크 거리를 쉽게 구할 수 있다.
이를 이용하여 질의 점을 m차원 유클리드 공간상의 점으로 매핑하여 k-최근접 이웃 질의를 다음과 같이 수행한다.
다음의 알고리즘은 질의 처리 과정을 나타낸 것이다.
단계 (1) : 질의 점이 위치한 도로 세그먼트를 찾는다.
단계 (2) : 질의 점에서 피봇 객체들까지의 평균 네트워크 거리를 구한다.
단계 (3) : FastMap을 통하여 질의 점을 m차원 유클리드 공간상의 절대 좌표 점으로 매핑시킨다.
단계 (4) : 정적 객체를 위한 m차원 인덱스를 통하여 k-최근접 이웃 질의를 처리한다.
단계 (1)은 질의 점이 위치한 도로 세그먼트를 찾는 과정이다. 유클리드 공간상의 도로 세그먼트의 위치 정보에 대한 인덱스가 구성되어 있다면, 이 세그먼트를 쉽게 찾을 수 있다.
단계 (2)는 질의 점으로부터 각 피봇 객체까지의 평균 네트워크 거리를 구하는 과정이다. 인덱싱 과정에서 계산된 노드에서 피봇 객체까지의 평균 네트워크 거리를 이용하여 질의 점으로부터 각 피봇 객체까지의 평균 네트워크 거리를 쉽게 구할 수 있다.
단계 (3)은 FastMap을 이용하여 질의 점을 m차원 유클리드 공간상의 절대 좌표 점으로 매핑시키는 과정이다. 인덱싱 과정에서 구해진 피봇 객체들 간의 평균 네트워크 거리 정보를 활용하여 구한다.
단계 (4)는 인덱싱 과정에서 생성한 m차원의 정적 객체 인덱스를 이용하여 질의 점으로부터 가장 가까운 정적 객체 k'개를 찾는다.
이때, k'는 사용자가 지정한 k-최근접 이웃 질의의 k개 보다 크거나 같은 수이며, 좀 더 정확한 질의 처리를 위하여 k개 이상을 검색한다.
도4는 정적 객체 인덱스를 이용하여 k-최근접 이웃 질의를 처리하는 과정도의 일 실시예이다.
도4를 참조하면, 첫째로 도로 네트워크 공간에 질의점이 주어지면 질의점이 속한 도로 세그먼트를 검색한다(S20, S21).
도로 세그먼트의 양끝 노드와 각 피봇 객체까지의 거리를 B-트리를 이용하여 검색한다(S22).
여기에서, 상기 B-트리는 상기 도3의 과정에서 구축된 것으로 각 노드에서 피봇 객체들까지 거리를 관리하기 위하여 노드 ID를 대상으로 한 것이다.
이때, 질의점과 같은 도로 세그먼트에 피봇 객체가 존재하는지를 판단한다(S23).
상기 판단 결과, 질의점과 피봇 객체가 같은 도로 세그먼트에 존재할 경우에는 해당 피봇 객체와 질의점과의 평균 네트워크거리를 계산한다(S24).
상기 판단 결과, 질의점과 피봇 객체가 같은 도로 세그먼트에 존재하지 않는 경우에는 도로 세그먼트의 양끝 노드와 피봇 객체까지의 거리를 검색한 결과로부터, 질의점에서 양끝 노드 중의 한 노드(Na)까지의 거리와 상기 한 노드(Na)에서 피봇 객체까지의 네트워크 거리 합 또는 질의점에서 양끝 노드 중의 다른 노드(Nb)까지의 거리와 상기 다른 노드(Nb)에서 피봇 객체까지의 네트워크 거리의 합 중 작은 값을 취하여 평균 네트워크 거리로 취한다.
상기 네트워크 거리를 기초로 하여 질의점을 m차원 유클리드 공간상의 점으로 매핑한다(S25).
마지막으로, 질의점에서 가까운 k개의 정적 객체를 검색한다(S26).
본 발명에서 제안된 근사 인덱싱 방법은 객체들간의 실제 네트워크 거리를 최대한 반영하여 유클리드 공간상으로 매핑하므로 착오 기각(false dismissal)을 최소로 유지할 수 있으며, 기존 기법들에서 사용하지 못하던 인덱스를 이용하므로 질의 처리 성능이 크게 개선된다. 또한 인덱스만을 이용하여 질의를 처리하기 때문에 저장 공간 오버헤드를 작게 유지하게 된다.
본 발명에 따른 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법에 의하면 k-최근접 이웃 질의 처리 시 성능 저하라는 문제와 저장 공간의 큰 오버헤드라는 문제점을 동시에 해결하는 효과를 나타낸다.
또한, m차원 유클리드 공간상의 질의 점을 이용하여 정적 객체 인덱스를 검 색함으로서 질의 성능을 크게 향상되고, k-최근접 이웃 질의뿐만 아니라 영역 질의, 공간 조인 등 다양한 질의들도 효과적으로 처리할 수 있다.
이상에서 본 발명은 기재된 구체적인 실시예에 대해서만 상세히 설명되었지만 본 발명의 기술사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.

Claims (8)

  1. (a) 도로 네트워크 공간 상에서 모든 정적 객체 쌍에 대하여 네트워크 거리를 계산하는 단계;
    (b) FastMap을 이용하여 상기 정적 객체를 m차원 유클리드 공간으로 매핑하는 단계;
    (c) R-트리를 이용하여 m차원 유클리드 공간상의 모든 정적 객체를 인덱싱하는 단계; 및
    (d) 각 노드에서 모든 피봇 객체까지의 네트워크 거리를 구하여 저장하는 단계를 포함하는 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계에서,
    상기 네트워크 거리는 임의의 정적객체 쌍 Oa와 Ob사이의 평균네트워크 거리
    Figure 112007030814300-pat00029
    로서, D(Oa,Oi)는 정적 객체 Oa에서 정적 객체 Oi까지의 네트워크 거리이고, D(Oi,Ob))는 정적 객체 Oi에서 정적객체 Ob까지의 네트워크 거리라고 할때,
    Figure 112007030814300-pat00030
    = (D(Oa,Oi) + D(Oi,Ob))/2
    로 주어지는 것을 특징으로 하는 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법.
  3. 제 2 항에 있어서,
    두 정적 객체 Oa와 Ob간 평균 네트워크 거리
    Figure 112007030814300-pat00031
    는 다음 삼각부등식
    Figure 112007030814300-pat00032
    (Oa,Ob) ≤
    Figure 112007030814300-pat00033
    (Oa,Oi) +
    Figure 112007030814300-pat00034
    (Oi,Ob)
    을 만족하는 것을 특징으로 하는 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법.
  4. 제 1 항에 있어서,
    상기 (b) 단계에서,
    매핑되는 정적 객체에 대하여 피봇 객체를 판단하고 피봇 객체 정보를 저장하는 단계를 더 포함하는 것을 특징으로 하는 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법.
  5. 제 1 항에 있어서,
    상기 (d) 단계에서,
    상기 각 노드에서 모든 피봇 객체들까지의 거리를 관리하기 위하여 노드 ID를 대상으로 B 트리를 구축하는 단계를 포함하는 것을 특징으로 하는 도로 네트 워크 데이터베이스를 위한 근사 인덱싱 방법.
  6. (f) 도로 네트워크 공간상에서 질의점이 위치한 도로 세그먼트를 검색하는 단계;
    (g) 질의점에서 피봇 객체들까지의 평균 네트워크 거리
    Figure 112008035409553-pat00041
    를 구하는 단계;
    (h) FastMap을 통하여 질의점을 m차원 유클리드 공간상의 절대 좌표점으로 매핑하는 단계; 및
    (i) 정적 객체를 위한 m차원 인덱스를 통하여 k-최근접 이웃 질의를 처리하는 단계를 포함하며,
    상기 (g) 단계에서 평균 네트워크 거리
    Figure 112008035409553-pat00042
    는 다음식
    Figure 112008035409553-pat00043
    단, Q는 질의점이며, P는 피봇 한 개의 위치이고, case 1은 Q와 P가 다른 도로 세그먼트에 존재할 경우이며, case 2는 Q와 P가 같은 도로 세그먼트에 존재할 경우이며. Na, Nb는 Q가 위치하는 도로 세그먼트의 양 끝 노드이고, MIN(x,y)는 x, y값 중 작은 값을 반환하는 함수로 계산되는 것을 특징으로 하는 도로 네트워크 데이터베이스를 위한 근사 인덱싱을 이용한 질의 처리 방법.
  7. 제 6 항에 있어서,
    상기 (g) 단계는,
    (i) 도로 네트워크 데이터베이스를 위한 근사 인덱싱에 의하여 도로 세그먼트의 양끝 노드와 각 피봇 객체까지의 거리를 B 트리를 이용하여 검색하는 단계;
    (ii) 질의점과 같은 도로 세그먼트에 피봇 객체가 있는지를 판단하는 단계; 및
    (iii) 질의점에서 피봇 객체까지의 평균 네트워크 거리
    Figure 112008035409553-pat00044
    를 구하는 단계
    를 포함하는 것을 특징으로 하는 도로 네트워크 데이터베이스를 위한 근사 인덱싱을 이용한 질의 처리 방법.
  8. 삭제
KR1020070039651A 2007-04-24 2007-04-24 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법 KR100863228B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070039651A KR100863228B1 (ko) 2007-04-24 2007-04-24 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070039651A KR100863228B1 (ko) 2007-04-24 2007-04-24 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법

Publications (1)

Publication Number Publication Date
KR100863228B1 true KR100863228B1 (ko) 2008-10-15

Family

ID=40153297

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070039651A KR100863228B1 (ko) 2007-04-24 2007-04-24 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법

Country Status (1)

Country Link
KR (1) KR100863228B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101423031B1 (ko) 2012-08-22 2014-08-14 아주대학교산학협력단 도로 네트워크에서 움직이는 k-최근접 질의의 안전 출구 위치를 계산하는 방법
WO2014178582A1 (ko) * 2013-04-29 2014-11-06 아주대학교산학협력단 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법
CN114064995A (zh) * 2021-11-18 2022-02-18 大连海事大学 一种路网环境下基于位置的静态skyline查询方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040052428A (ko) * 2002-12-17 2004-06-23 현대자동차주식회사 네비게이션의 경로 재설정 방법
KR20040110256A (ko) * 2003-06-18 2004-12-31 팅크웨어(주) 경로 탐색 방법 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040052428A (ko) * 2002-12-17 2004-06-23 현대자동차주식회사 네비게이션의 경로 재설정 방법
KR20040110256A (ko) * 2003-06-18 2004-12-31 팅크웨어(주) 경로 탐색 방법 및 시스템

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101423031B1 (ko) 2012-08-22 2014-08-14 아주대학교산학협력단 도로 네트워크에서 움직이는 k-최근접 질의의 안전 출구 위치를 계산하는 방법
WO2014178582A1 (ko) * 2013-04-29 2014-11-06 아주대학교산학협력단 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법
US9752888B2 (en) 2013-04-29 2017-09-05 Ajou University Industry-Academic Cooperation Foundation Method and apparatus of computing location of safe exit for moving range query in road network
CN114064995A (zh) * 2021-11-18 2022-02-18 大连海事大学 一种路网环境下基于位置的静态skyline查询方法
CN114064995B (zh) * 2021-11-18 2024-05-28 大连海事大学 一种路网环境下基于位置的静态skyline查询方法

Similar Documents

Publication Publication Date Title
Zhang et al. Location-based spatial queries
Jensen et al. Nearest neighbor queries in road networks
US7627545B2 (en) Geocoding method using multidimensional vector spaces
Gao et al. Efficient collective spatial keyword query processing on road networks
USRE44876E1 (en) Proximity search methods using tiles to represent geographical zones
EP2795255B1 (en) System and method for using skyline queries to search for points of interest along a route
Shen et al. V-tree: Efficient knn search on moving objects with road-network constraints
CN108536704B (zh) 一种轨迹查询方法、系统及装置
JP2012174272A (ja) データベースをサーチする方法、索引構造を生成するナビゲーションデバイスおよび方法
CN109902711B (zh) 一种时间依赖路网上的移动对象k近邻查询算法
Zhang et al. Efficient cache-supported path planning on roads
KR101025360B1 (ko) 도로 네트워크 상에서 k-최근접 이웃 검색을 위한 최단 경로 탐색 방법 및 장치
CN107633068A (zh) 滑动窗口下基于位置top‑k关键词查询的快速索引方法及系统
KR100863228B1 (ko) 도로 네트워크 데이터베이스를 위한 근사 인덱싱 방법
CN107451302A (zh) 滑动窗口下基于位置top‑k关键词查询的建模方法及系统
Nutanong et al. Memory-efficient algorithms for spatial network queries
CN104794175B (zh) 基于度量k最近对的景点和酒店最佳配对方法
Huang et al. Frequent pattern-based map-matching on low sampling rate trajectories
CN109900271B (zh) 地形匹配定位中有效伪波峰估计与多点融合初始定位方法
KR20070046384A (ko) 경로 상의 최근접 객체 검색 방법
KR20160135907A (ko) R 트리 인덱스 기반의 확장된 최근접 공간개체 탐색 장치 및 방법
Barua et al. Weighted optimal sequenced group trip planning queries
Grossi et al. Finding structurally and temporally similar trajectories in graphs
CN110096564B (zh) 一种基于bim+gis的路线点定位方法、装置及系统
Chen et al. Ranking based activity trajectory search

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131017

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151113

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee