KR20040095751A - 위치 및 정밀도 인코딩을 위해 그리드 인덱스를 사용하는시스템 및 방법 - Google Patents

위치 및 정밀도 인코딩을 위해 그리드 인덱스를 사용하는시스템 및 방법 Download PDF

Info

Publication number
KR20040095751A
KR20040095751A KR1020040032521A KR20040032521A KR20040095751A KR 20040095751 A KR20040095751 A KR 20040095751A KR 1020040032521 A KR1020040032521 A KR 1020040032521A KR 20040032521 A KR20040032521 A KR 20040032521A KR 20040095751 A KR20040095751 A KR 20040095751A
Authority
KR
South Korea
Prior art keywords
grid
location
latitude
computer
longitude
Prior art date
Application number
KR1020040032521A
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 마이크로소프트 코포레이션
Publication of KR20040095751A publication Critical patent/KR20040095751A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/275Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips implemented by means of portable electronic directories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Remote Sensing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Instructional Devices (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 시스템 및 방법은 데이타베이스 엔트리의 좌표값의 정밀도 추정치를 조합하여 정밀도 정보가 1차원 인덱스의 일부로서 포함되도록 하기 위한 것이다. 이것은 그리드의 크기가 좌표값의 정밀도와 관련된 계층적인 인덱스를 구성함으로써 이루어진다. 그리드 인덱스는 n차원 공간을 그리드 공간의 그리드 유닛으로의 규칙적인 파티션으로 그리딩하는 것이며, 이 때 공간 내의 한 점 x에 있어서, 점 x를 포함하는 그리드에 대한 고유 정수값을 검색하는 함수 index(x), 및 스케일 s에서 인덱스 y와 관련된 한 점을 되돌리는 함수 coordinate(y,s)가 존재한다. 계층적인 그리드 인덱스는 실제로 상이한 크기의 그리드 유닛을 갖는, 동일한 공간 상에 놓인 다수의 그리드 인덱스이다. 이러한 경우에, 각각의 함수는 사용하는 그리드 유닛의 크기를 지정하는 추가 인수를 사용하다. 따라서, 그리드 크기 s는 그리드 크기의 집합 S로부터 얻어지는 것으로 가정하면, Index(x,s)는 점 x를 포함하는 크기 s의 그리드에 대한 고유 정수값을 되돌린다. 계층적인 인덱스는 데이타베이스 질의의 성능을 높이는 데 사용될 수 있다. 작은 그리드 크기 ssmall로부터 결과를 찾는 질의는 큰 그리드 크기 slarge에서 일치를 찾지 못한다. 유사한 계산이 유한 지역 A에 대하여 수행될 수 있다.

Description

위치 및 정밀도 인코딩을 위해 그리드 인덱스를 사용하는 시스템 및 방법{A SYSTEM AND METHOD EMPLOYING A GRID INDEX FOR LOCATION AND PRECISION ENCODING}
본 발명은 위치 및 정밀도 인코딩을 위한 시스템 및 방법에 관한 것이다. 더 상세하게는, 본 발명은 데이타베이스 엔트리의 좌표값의 정밀도 추정치를 조합하여 정밀도 정보가 1차원 인덱스의 일부로서 포함되도록 하기 위한 시스템 및 방법에 관한 것이다.
지리 정보 시스템(GIS)은 부분적으로 그의 지리학 관련성에 의해 목록화된 체계화된 정보 데이타베이스이다. 종종, 이러한 데이타베이스는 수 100만 또는 수10억(또는 그 이상) 개 정도의 데이타 요소를 포함하고, 그 각각은 특정 지리학적 위치와 관련된다. 예를 들어, 각각의 사진이 찍혀진 위치와 관련된 국제 사진 데이타베이스를 생각해보자.
최신 관계형 데이타베이스가 자신이 포함하고 있는 데이타의 검색 속도를 높이기 위하여 다양한 알고리즘 최적화를 수행하더라도, 특정 태스크에 있어서는 여전히 비효율적이다. 예를 들어, 데이타베이스는 2차원 이상에서 범위를 정하는 질의를 수행하는 데 비교적 취약하다. 이것은 "값 X가 x1과 x2 사이에 있고, 값 Y가 y1과 y2 사이에 있고, 값 Z가 z1과 z2 사이에 있는 모든 데이타를 검색"하는 형식의 질의다(다시, 데이타 요소의 수가 비교적 작다면 최신의 데이타베이스는 이러한 유형의 질의도 잘 다룰 수 있지만, 연역적으로 데이타의 형식을 알 수 없기 때문에 효율성 대신에 부득이 일반성을 위하여 설계되며, 많은 양의 데이타에 대하여는 아직도 비효율적이다).
더욱이, 일부 GIS 시스템에서, 요소는 지리적학적으로 상이한 스케일에서 지리학적 영역과 관련하고, 질의는 일정 범위의 스케일에 대해 상에서 수행될 수 있다. 예를 들어, 사진 데이타베이스에서, 한 항목은 뉴욕시 전체와, 또는 더 상세하게 엠파이어 스테이트 빌딩을 나타내는 도시 블록과 관련될 수 있다. 특정 유형의 질의에서, 뉴욕시에서 찍은 사진에 대하여 질의할 때 엠파이어 스테이트 빌딩에서 찍은 모든 항목을 검색하는 것이 유용할 수 있지만, 그 반대는 바람직하지 않을 수 있다. 즉, 뉴욕시에서 찍은 모든 사진이 엠파이어 스테이트 빌딩에 대한 질의와 관련되는 것은 아닐 것이다.
그러므로, 데이타베이스의 대형화와 관계없이, 특정 스케일 및 finer에서의 위치 기반 질의에 대한 검색 성능이 최적화되는 위치-태그된 데이타의 데이타베이스를 생성할 수 있는 시스템 및 방법이 필요하다.
데이타베이스의 용량과 관계없이, 특정 스케일 및 더 미세한 스케일에서 위치 기반 질의에 대한 검색 성능이 최적화되는 위치-태그된 데이타의 데이타베이스를 생성할 수 있는 시스템 및 방법이 필요하다.
도 1은 본 발명을 구현하기 위한 예시적인 시스템을 구성하는 범용 컴퓨팅 장치를 도시한 도면.
도 2는 본 발명에 따라 각 점이 그리드 시리즈로 표현되는, 그리드 인덱스 시리즈를 계산하는 데이타베이스를 생성하는 전반적인 처리의 단순화된 흐름도.
도 3a은 위도 및 경도가 유클리드 좌표 시스템 상에서 x-y 쌍으로서 나타나고 지구가 20개의 상이한 해상도로 그리딩되는 본 발명의 일 실시예의 단순화된 흐름도.
도 3b는 래스터 주사 순서로 도 3a의 각각의 그리드를 인덱싱하는 처리 동작의 단순화된 흐름도.
도 4는 본 발명의 일 실시예에서 사용되는 좌표 및 정밀도 인덱싱에 대한 그리딩을 도시. 도 4(a)에서 굵게 윤곽이 그려진 유사 직사각형 영역은 지구 상의 20도×20도 "사각형"을 나타낸다. 도 4(b)에서, 동일한 그리드가 등직사각형 투영법(equirectangular projection)을 이용하여 투영되어, 어두운 선은 10도 사각 그리드로 세분하고, 회색 선은 5도 그리드로 분할한다. 도 4(c)는 주어진 정밀도에서 더 높은 점 정확도를 위해 사용되는 중복된 그리드를 도시한다. 더 큰 사각형각각은 동일한 정밀도를 갖지만, 중복된 그리드 유닛으로부터 얻어지는 단일 그리드이다. 도트들이, 도시된 정밀도에서의 항목의 위도/경도 좌표를 나타낸다면, 굵은 도트들만이 왼쪽 꼭대기의 그리드에 속할 것이다.
도 5는 본 발명에 따른 시스템 및 방법에서 사용되는 데이타베이스 질의의 흐름도를 도시.
도 6은 본 발명에 따른 시스템 및 방법의 일 실시예에서 사용되는 예시적인 데이타베이스 구조를 도시.
<도면의 주요 부분에 대한 부호의 설명>
602 : 위치 엔터티 ID
604 : 위도 및 경도
606 : 그리드 스케일
본 발명은 데이타베이스 엔트리의 좌표값의 정밀도 추정치를 조합하여 그리드의 크기가 좌표값의 정밀도와 관련된 계층적인 인덱스를 구성함으로써 정밀도 정보가 1차원 인덱스의 일부로서 포함되도록 하기 위한 시스템 및 방법에 관한 것이다.
그리드 인덱스는 n차원 공간을 그리드 유닛을 형성하는 그리드 공간의 규칙적인 파티션으로 그리딩하는 것이며, 이 때 공간의 한 점 x에 있어서, 점 x를 포함하는 그리드에 대한 고유 정수 값을 검색하는 함수 index(x)가 존재한다. 계층적인 그리드 인덱스는 실제로 상이한 크기의 그리드 유닛을 갖는, 동일한 공간 상에 놓인 다수의 그리드 인덱스이다. 이러한 경우에, 각각의 함수는 사용하는 그리드 유닛의 크기를 지정하는 추가 인수를 필요로한다. 따라서, 그리드 크기 s가 그리드 크기의 집합 S로부터 얻어지는 것으로 가정하면, Index(x,s)는 점 x를 포함하는 크기 s의 그리드에 대한 고유 정수 값을 되돌린다. 계층적인 인덱스는 데이타베이스 질의의 성능을 높이는 데 사용될 수 있다. 작은 그리드 크기 ssmall로부터 결과를 찾는 질의는 큰 그리드 크기 slarge에서 일치를 찾지 못한다.
유사한 계산이 유한 지역 A에 대하여 수행될 수 있다. 즉, 공간 내의 유한 지역 A에 있어서 지역 A를 전부 포함하는 그리드에 대한 고유 정수 값을 검색하는 함수 index(A)가 존재하는 그리드 인덱스가 사용될 수 있다.
일반적으로, 데이타베이스 엔트리의 좌표값의 정밀도 추정치가 조합되어 정보가 1차원 인덱스의 일부로서 포함될 수 있도록 하는 데이타베이스를 획득하기 위하여, 하나 이상의 위치 엔터티가 본 발명에 따른 시스템 및 발명에 입력된다. 그 후에 그리드 인덱스 시리즈가 계산되는데, 각각의 그리드는 각각의 위치 엔터티의 위치를 통합시키는 그리드 시리즈로서 나타난다. 이 그리드 인덱스 시리즈는 데이타베이스로 출력될 수 있다.
더 상세하게, 본 발명에 따른 시스템 및 방법의 일 실시예는 등직사각형 투영법("투영되지 않은 위도/경도"라고도 알려짐)을 사용하며, 이 때 위치 엔터티의 위도/경도(lat/long) 값은 유클리드 좌표 시스템 상의 직선 x-y 쌍으로서 취해져 시스템에 입력된다. 다음으로, 지구는 20개의 상이한 해상도로 변(side)이 20×(1/2)r도(0≤r<20)에 대응하는 "사각" 유닛으로 그리딩된다. 적도에서, 이러한 값은 ~240㎞에서 ~0.5m에 이르는 스케일에 대응한다. 다음으로, 각각의 그리드는 래스터 주사 순서로 인덱스된다. 따라서, 측정 오류가 주로 표준 편차미터로 정상 분포되는 것으로 예상되는 주어진 위도/경도 좌표 (long, lat)는 다음과 같이인덱스될 것이다. 먼저, 3미터에 대응하는 각도에서의 경도 범위 d=[180(3)cos(lat)]/kπ가 결정되며, 이 때 k는 미터 단위의 지구의 원주(4×108m)이다. 다음으로, 정밀도의 각도-스케일 r은 d보다 큰 해상도의 이산 유닛인 것으로 결정된다. 즉이다. 마지막으로, 좌표 (long, lat)는 인덱스 l에 맵핑된다.
이 인덱스에 맵핑된 좌표는 데이타베이스로 출력될 수 있다. 위도/경도 값을 복구하기 위하여, 이 연산은 다음과 같이 변환되며, 이 때 '%'는 계수 연산자이고 r/2항은 그리드에서 되돌려진 값의 중심을 나타낸다.
전술된 표현은 2D 위도/경도 좌표를 정밀도와 함께 편리하게 패키지화하며, 그것은 단일 8바이트 인덱스를 갖는 데이타베이스 내의 항목을 인덱싱하는 데 사용될 수 있다. 질의가 특정 그리드 내의 전체 항목에 대하여 발생되면, 주어진 그리드보다 더 정밀한 위치 태그를 가진 항목을 검색하도록 복수의 질의를 해야할 것이다. 넓은 지역에 대하여 취해진 모든 항목에 대한 질의는 계산상 비용 및 시간 소모적이다. 이것을 피하기 위하여, 20개의 필드(그리드 해상도 당 하나)가 사용되어, 그 각각은 특정 정밀도에서의 항목의 위치를 나타낸다. (long, lat) 및 정밀도 r*을 갖는 주어진 항목에 있어서, r≥r*인 모든 r에 대하여 lr이 계산되고, r<r*에 대하여는 널값이 할당된다. 이러한 스킴은, 정밀도 r에서의 위치를 나타내는 필드에 대한 단일 일치 질의로, 정밀도 r에서 특정 그리드 내에서 발생하는 것으로 알려진 항목 전체에 대해 질의하는 것을 허용한다. 그리드가 교차하더라도 위치-태그 정밀도가 질의받는 것보다 떨어지는 항목은 되돌려지지 않는다는 것을 유념한다.(이것은 계층적인 그리드 인덱스의 표준 사용법을 변환함).
전통적인 데이타베이스 스키마에서 일반적인 것과 같이, 본 발명에 따른 시스템 및 방법은 다 차원의 질의를 생성하는 데 걸리는 시간의 극히 일부에 매우 방대한 데이타베이스에 질의할 수 있다는 것에 장점을 갖는다.
전술한 장점 외에, 본 발명의 다른 장점이 첨부 도면과 관련하여 이하 상세한 설명으로부터 명백해질 것이다.
본 명세서에서, 설명은 괄호 안의 번호 지시자에 의해 식별되는 다양한 개별 표시를 참조한다는 것을 유념한다. 예를 들어, 그러한 참조는 "참조[1]" 또는 간단히 "[1]"을 기술함으로써 식별될 수 있다. 각각의 지시자에 대응하는 표시의 목록은 본 섹션의 마지막에서 찾아볼 수 있다.
본 발명의 상세한 특징, 양태 및 장점은 다음의 설명, 첨부 청구항 및 첨부 도면과 관련하여 더 잘 이해될 것이다.
본 발명의 바람직한 실시예의 다음 설명에서, 본 발명의 일부를 형성하는 첨부 도면을 참조하며, 이 때 본 발명이 실행될 수 있는 특정 실시예의 방법에 의해도시된다. 다른 실시예가 사용될 수 있으며 본 발명의 범주에서 벗어나지 않는 구조적 변경이 있을 수 있다는 것이 이해된다.
1.0 예시적인 오퍼레이팅 환경
도 1은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경의 예(100)를 도시한다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례일 뿐이며, 본 발명의 사용 또는 기능의 범주에 관하여 어떤 제한도 제시하지 않는다. 컴퓨팅 환경(100)은 예시적인 오퍼레이팅 환경(100)에서 도시되는 임의의 컴포넌트 또는 그 조합에 관련하여 어떤 종속성 또는 요구 사항을 갖는 것으로 해석되면 안된다.
본 발명은 다수의 기타 범용 또는 특수 목적 컴퓨팅 환경 또는 구성과 함께 동작한다. 본 발명과 함께 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 셋탑 박스, 프로그램 가능한 전자 제품, 네트워크 PC, 미니컴퓨터, 미니프레임 컴퓨터, 임의의 전술한 시스템 또는 장치를 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이것으로 제한되는 것은 아니다.
본 발명은 프로그램 모듈과 같이 컴퓨터에 의해 실행되는 컴퓨터 실행가능한 명령의 일반 문맥에서 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이타 타입을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이타 구조 등을 포함한다. 본 발명은 통신 네트워크를 통하여 연결되는 원격 처리 장치에 의해 태스크가 처리되는 분산 컴퓨팅 환경에서도 실용적일 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 양자 내에 위치될 수 있다.
도 1을 참조하여, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(110) 형식의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트는 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함한 다양한 시스템 컴포넌트를 프로세싱 유닛(120)에 연결하는 시스템 버스(121)를 포함할 수 있지만, 이것으로 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 제어기, 주변 장치 버스, 및 다양한 버스 아키텍쳐 중 임의의 것을 사용하는 로컬 버스를 포함한 여러 가지 유형의 버스 구조 중 임의의 것이 될 수 있다. 예를 들어, 그러한 아키텍쳐는 ISA(Industry Standard Architechture) 버스, MCA(Micro Channel Architechture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌 버스로서도 알려진 PCI(Peripheral Component Interconnect) 버스를 포함하지만, 이것으로 제한되는 것은 아니다.
컴퓨터(110)는 일반적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 사용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체와 분리형 및 비분리형 매체 양자를 포함한다. 예를 들어, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있으나, 이것으로 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이타 구조, 프로그램 모듈 또는 기타 데이타와 같은 정보의 저장에 대한 임의의 방법 또는 기술에서 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체 양자를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD_ROM, DVD(Digital Versatile Disks) 또는 기타 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 요구되는 정보를 저장하는 데 사용되고 컴퓨터(110)에 의해 액세스될 수 있는 임의의 기타 매체를 포함하지만, 이것으로 제한되는 것은 아니다. 통신 매체는 일반적으로 컴퓨터 판독가능 명령, 데이타 구조, 프로그램 모듈, 또는 반송파 또는 기타 전송 매커니즘과 같은 변조된 데이타 신호 내의 기타 데이타를 포함하며, 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이타 신호"는 하나 이상의 특성 집합을 갖거나 신호 내의 정보를 부호화하는 방법으로 변경된 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함하지만, 이것으로 제한되는 것은 아니다. 전술된 것의 임의의 조합도 컴퓨터 판독가능 매체의 범주 내에 포함되어야 한다.
시스템 메모리(130)는 ROM(Read Only Memory)(131) 및 RAM(Random Access Memory)(132)과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시작 동안과 같이 컴퓨터(110) 내의 요소 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(133)(BIOS)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 프로세싱 유닛(120)에 의해 즉시 액세스 가능하며/가능하거나 현재 수행되고 있는 데이타 및/또는 프로그램 모듈을 포함한다. 예를 들어, 도 1은 오퍼레이팅 시스템(134), 어플리케이션프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이타(137)를 도시하지만, 이것으로 제한되는 것은 아니다.
컴퓨터(110)는 기타 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수도 있다. 예를 들어, 도 1은 비분리형, 비휘발성 자기 매체로부터 판독하거나 그것에 기록하는 하드 디스크 드라이브(141), 분리형, 비휘발성 자기 디스크(152)로부터 판독하거나 그것에 기록하는 자기 디스크 드라이브(151), 및 CDROM 또는 기타 광 매체와 같은 분리형, 비휘발성 광 디스크(156)로부터 판독하거나 그것에 기록하는 광 디스크 드라이브(155)를 도시한다. 예시적인 오퍼레이팅 환경에서 사용될 수 있는 기타 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 반도체 RAM, 반도체 ROM 등을 포함하며, 그것으로 제한되는 것은 아니다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140)와 같은 anon-분리형 메모리 인터페이스를 통하여 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 일반적으로 인터페이스(150)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
도 1에서 도시되고 전술된 드라이브 및 그와 관련된 컴퓨터 저장 매체는 컴퓨터(110)에 대한 컴퓨터 판독가능 명령, 데이타 구조, 프로그램 모듈 및 기타 데이타의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 오퍼레이팅 시스템(144), 어플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이타(147)로서 도시된다. 이러한 컴포넌트는 오퍼레이팅 시스템(134),어플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이타(137)와 동일하거나 상이할 수 있다. 오퍼레이팅 시스템(144), 어플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이타(147)는 적어도 그들이 복사본이라는 것을 나타내기 위하여 여기서 상이한 참조번호를 부여 받는다. 사용자는 키보드(162) 및 주로 마우스, 트랙볼, 또는 터치 패드로 나타나는 포인팅 장치(161)와 같은 입력 장치를 통하여 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 기타 입력 장치(도시되지 않음)는 조이 스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이러한 및 기타 입력 장치는 보통 시스템 버스(121)에 연결된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 접속되지만 병렬 포트, 게임 포트, 또는 USB(Universal Serial Bus)와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(191) 또는 기타 유형의 디스플레이 장치도 비디오 인터페이스(190)와 같은 인터페이스를 통하여 시스템 버스(121)에 접속된다. 모니터 뿐만 아니라, 컴퓨터는 출력 주변 장치 인터페이스(195)를 통하여 접속될 수 있는 스피커(197) 및 프린터(196)와 같은 기타 주변 출력 장치도 포함할 수 있다. 본 발명의 특정 취지로, 일련의 이미지를 캡쳐링(164)할 수 있는 디지털/전자 사진 또는 비디오 카메라, 또는 영화/사진 스캐너와 같은 카메라(163)도 퍼스널 컴퓨터(110)에 입력 장치로서 포함될 수 있다. 더욱이, 하나의 카메라만 도시되었지만, 복수의 카메라가 퍼스널 컴퓨터(110)에 입력 장치로서 포함될 수 있다. 하나 이상의 카메라로부터의 이미지(164)는 적합한 카메라 인터페이스(165)를 통하여 컴퓨터(110)에 입력될 수 있다. 마이크로폰(168)도 카메라와 관련되어하나 이상의 카메라와 관련된 인터페이스(165)로 컴퓨터(110)에 입력할 수 있다. 이러한 인터페이스(165)는 시스템 버스(121)에 접속되므로, 이미지가 RAM(132) 또는 컴퓨터(110)와 관련된 기타 데이타 저장 장치 중 하나에 라우트되고 저장되는 것을 허용한다. 그러나, 이미지 데이타는 카메라(163)의 사용을 요구하지 않고 전술된 컴퓨터 판독가능 매체로부터 컴퓨터(110)에 입력될 수도 있다는 것을 유념한다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하는 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 흔한 네트워크 노드일 수 있으며, 단일 메모리 저장 장치(181)만 도 1에 도시되었지만, 컴퓨터(110)과 관련하여 전술된 다수의 또는 전부를 일반적으로 포함한다. 도 1에 도시되는 논리적 접속은 LAN(local area network)(171) 및 WAN(wide area network)(173)을 포함하지만, 기타 네트워크도 포함할 수 있다. 그러한 네트워킹 환경은 사무실, 기업형 컴퓨터 네트워크, 인트라넷, 및 인터넷에서 흔하다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어답터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때는, 컴퓨터(110)는 일반적으로 모뎀(172), 또는 인터넷과 같은 WAN(173) 상의 통신을 수립하기 위한 기타 수단을 포함한다. 외장형 또는 내장형일 수 있는 모뎀(172)는 사용자 입력 인터페이스(160), 또는 기타 적합한 메커니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(110)와 관련하여 도시된 프로그램 모듈, 또는 그것의 부분은 원격 메모리 저장 장치 내에 저장될 수 있다. 예를 들어, 도 1은 원격 어플리케이션 프로그램(185)을 메모리 장치(181) 상에 존재하는 것으로서 도시하지만, 이것으로 제한되는 것은 않는다. 네트워크 접속이 예시적인 것이며 컴퓨터 간의 통신 연결을 수립하는 기타 방법이 사용될 수 있음이 알려질 것이다.
예시적인 오퍼레이팅 환경이 지금까지 설명되었고, 이 설명 섹션의 남은 부분에서는 본 발명을 구현하는 프로그램 모듈에 대하여 설명될 것이다.
2.0 위치 및 정밀도 코딩에 대하여 그리드 인덱스를 사용하는 시스템 및 방법.
2.1 개관
본 발명은 데이타베이스 엔트리의 좌표값의 정밀도 추정치를 조합하여 그리드의 크기가 좌표값의 정밀도와 관련된 계층적인 인덱스를 구성함으로써 정밀도 정보가 1차원 인덱스의 일부로서 포함되도록 하기 위한 시스템 및 방법에 관한 것이다. 계층적인 그리드 인덱스는 동일한 공간 상에 놓여진 다수의 그리드 인덱스로부터 형성된다. 그리드 인덱스는 n차원 공간을 그리드 공간의 그리드 유닛으로의 규칙적인 파티션으로 그리딩하는 것이며, 이 때 공간 내의 한 점 x에 있어서, 점 x를 포함하는 그리드에 대한 고유 정수값을 검색하는 함수 index(x)가 존재한다. 계층적인 그리드 인덱스는 실제로 상이한 크기의 그리드 유닛을 갖는, 동일한 공간 상에 놓여진 다수의 그리드 인덱스이다. 이러한 경우에, 각각의 함수는 사용하는 그리드 유닛의 크기를 지정하는 추가 인수를 사용한다. 따라서, 그리드 크기 s가 그리드 크기 집합 S로부터 얻어지는 것으로 가정하면, Index(x,s)는 점 x를 포함하는 크기 s의 그리드에 대한 고유 정수값을 되돌린다. 계층적인 인덱스는 데이타베이스 질의의 성능을 높히는 데 사용된다. 작은 그리드 크기 ssmall로부터 결과를 찾는 질의는 큰 그리드 크기 slarge에서 일치를 찾지 못한다.
유사한 계산이 유한 지역 A에 대하여 수행될 수 있다. 즉, 그리드 인덱스가 사용되어, 공간 내의 유한 지역 A에 있어서, 지역 A를 전부 포함하는 그리드에 대한 고유 정수값을 검색하는 함수 index(A)가 존재할 수 있다.
도 2는 , 데이타베이스를 생성하는 처리 동작의 단순화된 흐름도를 도시하며, 여기서 데이타베이스 엔트리의 좌표값의 정밀도 추정치가 조합되어 정보가 1차원 인덱스의 일부로서 포함되도록 한다. 이것은 그리드의 크기가 좌표값의 정밀도와 관련되는 계층적인 인덱스를 구성함으로써 행해진다. 가장 일반적인 경우에, 처리 동작(202)에서 도시되는 바와 같이 위치 엔터티가 입력된다. 위치 엔터티는 한 점 또는 유한한 지역일 수 있다. 그 후 그리드 인덱스 시리즈가 계산되며, 이 때 각각의 그리드는 각각의 위치 엔터티{처리 동작(204)}의 위치를 통합시키는 그리드 시리즈로서 나타난다. 이 인덱스 시리즈는 데이타베이스{처리 동작(206)}로 출력될 수 있다.
다음 단락는 본 발명에 따른 시스템 및 방법을 더 상세하게 논의한다.
2.2 위치 표현
현실 세계의 오브젝트를 유일하게 위치시키기 위하여 2차원 위치 (및 시간) 외의 매개변수가 필요하다. 이것은 방위 지정의 3도에 달하는 고도를 포함하며,해당 오브젝트가 무엇인지에 따라 기타 매개변수들을 포함할 수 있다. 이러한 논의에서, 고찰은 남아있는 매개변수를 통합시키는 보다 넓은 이해를 위한 처리하기 쉬운 제1 단계이므로, 2D 위치로 제한된다. 그러나, 본 발명에 따른 시스템 및 방법은 멀티-차원의 위치 정보를 처리할 수 있다는 것을 유념해야 한다.
지리 참조, 또는 위치가 표시되는 방법은 GIS에서 근본적인 이슈이다. 위치는 설립된 장소 이름("샌프란시스코"), 사용자 의존적인 장소 이름("Grandma's house"), 도로 주소, 우편 번호, 위도/경도 좌표, 임의의 기원과 관련한 유클리드 조합 등의 다수의 방법으로 표시될 수 있다.
대다수의 지리 정보 시스템(GIS) 프로젝트는 지리적 지점 좌표를 지정하는 WGS84 기준과 관련하여 정의된 좌표와 함께 위도 및 경도 좌표(차후 위도/경도로 표기)를 사용한다. 이 스킴은 지점 위치를 나타내는 간결하고 입증된 방법을 제공하기 때문에 지구 상의 지점을 지정하는 방법으로서 뒤따른다.
열람 및 상호 작용을 위하여, 2개의 추가적인 유형의 위치 데이타 구조가 필요하다. 그 중 하나는 지도 및 질의를 위한 것으로서, 디스플레이 시 지도에 대응하는 물리적 영역의 개념이다. 다른 하나는 메타데이타-태그를 위한 것으로서, 위도/경도 좌표와 정밀도 또는 해상도의 측정방법 양자를 포함하는 데이타 타입이다.
지도는 대부분 2D 화면 상에서 직사각형으로서 디스플레이된다. 그래서, 지도를 표시하기 위하여, 지역 타입이라고 칭해지고 중심의 위도/경도에 의해 정의되는 구조가 사용되며, 킬로미터 단위의 폭 및 높이가 각각 중심 지점으로부터 측정되고 위도 및 경도의 선을 따른다. 이것은 3D 지구 상의 4개의 대권 호에 의해 둘러쌓인 "직사각형"인 지구 상의 유일한 지역을 정의한다. 2D에 투영시, 지역은 투영법 유형, 스케일 및 지구 상의 위치에 따라서 직선으로부터 약간 빗나갈 수 있는 변을 갖는 사각형으로 개략적으로 나타난다.
데이타 항목의 위치 태그에 대하여, 엠파이어 스테이트 빌딩과 관련된 항목과 더 정밀하지 않은 레벨인 뉴욕 시티와 관련된 것으로 알려진 항목을 구별하기 위하여, 위도/경도 및 정밀도의 일부 표시를 나타내고자 한다. 우선적인 일은 대량일 수 있는 항목에 대한 데이타베이스로부터의 신속한 검색이다. 선반 재고 관계형 데이타베이스에서, 데이타베이스 엔트리가 단일 숫자에 의해 인덱스될 수 있는 경우, 질의는 최적화될 수 있다. 따라서, 본 발명에 따른 시스템 및 방법은 위도/경도 및 정밀도의 3개의 연속적인 변수를 단일 이산 인덱스로 축소시킬 수 있는 스킴을 사용한다. 이 기준을 수행하는 공간 데이타 구조는 DGGSs(discrete global grid system)라 칭해지며, 그 일부 예가 테이블 1에서 주어진다.
도 3a, 도 3b, 및 도 4와 관련하여, 본 발명에 따른 시스템 및 발명의 일 실시예는 직사각형 유사 투영법("프로젝트되지 않은 위도/경도"라고도 알려짐)을 사용하며, 여기서 위도/경도 값은 유클리드 좌표 시스템{도 4(b)를 참조} 상의 직선 x-y 쌍으로서 취해져 시스템에 입력된다{도 3a의 처리 동작(302)}. 처리 동작(304)에서 도시되는 바와 같이, 지구는 20개의 상이한 해상도로 변(side)이 20×(½)r도(0≤r<20)에 대응하는 "사각형" 유닛으로 그리딩된다. 적도에서는, 이러한 값은 ~240㎞에서 ~0.5m에 이르는 스케일에 대응한다. 더 높은 또는 더 낮은 정밀도가 요구되면, 그리딩은 더 많은 또는 더 적은 해상도로 발생할 수 있다.
다음으로, 처리 동작(306)에서 도시되는 바와 같이, 각각의 그리드는 래스터-주사 순서로 인덱스된다. 따라서, 측정 오류가 주로 표준 편차미터로 분포되는 것으로 예상되는 주어진 경도/위도 좌표 (long,lat)는 다음과 같이 인덱스될 것이다. 우선, 도 5의 처리 동작(306a)에서 도시되는 바와 같이, 3미터에 대응하는 각도에서의 경도 범위 d:[180(3)cos(lat)]/kπ가 결정되며, 이 때 k는 미터 단위의 지구의 원주(4×108m)이다. 다음으로, 처리 동작(306b)에서 도시되는 바와 같이, 정밀도의 각도-스케일 r은 d보다 큰 해상도의 이산 유닛인 것으로 결정된다(). 마지막으로, 처리 동작(308)에서 도시되는 바와 같이, 좌표 (long,lat)은 인덱스 l에 맵핑된다.
인덱스에 맵핑된 좌표는 데이타베이스로 출력{처리 동작(310)}될 수 있다. 위도/경도 값을 복구하기 위하여, 이 연산은 수학식 (2)로 변환되며, 이 때 '%'는 계수 연산자이고 r/2는 그리드에서 되돌려진 값의 중심을 의미한다.
물론, 수학식 1의 플로어 연산으로 인해, 값을 편리하게 항목의 위치 측정의 정밀도인 ±r/2로만 복구시킬 수 있다. r이 감소함에 따라, 정밀도는 요구되는 대로 0에 수렴한다. 이러한 그리드는 일반적으로 물리적인 지역 오브젝트에 대응하지 않지만, 특정 지역에서 발생하는 그리드 유닛은 지역과 중복되는 유닛을 열거함으로써 쉽게 결정될 수 있다는 것을 유념한다. 더 높은 정확도가 필요하면, 좌표가 그 중심이 가장 근접한 사각형에 맵핑되어, 각각의 스케일에서의 그리드를 중복시킨다(도 3c 참조).
2.3 그리드 유형
직사각형 유사 투영법으로 사각형 그리드를 사용하는 것은 직관적인 것이며 데이타베이스 질의를 효율적으로 유지시킨다. 그러나, 그것은 동일한 인덱싱 스케일에서의 그리드 유닛의 물리적인 크기 및 모양이 특히 극 주위에서 왜곡된다는 점에서 세련되지 못하다. 그러나, 다른 그리딩 스킴이 사용될 수 있다. 본 발명의 일 실시예에서, 최소의 지역 변화 및 모양 왜곡을 갖고, 플라톤의 입체에 포함되는 계층적인 등변 다각형 시리즈를 사용하는 그리딩 스킴이 사용된다. 이 그리딩 스킴의 주요 장점은, 고정 스케일에서, 유닛이 유사한 크기와 모양을 갖는다는 것이다. 물론, 그리드 인덱스가 부여된 좌표, 및 좌표가 부여된 그리드 인덱스를 결정하기 위한 수학식이 이러한 대안적인 스킴에 적응되어야 한다.
2.3 위치 데이타베이스 스키마 설계
편리하게 전술된 표현은 2D 위도/경도 좌표를 정밀도와 함께 패키지화하며, 그것은 단일 8바이트 인덱스를 갖는 데이타베이스 내의 항목을 인덱싱하는 데 사용될 수 있다.
질의가 특정 그리드 내의 모든 항목에 대하여 발생하면, 복수의 질의가, 주어진 그리드보다 더 정밀한 위치 태그를 갖는 항목을 검색하도록 해야할 것이다. 넓은 지역에 대하여 취해진 모든 항목에 대한 질의는 계산상 비용 및 시간 소모적일 것이다.
이것을 피하기 위하여, 20개의 필드(그리드 해상도 당 하나)가 사용되어, 일 실시예에서, 그 각각은 특정 정밀도에서의 항목의 위치(예를 들어, 위치 엔터티)를 나타낸다. (long,lat) 및 정밀도 r*에서의 주어진 항목 lr에 있어서, r≥r*인 모든 r에 대하여 수학식 (1)이 계산되고, r<r*에 대하여는 널 값이 할당된다. 이러한 스킴은, 정밀도 r에서의 위치를 나타내는 필드에 대한 단일 일치 질의로, 정밀도 r에서 특정 그리드 내에서 발생하는 것으로 알려진 항목 전체에 대해 질의하는 것을 허용한다. 그리드가 교차하더라도 위치-태그 정밀도가 질의받는 것보다 떨어지는 항목은 되돌려지지 않는다는 것을 유념한다.(이것은 계층적인 그리드 인덱스의 표준 사용법을 변환함). 즉, 임의의 맨하탄 블록 내에서 취해진 모든 항목에 대하여 검색한다면, 해당 그리드 유닛에 대한 질의는 뉴욕 시티 내의 임의의 장소와 관련된 것으로만 알려진 항목을 되돌리지 않을 것이다.
도 5에서, 본 발명의 시스템 및 방법에 의해 구성된 데이타베이스의 데이타베이스로부터의 요구되는 데이타를 검색하는 처리 동작의 흐름도가 도시된다. 처리 동작(502)에서 도시되는 바와 같이, 사용자는 주어진 스케일 S에서의 주어진 셀 y 내의 모든 위치 엔터티를 되돌리도록 데이타베이스에 질의한다. 그러면, 요구되는 스케일에 대응하는 데이타베이스의 열 S에서 셀 y의 값이 검색되고{처리 동작(504)}, 이 값들은 되돌려진다{처리 동작(506)}. 셀 y에 의해 나타나는 그리드에서 발생하는, 심지어 셀 y보다 더 미세한 스케일에서 발생하는 데이타베이스 테이블 내의 모든 엔터티가 검색 결과에 포함될 것임을 유념한다.
본 발명의 일 실시예에 대한 예시적인 데이타베이스 포맷이 도 6에서 도시된다. 데이타베이스는 데이타베이스 내의 각각의 엔트리에 대하여 위치 엔터티 ID(602)를 갖는다. 선택적으로, 위도 및 경도 좌표(604) 뿐만 아니라 그리드 스케일(606)을 나타내는 표시자도 기록될 수 있다. 스케일 1에서의 스케일 인덱스는, 전체적으로 위치 표현을 포함하거나 그것이 포함되지 않는 경우(위치 표현이 유한한 지점 대신에 유한한 지역 또는 영역인 경우일 때) 널로 설정되는 스케일 1에서의 그리드인 단일 정수를 제공한다. 스케일 2에서의 스케일 인덱스는 스케일 1보다 더 미세한 해상도로 그리드 셀을 나타내는 단일 정수를 제공한다. 그러한 방식으로 스케일 N까지 진행된다. 유한한 지역이 주어진 그리드 셀 내에 전체적으로 포함되지 않는다면, 스케일 인덱스는 위치 표현에 대하여 널 값으로 설정된다.
이 표현이 데이타베이스 내에 추가적인 필드를 요구하더라도, 성능에서의 이익이 이것을 능가한다(100만 개 이상의 행에 대하여 거의 10배).
본 발명의 전술은 실례 및 설명을 위하여 제시된 것이다. 그것은 소모적이거나, 개시된 정확한 형식으로 본 발명을 제한하지 않을 것이다. 전술된 설명 측면에서 다수의 수정 및 변화가 가능하다. 본 발명의 범주가 이 상세한 설명에 의해 제한되는 것이 아니라 오히려 첨부된 청구항에 의해 제한될 것이다.
참고문헌:
[1] Diomidis, D. S., Position-annotated photographs: a geotemporal web. IEEE Pervasive Computing. 2(2):72-79, 2003.
[2] Sahr, K. and White, D., Discrete Global Grid Systems. In Proc. 13th Symp. Interface, Comp. Sci. & Stat. 269-78, 1998.
데이타베이스 엔트리의 좌표값의 정밀도 추정치를 조합하여 정밀도 정보가 1차원 인덱스의 일부로서 포함되도록 함으로써 데이타베이스 질의의 성능 및 정확도를 높힌다.

Claims (30)

  1. 데이타베이스 엔트리의 좌표값의 정밀도 추정치를 상기 좌표값과 함께 단일 인덱스로 조합하기 위한 컴퓨터 구현 방법에 있어서,
    하나 이상의 위치 엔터티를 입력하는 단계; 및
    그리드 인덱스 시리즈를 계산하는 단계 - 상기 위치 엔터티 각각은 각각의 위치 엔터티의 위치를 통합시키는 그리드 시리즈로서 표현됨 -
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 그리드 인덱스 시리즈를 데이타베이스에 출력하는 단계를 더 포함하는 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    위치 엔터티가 점인 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    위치 엔터티가 지역인 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 지역은 중심 위도 및 경도와, 상기 중심 위도 및 경도로부터, 그리고 위도 및 경도의 선을 따라 측정되는 폭 및 높이에 의해 정의되는 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    유클리드 좌표 시스템 상의 x-y 쌍으로서 상기 하나 이상의 위치 엔터티의 위도 및 경도 값을 입력하기 위해 등직사각형 투영법(equirectangular projection)이 이용되는 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 그리드 인덱스 시리즈를 계산하는 단계는
    지정된 수의 해상도로 지구를 그리딩하는 단계;
    래스터 주사 순서로 각각의 그리드를 인덱스하는 단계; 및
    상기 각각의 위치 엔터티의 위도 및 경도 좌표를 상기 인덱스에 맵핑하는 단계
    를 포함하는 컴퓨터 구현 방법.
  8. 제7항에 있어서,
    상기 지정된 해상도 수는 20개인 컴퓨터 구현 방법.
  9. 제7항에 있어서,
    상기 각각의 그리드를 상기 래스터 주사 순서로 인덱싱하는 단계는
    상기 각각의 그리드에 대하여,
    3 표준 편차가 대응하는 각도에서의 경도 범위 D를 결정하는 단계 - 상기 표준 편차는 주어진 위도, 경도 좌표의 측정 오류임 -; 및
    정밀도의 각도-스케일 R을 D보다 큰 해상도의 이산 유닛인 것으로 결정하는 단계
    를 포함하는 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 3미터가 대응하는 각도의 경도 범위는 d=[180(3)cos(latitude)]/kπ임 - 이때 k는 미터 단위의 지구의 원주 - 이 결정되는 컴퓨터 구현 방법.
  11. 제9항에 있어서,
    상기 정밀도의 각도-스케일 R을 D보다 큰 해상도의 이산 유닛인 것으로 결정하는 단계는으로 설정하는 단계를 포함하는 컴퓨터 구현 방법.
  12. 제7항에 있어서,
    상기 지구는 정확도를 높히기 위하여 각각의 스케일에서의 그리드를 중복시켜 그리딩되는 컴퓨터 구현 방법.
  13. 제12항에 있어서,
    상기 위치 엔터티의 좌표는 중심이 가장 근접한 사각형에 맵핑되는 컴퓨터 구현 방법.
  14. 제1항에 있어서,
    상기 위치 엔터티는 지리적 위치 데이타인 컴퓨터 구현 방법.
  15. 제1항에 있어서,
    상기 위치 엔터티는 위도 및 경도에 의해 기술되는 컴퓨터 구현 방법.
  16. 제15항에 있어서,
    상기 위도 및 경도 값은 유클리드 좌표 시스템 상의 직선 x-y 쌍으로서 취해지는 컴퓨터 구현 방법.
  17. 제1항에 있어서,
    상기 위치 엔터티는 위도, 경도, 및 고도에 의해 기술되는 컴퓨터 구현 방법.
  18. 제17항에 있어서,
    상기 위도, 경도, 및 고도 값은 유클리드 좌표 시스템 상의 (x,y,z) 쌍으로서 취해지는 컴퓨터 구현 방법.
  19. 제7항에 있어서,
    위도(lat) 및 경도(long)에서의 상기 위치 엔터티의 좌표는에 의해 인덱스에 맵핑 - r은 정밀도의 각도-스케일이고, l은 좌표를 위치 엔터티에 맵핑시킴 - 되는 컴퓨터 구현 방법.
  20. 제19항에 있어서,
    상기 위도 및 경도 값을 복구하기 위하여, 상기 위도(lat) 및 경도(long)가
    로서 계산 - r은 정밀도의 각도-스케일이고, l은 좌표를 위치 엔터티에 맵핑시키며, %는 계수 연산자임 - 되는 컴퓨터 구현 방법.
  21. 제2항에 있어서,
    상기 데이타베이스는 위치 엔터티 식별자, 및 상이한 그리드에 각각 대응하는 하나 이상의 스케일을 위한 스케일 인덱스를 포함하는 컴퓨터 구현 방법.
  22. 제2항에 있어서,
    상기 데이타베이스에 대한 질의가
    어느 위치 엔터티가 주어진 그리드 스케일에서 주어진 그리드 셀 내에 있는 지를 질의하는 단계;
    상기 주어진 그리드 스케일의 데이타 내에서 상기 주어진 그리드 셀의 값을 검색하는 단계; 및
    상기 주어진 그리드 스케일에서 상기 주어진 그리드 셀의 값을 되돌리는 단계
    를 포함하는 컴퓨터 구현 방법
  23. 1차원 값으로 다 차원 공간을 인덱싱하기 위한 시스템에 있어서,
    범용 컴퓨팅 장치; 및
    상기 컴퓨팅 장치에 의해 실행가능한 프로그램 모듈을 포함하는 컴퓨터 프로그램을 포함하고,
    상기 컴퓨팅 장치는 상이한 크기의 그리드 유닛을 갖는 동일한 공간 상에 놓인 다수의 그리드 인덱스로부터 계층적인 그리드 인덱스를 구성하도록
    상기 컴퓨터 프로그램의 프로그램 모듈에 의해 지시를 받으며
    각각의 그리드의 크기는 데이타베이스 엔트리의 좌표값의 정밀도와 관련되는 시스템.
  24. 제23항에 있어서,
    상기 데이타베이스 엔트리는 지리적 위치인 시스템.
  25. 제23항에 있어서,
    상기 데이타베이스 엔트리는 시간인 시스템.
  26. 데이타베이스 엔트리의 좌표값의 정밀도 추정치를 상기 좌표값과 함께 단일 인덱스로 조합하기 위한 컴퓨터 실행가능 명령을 갖는 컴퓨터 판독가능 매체에 있어서,
    하나 이상의 위치 엔터티를 입력하는 단계; 및
    그리드 인덱스 시리즈를 계산하는 단계 - 상기 위치 엔터티 각각은 각각의 위치 엔터티의 위치를 통합시키는 그리드 시리즈로서 표현됨 -
    를 포함하는 컴퓨터 판독가능 매체.
  27. 제26항에 있어서,
    상기 그리드 인덱스 시리즈를 계산하는 명령이 등직사각형 투영법을 이용하는 컴퓨터 판독가능 매체.
  28. 제26항에 있어서,
    상기 그리드 시리즈는, 20개의 상이한 해상도로 변(side)이 20×(1/2)r도(0≤r<20)에 대응하는 "사각형" 유닛으로 그리딩하는 컴퓨터 판독가능 매체.
  29. 제26항에 있어서,
    상기 그리드 시리즈는 플라톤의 입체(Platonic solid)에 내재하는 계층적인 등변 다각형 시리즈인 컴퓨터 판독가능 매체.
  30. 제26항에 있어서,
    상기 그리드 시리즈는 지구를 그리딩하는 계층적인 다각형 시리즈인 컴퓨터 판독가능 매체.
KR1020040032521A 2003-05-09 2004-05-08 위치 및 정밀도 인코딩을 위해 그리드 인덱스를 사용하는시스템 및 방법 KR20040095751A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US46931403P 2003-05-09 2003-05-09
US60/469,314 2003-05-09
US10/673,111 2003-09-26
US10/673,111 US7966301B2 (en) 2003-05-09 2003-09-26 System and method for employing a grid index for location and precision encoding

Publications (1)

Publication Number Publication Date
KR20040095751A true KR20040095751A (ko) 2004-11-15

Family

ID=32995089

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040032521A KR20040095751A (ko) 2003-05-09 2004-05-08 위치 및 정밀도 인코딩을 위해 그리드 인덱스를 사용하는시스템 및 방법

Country Status (5)

Country Link
US (1) US7966301B2 (ko)
EP (1) EP1475725A3 (ko)
JP (1) JP2004334888A (ko)
KR (1) KR20040095751A (ko)
CN (1) CN1551020A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018135852A1 (ko) * 2017-01-20 2018-07-26 장수진 경도선/위도선을 기반으로 교통로를 구성하고, 지도 검색을 수행하는 방법 및 장치

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143098B2 (en) * 2002-05-10 2006-11-28 International Business Machines Corporation Systems, methods, and computer program products to reduce computer processing in grid cell size determination for indexing of multidimensional databases
US7383275B2 (en) * 2002-05-10 2008-06-03 International Business Machines Corporation Methods to improve indexing of multidimensional databases
US7373353B2 (en) * 2002-05-10 2008-05-13 International Business Machines Corporation Reducing index size for multi-level grid indexes
CA2436312C (en) * 2003-08-01 2011-04-05 Perry Peterson Close-packed, uniformly adjacent, multiresolutional, overlapping spatial data ordering
US20050114812A1 (en) * 2003-11-21 2005-05-26 Jan Kok System for and method for storing an n-dimensional object in a data structure
WO2005071561A1 (en) * 2004-01-21 2005-08-04 State Of Oregon, Acting By And Through Its State Board Of Higher Education, On Behalf Of Southern Oregon University Icosahedral modified generalized balanced ternary and aperture 3 hexagon tree
US7389283B2 (en) * 2004-12-07 2008-06-17 International Business Machines Corporation Method for determining an optimal grid index specification for multidimensional data
US7574428B2 (en) * 2005-10-11 2009-08-11 Telmap Ltd Geometry-based search engine for navigation systems
CN100418092C (zh) * 2006-02-20 2008-09-10 南京联创科技股份有限公司 海量数据内存数据库中快速定位的网格+t树索引的方法
CN101765831B (zh) * 2007-06-06 2012-10-17 雅典娜电信实验有限公司 数据库不一致的处理方法
US8195630B2 (en) * 2007-10-29 2012-06-05 Bae Systems Information Solutions Inc. Spatially enabled content management, discovery and distribution system for unstructured information management
US8584044B2 (en) * 2007-11-16 2013-11-12 Microsoft Corporation Localized thumbnail preview of related content during spatial browsing
CA3037890C (en) 2009-10-28 2023-09-12 State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Southern Oregon University Central place indexing systems
US8504393B2 (en) * 2010-09-10 2013-08-06 State Farm Mutual Automobile Insurance Company Systems and methods for grid-based insurance rating
CN102156714B (zh) * 2011-03-22 2012-11-14 清华大学 实现自适应垂直划分的关系型数据库的方法及系统
US20130054585A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Geographic search with mixed-precision results
CN103514224B (zh) * 2012-06-29 2017-08-25 国际商业机器公司 数据库中的数据处理方法、数据查询方法和相应装置
CN103927933B (zh) * 2013-01-14 2016-07-13 北京中交兴路信息科技有限公司 一种海量移动目标渲染的方法及装置
US9094537B2 (en) * 2013-03-22 2015-07-28 Jdsu Uk Limited Method and apparatus for managing call data
US9282197B2 (en) * 2013-03-22 2016-03-08 Viavi Solutions Uk Limited Method and apparatus for managing call data
US9197758B2 (en) * 2013-03-22 2015-11-24 Jdsu Uk Limited Method and apparatus for managing call data
US9158809B2 (en) 2013-06-04 2015-10-13 Microsoft Technology Licensing, Llc Grid queries
US10262373B2 (en) 2013-06-07 2019-04-16 State Farm Mutual Automobile Insurance Company Systems and methods for grid-based insurance rating
US9189517B2 (en) 2013-10-02 2015-11-17 Microsoft Technology Licensing, Llc Integrating search with application analysis
US10372705B2 (en) * 2015-07-07 2019-08-06 International Business Machines Corporation Parallel querying of adjustable resolution geospatial database
CN105045860B (zh) * 2015-07-13 2018-05-18 刘常倪 一种用地址号码在地图上标识位置的方法
CN105138711B (zh) * 2015-10-21 2019-03-05 北京中电普华信息技术有限公司 一种图元索引、检测方法及装置
US10783173B2 (en) 2016-04-08 2020-09-22 Global Grid Systems Inc. Methods and systems for selecting and analyzing geospatial data on a discrete global grid system
US10503780B1 (en) * 2017-02-03 2019-12-10 Marklogic Corporation Apparatus and method for forming a grid-based geospatial primary index and secondary index
US10311088B1 (en) * 2017-02-03 2019-06-04 Marklogic Corporation Apparatus and method for resolving geospatial queries
US11204896B2 (en) 2017-08-18 2021-12-21 International Business Machines Corporation Scalable space-time density data fusion
US10255728B1 (en) * 2017-09-29 2019-04-09 Youar Inc. Planet-scale positioning of augmented reality content
CN110119458B (zh) * 2018-01-23 2021-05-07 北京云游九州空间科技有限公司 一种网格检索方法及装置
WO2019173528A1 (en) * 2018-03-06 2019-09-12 Kevin Sahr Systems and methods for location representation using a discrete global grid system
US10830871B2 (en) * 2018-03-21 2020-11-10 Zoox, Inc. Sensor calibration
WO2019232702A1 (en) * 2018-06-06 2019-12-12 Beijing Didi Infinity Technology And Development Co., Ltd. System and method for determining location identifier
RU2762785C1 (ru) * 2018-06-06 2021-12-22 Бейджин Диди Инфинити Текнолоджи Энд Девелопмент Ко., Лтд. Система идентификации сеток географической области на карте
US11487822B2 (en) * 2018-06-13 2022-11-01 International Business Machines Corporation Facilitating spatial indexing on distributed key-value stores
US11360970B2 (en) 2018-11-13 2022-06-14 International Business Machines Corporation Efficient querying using overview layers of geospatial-temporal data in a data analytics platform
CN109992640B (zh) * 2019-04-11 2021-04-23 北京百度网讯科技有限公司 位置网格的确定方法及装置、设备及存储介质
CN110765331B (zh) * 2019-07-08 2024-03-26 中国人民解放军战略支援部队信息工程大学 一种时空数据的检索方法及系统
CN111177298A (zh) * 2019-12-31 2020-05-19 湖南高速铁路职业技术学院 一种基于面积法的通信网络信息地理网格化方法
CN112612916B (zh) * 2020-12-29 2024-02-06 深圳航天宏图信息技术有限公司 一种海洋卫星数据的检验误差空间分布图生成方法及装置
CN112711590B (zh) * 2020-12-30 2024-06-18 百果园技术(新加坡)有限公司 国家代码存储、查询方法、装置、电子设备和存储介质
CN113535785A (zh) * 2021-09-15 2021-10-22 北京交研智慧科技有限公司 职住空间分析方法、装置、电子设备及可读存储介质
CN113779046B (zh) * 2021-11-15 2022-02-11 亿海蓝(北京)数据技术股份公司 不规则区域索引的生成方法、装置、介质和电子设备
CN114064286B (zh) * 2021-11-19 2022-08-05 北京太琦图形科技有限公司 用于处理非结构化网格数据的方法、装置、设备和介质
CN117008163B (zh) * 2023-06-07 2024-03-26 广东省国土资源测绘院 利用数字高程模型进行格网vrs生成精化的方法及相关设备
CN117435823B (zh) * 2023-12-19 2024-03-29 北京智网易联科技有限公司 基于网格编码的时空数据服务方法及工业互联网平台

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5647058A (en) * 1993-05-24 1997-07-08 International Business Machines Corporation Method for high-dimensionality indexing in a multi-media database
US6321158B1 (en) * 1994-06-24 2001-11-20 Delorme Publishing Company Integrated routing/mapping information
KR100219161B1 (ko) * 1996-10-23 1999-09-01 윤종용 지도데이타 인덱스구축/검색방법 및 이를 적용한 지도데이타베이스운용시스템
US5968109A (en) 1996-10-25 1999-10-19 Navigation Technologies Corporation System and method for use and storage of geographic data on physical media
US5822751A (en) 1996-12-16 1998-10-13 Microsoft Corporation Efficient multidimensional data aggregation operator implementation
EP0981866A1 (en) * 1997-05-02 2000-03-01 Uscx High latitude geostationary satellite system
US6370476B1 (en) * 1998-04-27 2002-04-09 Trimble Navigation Limited Interpolation of survey coordinate differences
US6603885B1 (en) * 1998-04-30 2003-08-05 Fuji Photo Film Co., Ltd. Image processing method and apparatus
JP2001005834A (ja) * 1999-06-24 2001-01-12 Asia Air Survey Co Ltd 位置情報変換方法及び位置情報変換のプログラムを記憶した記憶媒体
US6700574B1 (en) * 1999-10-29 2004-03-02 Siemens Transportation Systems, Inc. Spatial data object indexing engine
JP2002183149A (ja) * 2000-12-12 2002-06-28 Denso Corp 地点特定方法と地点特定装置、地図表示方法と地図表示装置、地点通知方法、印刷物、コンピュータ読み取り可能な記録媒体、および固有コード出力方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018135852A1 (ko) * 2017-01-20 2018-07-26 장수진 경도선/위도선을 기반으로 교통로를 구성하고, 지도 검색을 수행하는 방법 및 장치

Also Published As

Publication number Publication date
EP1475725A2 (en) 2004-11-10
US7966301B2 (en) 2011-06-21
EP1475725A3 (en) 2006-05-03
JP2004334888A (ja) 2004-11-25
CN1551020A (zh) 2004-12-01
US20040225665A1 (en) 2004-11-11

Similar Documents

Publication Publication Date Title
KR20040095751A (ko) 위치 및 정밀도 인코딩을 위해 그리드 인덱스를 사용하는시스템 및 방법
CN110442444B (zh) 一种面向海量遥感影像的并行数据访问方法与系统
Pfoser et al. Indexing of network constrained moving objects
US9235598B2 (en) Location based full text search
US9689703B2 (en) Presenting hierarchies of map data at different zoom levels
WO2009137967A1 (en) Provisioning a geographical image for retrieval
CN111125392B (zh) 一种基于矩阵对象存储机制的遥感影像存储、查询方法
Liu et al. HistSFC: Optimization for nD massive spatial points querying
US20150058390A1 (en) Storage of Arbitrary Points in N-Space and Retrieval of Subset Thereof Based on a Determinate Distance Interval from an Arbitrary Reference Point
KR20060095444A (ko) 실체 검색 시스템
Lu et al. Online spatial data analysis and visualization system
Yang et al. A hybrid spatial index for massive point cloud data management and visualization
CN113806601A (zh) 一种周边兴趣点检索方法及存储介质
WO2021232278A1 (zh) 地图获取方法、装置、计算机设备和存储介质
Pfoser et al. Trajectory indexing using movement constraints
Alvanaki et al. GIS navigation boosted by column stores
CN115658779B (zh) 一种人口数据显示方法和装置
Agarwal et al. Advances in indexing for mobile objects
Albrecht et al. Pairs (Re) loaded: system design & benchmarking for scalable geospatial applications
Vo et al. A 6-dimensional Hilbert approach to index full waveform LiDAR data in a distributed computing environment
CN113360586A (zh) 地址聚集度查询方法、装置、设备及计算机可读存储介质
OOSTEROM A modified binary space partitioning tree for geographic information systems
Lee et al. An efficient location encoding method for moving objects using hierarchical administrative district and road network
Wen et al. A characteristic bitmap coding method for vector elements based on self-adaptive gridding
Döner et al. Modelling and mapping third dimension in a spatial database

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid