KR101493184B1 - 지리학적 데이터베이스를 맵 타일 데이터베이스로 변환하기 위한 방법, 장치 및 컴퓨터 프로그램 제품 - Google Patents

지리학적 데이터베이스를 맵 타일 데이터베이스로 변환하기 위한 방법, 장치 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR101493184B1
KR101493184B1 KR20137018896A KR20137018896A KR101493184B1 KR 101493184 B1 KR101493184 B1 KR 101493184B1 KR 20137018896 A KR20137018896 A KR 20137018896A KR 20137018896 A KR20137018896 A KR 20137018896A KR 101493184 B1 KR101493184 B1 KR 101493184B1
Authority
KR
South Korea
Prior art keywords
geographic
tile
record
database
zoom level
Prior art date
Application number
KR20137018896A
Other languages
English (en)
Other versions
KR20130096765A (ko
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 KR20130096765A publication Critical patent/KR20130096765A/ko
Application granted granted Critical
Publication of KR101493184B1 publication Critical patent/KR101493184B1/ko

Links

Images

Classifications

    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Instructional Devices (AREA)
  • Navigation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

지리학적 데이터베이스의 지리학적 기하학적 콘텐츠를 맵 타일로 변환하기 위한 장치는 장치가 기하학적 정보에 대응하는 값을 분석하는 것에 기초하여 필드 내에 배열된 데이터의 아이템을 추가하는 것에 부분적으로 기초하여 지리학적 데이터베이스를 수정하는 것을 포함하는 동작을 적어도 수행하게 하는 실행 가능 컴퓨터 코드를 포함하는 메모리 및 프로세서를 포함할 수 있다. 기하학적 정보는 지리학적 데이터베이스의 레코드과 연관된다. 컴퓨터 프로그램 코드는 또한 장치가 각각의 레코드의 지리학적 정보를 포함하는 사전 결정된 줌 레벨에서 타일의 세트를 결정하게 할 수 있고, 타일의 최소 및 최대의 x값 및 y값과 연관된 데이터를 포함하도록 레코드를 업데이트할 수 있다. 컴퓨터 프로그램 코드는 또한 장치가 맵 타일의 직사각형 블록(들)을 정의하는 최소 및 최대의 x값 및 y값을 결정하게 할 수 있다. 대응 컴퓨터 프로그램 제품 및 방법이 또한 제공된다.

Description

지리학적 데이터베이스를 맵 타일 데이터베이스로 변환하기 위한 방법, 장치 및 컴퓨터 프로그램 제품{METHODS, APPARATUSES AND COMPUTER PROGRAM PRODUCTS FOR CONVERTING A GEOGRAPHICAL DATABASE INTO A MAP TILE DATABASE}
본 발명의 실시예는 일반적으로 데이터베이스 기술에 관한 것으로서, 더 구체적으로는 지리학적 데이터베이스를 맵 타일 데이터베이스로 변환함으로써 위치 또는 맵 데이터의 검색을 위한 데이터베이스 성능을 향상시키기 위해 데이터베이스를 최적화하기 위한 방법, 장치 및 컴퓨터 프로그램 제품에 관한 것이다.
현대의 통신 시대는 유선 및 무선 네트워크의 엄청난 확장을 초래하였다. 컴퓨터 네트워크, 텔레비전 네트워크, 및 전화 통신 네트워크는 소비자의 요구에 의해 전례 없는 기술적 확장을 경험하고 있다. 무선 및 모바일 네트워킹 기술은 보다 양호한 유연성 및 정보 전달의 신속성을 제공함과 동시에 관련 소비자 요구를 해소해 왔다.
현재 및 미래의 네트워킹 기술은 사용자로의 용이한 정보 전달 및 편의성을 용이하게 한다. 전자 통신 디바이스의 현재의 유비쿼터스(ubiquitous) 성질에 기인하여, 모든 연령 및 교육 수준의 사람들은 다른 개인 또는 연락처와 통신하고, 서비스를 수신하고, 정보, 미디어 및 다른 콘텐츠를 공유하기 위해 전자 디바이스를 이용한다. 용이한 정보 전달을 증가시키기 위한 요구가 존재하는 일 영역은 사용자의 모바일 단말로의 맵핑 서비스의 전달이다. 맵핑 서비스는 모바일 단말의 미디어 또는 통신 애플리케이션에 의해 요구된 맵 데이터 및 위치 데이터를 제공할 수 있다.
현재, 맵핑 서비스에 의해 제공되는 맵 또는 위치 데이터는 통상적으로 지리학적 데이터베이스에 저장된다. 지리학적 데이터베이스는 2차원 또는 3차원에 대해 최적화될 수 있는 지리학적 정보 및 공간 데이터를 저장하고, 질의하고, 조작하는 것이 가능할 수 있다. 공간 데이터는 예를 들어, 점, 라인, 다각형 등과 같은 기하학적 데이터의 형태의 벡터 데이터로서 저장될 수 있고, 연관 공간 기준 시스템을 가질 수 있다. 이와 관련하여, 공간 데이터는 실제 세상의 위치 또는 객체에 대응하는 위도 및 경도 좌표와 같은 좌표와 연관될 수 있다. 공간 데이터의 예로서, 마을, 거리 및 국가, 주 등과 같은 경계를 표현할 수 있는 라인, 점 및 다각형을 포함하는 2차원 객체로서 묘사될 수 있는 고속도로를 고려한다. 고속도로의 맵은 지리학적 정보의 시각화이다. 이들 렌더링된 객체의 위치(예를 들어, 위도 및 경도)를 지시하는 데이터는 공간 데이터일 수 있다. 이와 같이, 지리학적 데이터베이스는 거리, 고속도로, 수로, 바다, 랜드마크, 철로, 행정 영역 경계 등과 연관된 기하학적 데이터를 저장할 수 있다. 지리학적 데이터베이스는 실제 세상의 객체 또는 장소의 위치를 표현하기 위한 레코드를 포함할 수 있다는 것이 주목되어야 한다.
현재, 현존하는 시스템은 지리학적 데이터베이스로부터 지리학적 데이터의 고속 검색을 용이하게 하기 위해 맵 타일을 이용할 수 있다. 맵 타일을 렌더링하기 위한 일 이러한 기술은 테셀레이션(tessellation)이다. 이와 관련하여, 현존하는 시스템은 데이터를 위치로 나누고 세상을 타일로 분할함으로써 특정 위치에 대한 데이터를 저장하기 위해 테셀레이션을 이용할 수 있다. 달리 말하면, 실제 세상에 대응하는 기하학적 데이터는 타일로 분할될 수 있고 이어서 지리학적 데이터베이스에 액세스하기 위한 타일 인덱스가 타일에 기초하여 생성될 수 있다.
이 기술은 맵핑 시스템이 통상적으로 지리학적 데이터베이스로부터 타일 유닛 내의 데이터를 검색하기 때문에 맵핑 시스템을 위해 유리할 수 있다. 이 접근법은 맵핑 시스템에 대한 데이터 검색을 위해 양호한 성능을 제공할 수 있지만, 또한 컴퓨팅 저장 장치 비용 및 컴퓨팅 프로세싱 비용에 있어서 높은 총경비를 발생시킬 수도 있다. 이와 같이, 기하학적 데이터 검색의 이 접근법의 일 결점은 타일 인덱스에 대한 컴퓨팅 저장 장치 리소스(예를 들어, 디스크 및 메모리) 및 프로세싱 리소스의 과다한 사용을 야기할 수 있다는 것이다. 예를 들어, 맵 타일에 대응하는 지리학적 데이터는 줌 레벨에 따라 주밍될 수 있다. 이와 같이, 줌 레벨 z가 주어지면, 줌 z에서 맵 타일의 수는 4z이다. 예로서, 타일 시스템에 관련하여 도 1을 고려한다.
도 1을 참조하면, 줌 레벨 0에서, 전체 세상은 하나의 타일(예를 들어, 4z=40=1)에 의해 커버될 수 있다. 줌 레벨 1에서, 줌 0으로부터 단일 타일은 4개로 분할된다(4z=41=4). 줌 레벨 2에서, 줌 1로부터의 4개의 타일의 각각은 4개로 더 분할되는(4z=42=16) 등등이다. 달리 말하면, 줌 레벨 zi를 위한 타일을 생성하기 위해, 줌 레벨 zi -1에서의 각각의 타일은 도 1에 도시된 바와 같이 4개로 분할될 수 있다. 따라서, 주어진 줌 레벨에서 각각의 타일은 더 상위의 줌 레벨에서 타일의 직사각형 블록에 동등할 수 있다. 예를 들어, 줌 레벨 0에서 단일 타일 x=0, y=0은 줌 레벨 1에서 모든 4개의 타일에 동등할 수 있다. 유사하게, 줌 레벨 1에서 타일 x=0, y=1은 줌 레벨 2에서 타일 x=0, y=2; x=1, y=2; x=0, y=3; x=1, y=3에 동등할 수 있다.
18의 최대 줌 레벨을 갖는 시스템에서, 줌 레벨 18의 수는 418이고, 640억개 초과의 타일을 생성한다. 리프 인덱스 노드(leaf index node)의 크기가 4 바이트(예를 들어, 정수 포인터 어드레스의 크기)일 수 있는 경우에, 18개의 타일의 줌에 대해, 리프 인덱스 노드의 총 크기는 대략 256 기가바이트(GB)이다. 이는 특히 데이터베이스 자체의 크기의 고려시에 거대한 양의 공간 총경비이다. 예를 들어, 미국의 NavteqTM 스트리트 데이터베이스는 11 GB의 총 디스크 공간 크기를 갖는 대략 2700만개의 레코드를 갖는다.
디스크 공간 문제점을 해결하기 위해, 현존하는 타일-인덱싱 시스템은 통상적으로 지리학적 데이터를 인덱싱할 때 타일 크기 타협을 행한다. 더 상위의 줌 레벨에서 더 소형의 타일은 타일마다 적은 양의 지리학적 데이터를 포함하고, 따라서 맵 데이터를 요구하는 질의를 위한 더 양호한 선택성을 갖는다. 그러나, 이 방식으로 더 소형의 타일을 사용하는 것은 통상적으로 최종 인덱스를 유지하기 위해 더 많은 양의 디스크 공간을 필요로 한다. 예를 들어, 더 소형의 타일은 사용될 더 많은 공간을 필요로 하는 더 많은 세그먼트 순회를 야기할 수 있다. 다른 한편으로, 더 하위의 줌 레벨에서의 더 대형의 타일은 통상적으로 타일마다 많은 양의 지리학적 데이터를 포함하고, 따라서 더 소형의 타일보다 맵 데이터를 요구하는 질의에 대한 열악한 선택성을 가질 수 있다. 그러나, 더 대형의 타일은 통상적으로 최종 인덱스를 유지하기 위해 더 적은 양의 디스크 공간을 필요로 한다. 예를 들어, 줌 레벨 9에서, 리프 인덱스 노드를 위한 디스크 공간은 단지 약 1 메가바이트(MB)이지만, 예를 들어 각각의 줌 9 타일에 포함된 218(260,000 초과의 타일) 줌 18 타일들이 존재함에 따라 맵 데이터를 위한 질의가 통상적으로 다수의 레코드를 반환할 수 있기 때문에, 줌 레벨 18에서 타일 요구에 대한 열악한 성능을 야기할 수 있다.
현존하는 타일-인덱싱 시스템의 상기 결점의 견지에서, 지리학적 데이터베이스에 대한 타일 인덱스에 대해 더 효율적으로 컴퓨팅 저장 장치 리소스를 이용할 수 있는 타일을 경유하여 지리학적 데이터베이스에 액세스하기 위한 대안 메커니즘을 제공하는 것이 유리할 수 있다.
따라서, 지리학적 데이터베이스의 느슨한 타일 표현을 생성함으로써 지리학적 데이터베이스를 맵 타일 데이터베이스로 변환할 수 있는 방법, 장치 및 컴퓨터 프로그램 제품이 제공된다. 예시적인 실시예는 몇몇 이전에 공지된 타일 표현 접근법에서와 같이 컴퓨팅 저장 장치(예를 들어, 디스크 및 메모리)의 과다 사용을 겪지 않을 수도 있다. 예시적인 실시예는 타일 인덱스의 크기가 세상을 커버하는 타일의 수의 함수일 수 있는 더 이전의 해결책과는 대조적으로, 인덱스가 레코드 필드 데이터로부터 직접적으로 생성될 수 있기 때문에 지리학적 데이터베이스의 카디널러티(cardinality)의 함수인 크기를 갖는 타일 인덱스를 이용할 수 있다.
타일 지리학적 데이터를 검색하기 위한 정수형 열(예를 들어, xmin, ymin, xmax, ymax)을 갖는 인덱스를 생성하고 사용함으로써, 예시적인 실시예는 공간 데이터베이스 관리 시스템(예를 들어, PstgreSQL)의 일반적인 요구 없이 지리학적 데이터베이스(들)의 사용을 용이하게 할 수 있다.
세상을 테셀레이션하고 최종 테셀레이션으로부터 타일 인덱스를 생성하여 지리학적 데이터베이스로부터 데이터의 고속 검색을 용이하게 하기보다는, 예시적인 실시예는 대신에 레코드의 기하학적 구조가 교차할 수 있는 후보 타일을 지시할 수 있는 부가의 데이터 필드를 갖는 지리학적 데이터베이스 내의 각각의 지리학적 레코드를 수정함으로써 지리학적 데이터베이스를 수정할 수 있다.
이와 관련하여, 예시적인 실시예에 의해 생성된 최종 타일 인덱스는 레코드에 추가된 부가의 데이터 필드로부터 유도될 수 있고, 그 결과 예시적인 실시예의 타일 인덱스는 인덱스가 테셀레이션 결과에 기초하는 현재의 타일-인덱싱 시스템에 대조적으로 지리학적 데이터베이스의 카디널러티에 의존하는 공간을 점유할 수 있고, 따라서 인덱스의 크기는 현재 타일-인덱싱 시스템에 의해 이용된 테셀레이션 프로세스로부터 발생하는 타일의 수(예를 들어, 세상을 커버하는 타일의 수)에 의존할 수 있다.
인덱싱을 위한 저장 장치의 더 양호한 사용을 용이하게 하기 위해, 예시적인 실시예는 데이터베이스의 지리학적 레코드를 위한 느슨한 타일 표현을 이용할 수 있다. 이 느슨한 표현은 소정의 레코드에 대응하는 기하학적 구조가 교차할 수 있는 후보 타일을 표현하기 위해 직사각형 타일 블록을 생성하는 예시적인 실시예에 의해 캡처될 수 있다. 이와 관련하여, 예시적인 실시예가 레코드(들)에 대응하는 기하학적 구조가 타일을 교차하는 것으로 판정될 수 있는 경우에, 그 타일은 대응 레코드(들)의 타일 블록 내에 있는 것이 보장될 수 있다. 그러나, 예시적인 실시예는 몇몇 타일이 레코드(들)에 대응하는 기하학적 구조가 교차하지 않을 수 있는 타일 블록에 존재할 수 있다는 것을 판정할 수 있다.
예시적인 실시예는 또한 타일 내의 지리학적 데이터를 위한 지리학적 데이터베이스에 송신될 수 있는 질의를 생성할 수 있다. 이와 관련하여, 예시적인 실시예는 데이터베이스 내의 지리학적 레코드를 위한 타일 블록이 단지 레코드를 위한 느슨한 타일 규정인 것으로 판정할 수 있다. 이와 같이, 질의를 해결하는데 있어서, 예시적인 실시예는 결과 내의 각각의 레코드 또는 질의로의 응답이 레코드(들)에 대응하는 기하학적 구조가 질의 내에 참조된 타일을 실제로 교차하는지 여부를 판정하도록 추가로 검사될 필요가 있을 수 있다.
예시적인 실시예를 이용함으로써, 현재 타일-인덱싱 방안에 의해 부닥치는 일반적인 크기 타협 문제점이 완화될 수 있다. 이와 관련하여, 예시적인 실시예는 지리학적 데이터베이스를 변환하는데 사용되었던 줌 레벨에서 관련 타일을 위한 질의로의 임의의 줌 레벨에서 타일을 위한 질의의 편리한 변환을 허용할 수 있고, 이어서 지리학적 데이터베이스로부터 관련 지리학적 데이터를 검색할 수 있다.
본 발명의 예시적인 실시예는 더 고속의 레코드 검색 시간으로 변환될 수 있는 더 소형의 인덱스를 이용할 수 있다. 이와 같이, 예시적인 실시예는 더 양호한 데이터베이스 성능을 생성할 수 있다. 이는 이어서 맵 타일을 렌더링할 수 있는 맵 서비스의 제공을 가능하게 할 수 있을 뿐만 아니라 예를 들어 맵 상의 라이브 교통 데이터를 검색하고 렌더링하는 것과 같은 지리학적 데이터베이스에 기초할 수 있는 다른 맵 기반 서비스를 수행할 수 있는 네트워크 디바이스의 전체 성능을 향상시킬 수 있다. 이와 같이, 예시적인 실시예는 맵 서버를 위한 더 양호한 데이터베이스 성능을 생성할 수 있다. 예를 들어, 예시적인 실시예는 현존하는 접근법에 비해 개량인 806 MB의 메모리(예를 들어, 디스크 공간)를 사용할 수 있는 NavteqTM 스트리트 데이터베이스를 위한 타일 인덱스를 생성할 수 있다. 부가적으로, 예시적인 실시예는 또한 위치 또는 맵 데이터를 위한 클라이언트(예를 들어, 모바일 단말)에 의한 요구에 대한 응답 시간을 향상시킬 수 있다.
일 예시적인 실시예에서, 지리학적 데이터베이스의 지리학적 기하학적 콘텐츠를 맵 타일로 변환하기 위한 방법이 제공된다. 방법은 지리학적 데이터베이스의 지리학적 레코드과 연관된 기하학적 정보에 대응하는 값을 분석하는 것에 기초하여 필드에 배열된 데이터의 아이템을 추가하는 것에 부분적으로 기초하여 지리학적 데이터베이스를 수정하는 단계를 포함할 수 있다. 방법은 각각의 레코드에 대해, 각각의 레코드의 지리학적 정보의 적어도 일부를 포함하는 사전 결정된 줌 레벨에서 타일의 세트를 결정하는 단계와, 대응 레코드의 기하학적 정보에 대응하는 타일의 최소 및 최대의 x값 및 y값과 연관된 데이터를 포함하도록 각각의 레코드를 업데이트하는 단계를 추가로 포함할 수 있다. 방법은 최소 및 최대의 x값 및 y값이 맵 타일의 하나 이상의 직사각형 블록을 정의하는 것으로 판정하는 단계를 추가로 포함할 수 있다.
다른 예시적인 실시예에서, 지리학적 데이터베이스의 지리학적 기하학적 콘텐츠를 맵 타일로 변환하기 위한 장치가 제공된다. 장치는 프로세서 및 컴퓨터 프로그램 코드를 포함하는 메모리를 포함할 수 있다. 메모리 및 컴퓨터 프로그램 코드는 프로세서와 함께, 장치가 적어도 지리학적 데이터베이스의 지리학적 레코드의 각각과 연관된 기하학적 정보에 대응하는 값을 분석하는 것에 기초하여 필드에 배열된 데이터의 아이템을 추가하는 것에 부분적으로 기초하여 지리학적 데이터베이스를 수정하는 것을 포함하는 동작을 수행하게 하도록 구성된다. 컴퓨터 프로그램 코드는 또한 장치가 각각의 레코드에 대해, 각각의 레코드의 지리학적 정보의 적어도 일부를 포함하는 사전 결정된 줌 레벨에서 타일의 세트를 결정하게 하고, 대응 레코드의 기하학적 정보에 대응하는 타일의 최소 및 최대의 x값 및 y값과 연관된 데이터를 포함하도록 각각의 레코드를 업데이트하게 할 수 있다. 컴퓨터 프로그램 코드는 또한 최소 및 최대의 x값 및 y값이 맵 타일의 하나 이상의 직사각형 블록을 정의하는 것으로 판정하게 할 수 있다.
다른 예시적인 실시예에서, 지리학적 데이터베이스의 지리학적 기하학적 콘텐츠를 맵 타일로 변환하기 위한 컴퓨터 프로그램 제품이 제공된다. 컴퓨터 프로그램 제품은 컴퓨터 실행 가능 프로그램 코드 명령이 내부에 저장되어 있는 적어도 하나의 컴퓨터 판독 가능 저장 매체를 포함한다. 컴퓨터 실행 가능 프로그램 코드 명령은 지리학적 데이터베이스의 지리학적 레코드과 연관된 기하학적 정보에 대응하는 값을 분석하는 것에 기초하여 필드에 배열된 데이터의 아이템을 추가하는 것에 부분적으로 기초하여 지리학적 데이터베이스를 수정하도록 구성된 프로그램 코드 명령을 포함할 수 있다. 프로그램 코드 명령은 또한 각각의 레코드에 대해, 각각의 레코드의 지리학적 정보의 적어도 일부를 포함하는 사전 결정된 줌 레벨에서 타일의 세트를 결정하고, 대응 레코드의 기하학적 정보에 대응하는 타일의 최소 및 최대의 x값 및 y값과 연관된 데이터를 포함하도록 각각의 레코드를 업데이트할 수 있다. 프로그램 코드 명령은 또한 최소 및 최대의 x값 및 y값이 맵 타일의 하나 이상의 직사각형 블록을 정의하는 것으로 판정할 수 있다.
본 발명의 실시예는 지리학적 데이터베이스의 타일 인덱스와 연관된 컴퓨팅 저장 장치 및 프로세싱의 총경비에 관련된 비용 효율을 향상시킬 수 있다. 이 방식으로, 예시적인 실시예는 더 고속 데이터 검색을 가능하게 할 수 있는 지리학적 데이터베이스 내에 저장된 지리학적 데이터의 크기를 감소시킬 수 있다. 이와 같이, 모바일 단말 사용자는 향상된 모바일 디바이스 기능성을 향유할 수 있다.
도 1은 하나 이상의 줌 레벨에 대응하는 타일 시스템의 다이어그램.
도 2는 본 발명의 예시적인 실시예에 따른 시스템의 개략 블록 다이어그램.
도 3은 본 발명의 예시적인 실시예에 따른 장치의 개략 블록 다이어그램.
도 4는 본 발명의 예시적인 실시예에 따른 네트워크 엔티티의 개략 블록 다이어그램.
도 5는 본 발명의 예시적인 실시예에 따른 일 줌 레벨로부터 더 상위의 줌 레벨로 맵핑된 타일의 다이어그램.
도 6은 본 발명의 예시적인 실시예에 따른 타일 블록의 다이어그램.
도 7은 본 발명의 일 실시예에 따른 질의에 부분적으로 기초하는 맵 타일 및 지리학적 레코드의 다이어그램.
도 8은 지리학적 데이터베이스의 기하학적 데이터에 대응하는 지리학적 콘텐츠를 본 발명에 예시적인 실시예에 따른 하나 이상의 맵 타일로 변환하기 위한 흐름도.
도 9는 본 발명의 예시적인 실시예에 따른 수정된 지리학적 데이터베이스 상에 하나 이상의 질의를 실행하기 위한 흐름도.
본 발명을 일반적인 개념으로 설명하였고, 이제 반드시 실제 축적대로 도시되어 있지는 않은 첨부 도면을 참조할 것이다.
본 발명의 몇몇 실시예가 이제 본 발명의 전체는 아니라 일부 실시예가 도시되어 있는 첨부 도면을 참조하여 이하에 더 완전히 설명될 것이다. 실제로, 본 발명의 다양한 실시예는 다수의 상이한 형태로 실시될 수 있고, 본 명세서에 설명된 실시예에 한정되는 것으로서 해석되어서는 안된다. 유사한 도면 부호는 전체에 걸쳐 유사한 요소를 칭한다. 본 명세서에 사용될 때, 용어 "데이터", "콘텐츠", "정보" 및 유사한 용어는 본 발명의 실시예에 따라 전송되고, 수신되고 그리고/또는 저장되는 것이 가능한 데이터를 칭하도록 상호 교환 가능하게 사용될 수 있다. 더욱이, 용어 "예시적인"인 본 명세서에 사용될 때, 임의의 정성적인 평가를 전달하도록 제공된 것은 아니고, 대신에 단지 예의 예시를 전달하도록 제공된다. 따라서, 임의의 이러한 용어의 사용은 본 발명의 사상 및 범주를 한정하도록 취해져서는 안된다.
부가적으로, 본 명세서에 사용될 때, 용어 '회로'는 (a) 하드웨어 전용 회로 구현예(예를 들어, 아날로그 회로 및/또는 디지털 회로에서의 구현예), (b) 장치가 본 명세서에 설명된 하나 이상의 기능을 수행하게 하기 위해 함께 동작하는 하나 이상의 컴퓨터 판독 가능 메모리 상에 저장된 소프트웨어 및/또는 펌웨어 명령을 포함하는 회로와 컴퓨터 프로그램 제품(들)의 조합 및 (c) 예를 들어 소프트웨어 또는 펌웨어가 물리적으로 존재하지 않더라도 동작을 위한 소프트웨어 또는 펌웨어를 필요로 하는 마이크로프로세서(들) 또는 마이크로프로세서(들)의 부분과 같은 회로를 칭한다. 이 '회로'의 정의는 임의의 청구항을 포함하는 본 명세서의 이 용어의 모든 사용에 적용된다. 추가의 예로서, 본 명세서에 사용될 때, 용어 '회로'는 하나 이상의 프로세서 및/또는 그 부분(들) 및 수반하는 소프트웨어 및/또는 펌웨어를 포함하는 구현예를 또한 포함한다. 다른 예로서, 용어 '회로'는 본 명세서에 사용될 때, 예를 들어 서버, 셀룰러 네트워크 디바이스, 다른 네트워크 디바이스 및/또는 다른 컴퓨팅 디바이스 내의 휴대폰 또는 유사한 집적 회로용 기저대역 집적 회로 또는 애플리케이션 프로세서 집적 회로를 또한 포함한다.
본 명세서에 정의된 바와 같이, 비일시적, 물리적 또는 탠저블 저장 매체(예를 들어, 휘발성 또는 비휘발성 메모리 디바이스)를 칭하는 "컴퓨터 판독 가능 저장 매체"는 전자기 신호를 칭하는 "컴퓨터 판독 가능 전송 매체"로부터 구별될 수 있다.
본 명세서를 참조할 때, 느슨한 타일 블록은 지리학적 레코드(들)에 대응하는 기하학적 구조가 직사각형 블록 내의 모든 타일을 실제로 교차하지 않을 수 있더라도 각각의 지리학적 레코드(들)을 정의하는 타일의 직사각형 블록을 칭할 수 있다.
도 2는 모바일 단말(10)과 같은 디바이스가 예시적인 통신 환경에서 도시되어 있는 일반적인 시스템 다이어그램을 도시한다. 도 2에 도시된 바와 같이, 본 발명의 예시적인 실시예에 따른 시스템의 실시예는 네트워크(30)를 경유하여 서로 통신 가능한 제 1 통신 디바이스[예를 들어, 모바일 단말(10)] 및 제 2 통신 디바이스(20)를 포함할 수 있다. 몇몇 경우에, 본 발명의 실시예는 하나 이상의 부가의 통신 디바이스를 추가로 포함할 수 있고, 그 중 하나가 제 3 통신 디바이스(25)로서 도 2에 도시되어 있다. 일 실시예에서, 본 발명의 실시예를 이용하는 모든 시스템이 본 명세서 도시되고 그리고/또는 설명된 모든 디바이스를 포함할 수 있는 것은 아니다. 모바일 단말(10) 및/또는 제 2 및 제 3 통신 디바이스(20, 25)의 실시예가 예시의 목적으로 예시되고 이하에 설명될 수 있지만, 개인 휴대 정보 단말(PDA), 호출기, 모바일 텔레비전, 휴대폰, 게임기, 랩탑 컴퓨터, 카메라, 비디오 레코더, 오디오/비디오 플레이어, 라디오, 글로벌 포지셔닝 시스템(GPS) 디바이스, 블루투스 헤드셋, 범용 직렬 버스(USB) 디바이스 또는 전술된 및 다른 유형의 음성 및 텍스트 통신 시스템의 임의의 조합과 같은 다른 유형의 단말이 본 발명의 실시예를 즉시 실시할 수 있다. 더욱이, 서버 및 퍼스널 컴퓨터와 같은 모바일이 아닌 디바이스가 또한 본 발명의 실시예를 즉시 실시할 수 있다.
네트워크(30)는 대응 유선 및/또는 무선 인터페이스를 경유하여 서로 통신할 수 있는 다양한 상이한 노드[그 중에서 제 2 및 제 3 통신 디바이스(20, 25)가 예일 수 있음], 디바이스 또는 기능의 집합을 포함할 수 있다. 이와 같이, 도 2의 도시는 시스템 또는 네트워크(30)의 모든 포함적인 또는 상세도가 아니라 시스템의 특정 요소의 개략적인 도면의 예인 것으로 이해되어야 한다. 필수적인 것은 아니지만, 일 실시예에서, 네트워크(30)는 다수의 1세대(1G), 2세대(2G), 2.5G, 3세대(3G), 3.5G, 3.9G, 4세대(4G) 모바일 통신 프로토콜, 장기 진화(LTE) 또는 진화형 범용 지상 무선 액세스 네트워크(E-UTRAN), 자기 최적화/편성 네트워크(SON) 인트라-LTE, 인터-라디오 액세스 기술(RAT) 네트워크 등에 따른 통신을 지원하는 것이 가능할 수 있다. 일 실시예에서, 네트워크(30)는 점대점(P2P) 네트워크일 수 있다.
모바일 단말(10) 및 제 2 및 제 3 통신 디바이스(20, 25)와 같은 하나 이상의 통신 단말이 네트워크(30)를 경유하여 서로 통신할 수 있고, 하나 이상의 기지 사이트에 신호를 전송하고 그로부터 신호를 수신하기 위한 안테나 또는 안테나들을 각각 포함할 수 있다. 기지 사이트는 예를 들어, 하나 이상의 셀룰러 또는 모바일 네트워크의 부분인 하나 이상의 기지국(BS)(E-UTRAN에서는 노드-B라 칭함) 또는 근거리 통신망(LAN), 무선 근거리 통신망(WLAN), 도시권 통신망(MAN) 및/또는 인터넷과 같은 원거리 통신망(WAN)과 같은 데이터 네트워크에 결합될 수 있는 액세스 포인트일 수 있다. 이어서, 프로세싱 요소(예를 들어, 퍼스널 컴퓨터, 서버 컴퓨터 등)와 같은 다른 디바이스는 네트워크(30)를 경유하여 모바일 단말(10) 및 제 2 및 제 3 통신 디바이스(20, 25)에 결합될 수 있다. 모바일 단말(10) 및 제 2 및 제 3 통신 디바이스(20, 25)(및/또는 다른 디바이스)를 네트워크(30)에 집적 또는 간접 접속함으로써, 모바일 단말(10) 및 제 2 및 제 3 통신 디바이스(20, 25)는 다른 디바이스와 또는 서로 통신하는 것이 가능할 수 있다. 예를 들어, 모바일 단말(10) 및 제 2 및 제 3 통신 디바이스(20, 25) 뿐만 아니라 다른 디바이스는 하이퍼텍스트 전송 프로토콜(HTTP) 등을 포함하는 수많은 통신 프로토콜에 따라 통신할 수 있어, 이에 의해 모바일 단말(10) 및 제 2 및 제 3 통신 디바이스(20, 25)의 다양한 통신 또는 다른 기능을 각각 수행한다.
더욱이, 도 2에는 도시되지 않았지만, 모바일 단말(10) 및 제 2 및 제 3 통신 디바이스(20, 25)는 예를 들어 무선 주파수(RF), 근거리 통신(NFC), 블루투스(BT), 적외선(IR) 또는 근거리 통신망(LAN), 무선 LAN(WLAN), 마이크로파 액세스를 위한 전세계 상호 운용성(WiMAX), 무선 충실도(WiFi), 초광대역(UWB), 와이브리 기술 등을 포함하는 임의의 다수의 상이한 유선 또는 무선 통신 기술에 따라 통신할 수 있다. 이와 같이, 모바일 단말(10) 및 제 2 및 제 3 통신 디바이스(20, 25)는 임의의 수많은 상이한 액세스 메커니즘에 의해 네트워크(30) 및 서로와 통신하는 것이 가능할 수 있다. 예를 들어, 광대역 코드 분할 다중 접속(W-CDMA), CDMA2000, 모바일 통신용 글로벌 시스템(GSM), 범용 패킷 무선 서비스(GPRS) 등과 같은 모바일 액세스 메커니즘 뿐만 아니라 WLAN, WiMAX 등과 같은 무선 액세스 메커니즘 및 디지털 가입자 라인(DSL), 케이블 모뎀, 이더넷 등과 같은 고정 액세스 메커니즘이 지원될 수 있다.
예시적인 실시예에서, 제 1 통신 디바이스[예를 들어, 모바일 단말(10)]는 예를 들어 개인 휴대 정보 단말(PDA)과 같은 무선 전화 또는 다른 디바이스, 모바일 컴퓨팅 디바이스, 카메라, 비디오 레코더, 오디오/비디오 플레이어, 포지셔닝 디바이스, 게임기, 텔레비전 디바이스, 라디오 디바이스 또는 다양한 다른 유사한 디바이스 또는 이들의 조합과 같은 모바일 통신 디바이스일 수 있다. 제 2 통신 디바이스(20) 및 제 3 통신 디바이스(25)는 모바일 또는 고정 통신 디바이스일 수 있다. 그러나, 일 예에서, 제 2 통신 디바이스(20) 및 제 3 통신 디바이스(25)는 퍼스널 컴퓨터(PC) 또는 랩탑 컴퓨터와 같은 서버, 원격 컴퓨터 또는 단말일 수 있다.
예시적인 실시예에서, 네트워크(30)는 스마트 공간에 배열된 애드혹 또는 분산형 네트워크일 수 있다. 따라서, 디바이스는 네트워크(30)에 진입하고 그리고/또는 진출할 수 있고, 네트워크(30)의 디바이스는 각각의 디바이스 또는 노드의 추가 또는 제외 및 이들의 대응 능력을 고려하기 위해 다른 디바이스의 진입 및/또는 진출에 기초하여 동작을 조정하는 것이 가능할 수 있다.
예시적인 실시예에서, 모바일 단말 뿐만 아니라 제 2 및 제 3 통신 디바이스(20, 25)는 본 발명의 실시예를 이용하는 것이 가능한 장치(예를 들어, 도 3의 장치)를 이용할 수 있다.
도 3은 본 발명의 예시적인 실시예에 따른 장치의 개략 블록 다이어그램을 도시한다. 본 발명의 예시적인 실시예가 이제 장치(50)의 특정 요소가 도시되어 있는 도 3을 참조하여 설명될 것이다. 도 3의 장치(50)는 예를 들어 모바일 단말(10)[및/또는 제 2 통신 디바이스(20) 또는 제 3 통신 디바이스(25)] 상에 이용될 수 있다. 대안적으로, 장치(50)는 네트워크(30)의 네트워크 디바이스 상에 구체화될 수 있다. 그러나, 장치(50)는 대안적으로 모바일 및 고정(예를 들어, 상기에 열거된 임의의 디바이스와 같은)의 모두인 다양한 다른 디바이스에서 구체화될 수도 있다. 몇몇 경우에, 실시예는 디바이스의 조합 상에 이용될 수 있다. 이에 따라, 본 발명의 실시예는 전체로서 단일 디바이스[예를 들어, 모바일 단말(10)]로, 분산 방식의 복수의 디바이스에 의해(예를 들어, P2P 네트워크의 하나 또는 복수의 디바이스 상에) 또는 클라이언트/서버 관계의 디바이스에 의해 구체화될 수 있다. 더욱이, 이하에 설명되는 디바이스 또는 요소는 필수적인 것은 아닐 수 있고 따라서 몇몇은 특정 실시예에서 생략될 수도 있다는 것이 주지되어야 한다.
이제, 도 3을 참조하면, 예시적인 실시예에 따른 장치가 제공된다. 장치(50)는 프로세서(70), 사용자 인터페이스(67), 통신 인터페이스(74), 메모리 디바이스(76), 디스플레이(85) 및 포지셔닝 센서(78)를 포함하거나 다르게는 이들과 통신할 수 있다. 메모리 디바이스(76)는 예를 들어 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리 디바이스(76)는 장치가 본 발명의 예시적인 실시예에 따라 다양한 기능을 수행하는 것을 가능하게 하기 위한 정보, 데이터, 파일, 애플리케이션, 명령 등을 저장하도록 구성될 수 있다. 예를 들어, 메모리 디바이스(76)는 프로세서(70)에 의한 프로세싱을 위해 입력 데이터를 버퍼링하도록 구성될 수 있다. 부가적으로 또는 대안적으로, 메모리 디바이스(76)는 프로세서(70)에 의한 실행을 위해 명령을 저장하도록 구성될 수 있다. 또 다른 대안으로서, 메모리 디바이스(76)는 정보 및/또는 미디어 콘텐츠(예를 들어, 사진, 비디오 등)를 저장하는 복수의 데이터베이스 중 하나일 수 있다. 메모리 디바이스(76)는 하나 이상의 데이터베이스를 포함할 수 있다. 예시적인 실시예에서, 메모리 디바이스(76)는 일시적이 아닌 탠저블 메모리 디바이스일 수 있다. 메모리 디바이스(76)는 객체 및/또는 장소 등의 하나 이상의 위치와 연관된 데이터 및/또는 맵 데이터를 저장할 수 있다.
장치(50)는 본 발명의 예시적인 실시예를 이용하도록 구성된 모바일 단말[예를 들어, 모바일 단말(10)] 또는 고정 통신 디바이스 또는 컴퓨팅 디바이스일 수 있다. 그러나, 일 실시예에서, 장치(50)는 칩 또는 칩셋으로서 구체화될 수 있다. 달리 말하면, 장치(50)는 구조적 조립체(예를 들어, 베이스보드) 상에 재료, 구성 요소 및/또는 와이어를 포함하는 하나 이상의 물리적 패키지(예를 들어, 칩)를 포함할 수 있다. 구조적 조립체는 그 위에 포함된 부품 회로를 위한 물리적 강도, 크기의 보존 및/또는 전기적 상호 작용의 제한을 제공할 수 있다. 따라서, 장치(50)는 몇몇 경우에 단일 칩 또는 단일 "시스템 온 칩"으로서 본 발명의 실시예를 구현하도록 구성될 수 있다. 이와 같이, 몇몇 경우에, 칩 또는 칩셋은 본 명세서에 설명된 기능성을 제공하는 하나 이상의 동작을 수행하는 수단을 구성할 수 있다. 추가적으로 또는 대안으로서, 칩 또는 칩셋은 본 명세서에 설명된 기능성 및/또는 서비스와 관련하여 사용자 인터페이스 네비게이션을 가능하게 하기 위한 수단을 구성할 수 있다.
포지셔닝 센서(78)는 프로세서(70)와 통신할 수 있다. 포지셔닝 센서(78)는 예를 들어, 글로벌 포지셔닝 시스템(GPS) 센서, 어시스티드 글로벌 포지셔닝 시스템(어시스티드-GPS) 센서, 블루투스(BT)-GPS 마우스 또는 다른 GPS 또는 포지셔닝 수신기 등을 포함할 수 있다. 그러나, 일 실시예에서, 포지셔닝 센서는 만보기(pedometer) 또는 관성 센서를 포함할 수 있다. 다른 실시예에서, 포지셔닝 센서는 소프트웨어에 따라 동작하는 디바이스 또는 회로와 같은 임의의 수단일 수 있고 또는 다르게는 하드웨어 또는 하드웨어와 소프트웨어의 조합[예를 들어, 소프트웨어 제어 하에서 동작하는 프로세서(70), 프로세서(70)는 본 명세서에 설명된 동작을 수행하도록 구체적으로 구성된 ASIC 또는 FPGA 또는 이들의 조합으로서 구성됨]으로 구체화되어, 이에 의해 이하에 설명되는 바와 같이 포지셔닝 센서의 대응 기능을 수행하도록 디바이스 또는 회로를 구성한다. 따라서, 소프트웨어가 구체화되는 예에서, 소프트웨어를 실행하는 디바이스 또는 회로[예를 들어, 일 예에서 프로세서(70)]는 이러한 수단과 연관된 구조체를 형성한다.
이와 관련하여, 예를 들어 포지셔닝 센서(78)는 무엇보다도, 장치의 위치를 결정하기 위해 장치의 프로세서에 의해 사용될 수 있는 GPS 데이터를 생성하도록 구성될 수 있다. 위치와 연관된 데이터는 장치의 경도, 위도 및 고도 좌표 중 하나 이상에 관련된 정보를 포함하지만 필수적인 것은 아닐 수 있다. 예시적인 실시예에서, 포지셔닝 센서(78)는 위치 데이터(예를 들어, 맵 데이터)에 대해 네트워크 디바이스에 하나 이상의 질의를 송신할 수 있고, 네트워크 디바이스로부터 위치 데이터의 수신시에, 포지셔닝 센서(78)는 장소, 객체 등의 위치를 판정하기 위해 위치 정보(예를 들어, 맵 데이터)를 이용할 수 있다. 예시적인 실시예에서, 포지셔닝 센서(78)는 장치(50)의 하나 이상의 애플리케이션에 판정된 위치 정보를 송신할 수 있다.
프로세서(70)는 다수의 상이한 방식으로 구체화될 수 있다. 예를 들어, 프로세서(70)는 프로세싱 요소, 코프로세서, 제어기 또는 예를 들어, ASIC(응용 주문형 집적 회로), FPGA(필드 프로그램 가능 게이트 어레이), 하드웨어 가속기 등과 같은 집적 회로를 포함하는 다양한 다른 프로세싱 디바이스와 같은 다양한 프로세싱 수단으로서 구체화될 수 있다. 예시적인 실시예에서, 프로세서(70)는 메모리 디바이스(76) 내에 저장되거나 프로세서(70)에 다른 방식으로 액세스 가능한 명령을 실행하도록 구성될 수 있다. 이와 같이, 하드웨어 또는 소프트웨어 방법에 의해 또는 이들의 조합에 의해 구성되던 간에, 프로세서(70)는 이에 따라 구성될 때 본 발명의 실시예에 따른 동작을 수행하는 것이 가능한 엔티티(예를 들어, 회로 내에 물리적으로 구체화됨)를 표현할 수 있다. 따라서, 예를 들어, 프로세서(70)가 ASIC, FPGA 등으로서 구체화될 때, 프로세서(70)는 본 명세서에 설명된 동작을 수행하기 위한 특정하게 구성된 하드웨어일 수 있다. 대안적으로, 다른 예로서, 프로세서(70)가 소프트웨어 명령의 실행자로서 구체화될 때, 명령은 프로세서(70)를 특정하게 구성할 수 있고, 이 프로세서는 다르게는 본 명세서에 설명된 알고리즘 및 동작을 수행하기 위해, 명령에 의해 제공된 특정 구성에 대한 것인 아니면 범용 프로세싱 요소 또는 다른 기능적으로 구성 가능한 회로일 수 있다. 그러나, 몇몇 경우에, 프로세서(70)는 본 명세서에 설명된 알고리즘 및 동작을 수행하기 위한 명령에 의한 프로세서(70)의 추가의 구성에 의해 본 발명의 실시예를 이용하기 위해 적용된 특정 디바이스(예를 들어, 모바일 단말)의 프로세서일 수 있다.
예시적인 실시예에서, 프로세서(70)는 브라우저, 웹 브라우저 등과 같은 접속성 프로그램을 동작하도록 구성될 수 있다. 브라우저는 예를 들어 웹 애플리케이션과 같은 하나 이상의 애플리케이션을 실행할 수 있다. 이와 관련하여, 접속성 프로그램은 예를 들어 장치(50)가 무선 애플리케이션 프로토콜(WAP)에 따라 예를 들어 위치 기반 콘텐츠 또는 임의의 다른 적합한 콘텐츠와 같은 웹 콘텐츠를 전송하고 수신하는 것을 가능하게 할 수 있다. 브라우저는 하이퍼텍스트 마크업 언어(HTML), 자바스크립트 또는 웹 콘텐츠를 취급하기 위한 임의의 다른 적합한 프로그래밍 언어를 이용할 수 있다. 프로세서(70)는 또한 디스플레이(85)와 통신할 수 있고 임의의 적합한 정보, 데이터, 콘텐츠(예를 들어, 미디어 콘텐츠) 등을 예시하도록 디스플레이에 명령할 수 있다.
한편, 통신 인터페이스(74)는 장치(50)와 통신하는 네트워크 및/또는 임의의 다른 디바이스 또는 모듈로부터/모듈로 데이터를 수신 및/또는 전송하도록 구성된 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구체화된 디바이스 또는 회로와 같은 임의의 수단일 수 있다. 이와 관련하여, 통신 인터페이스(74)는 예를 들어 안테나(또는 다중 안테나) 및 무선 통신 네트워크[예를 들어, 네트워크(30)]와 무선 통신을 가능하게 하기 위한 지원 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 고정 환경에서, 통신 인터페이스(74)는 대안적으로 또는 또한 유선 통신을 지원할 수 있다. 이와 같이, 통신 인터페이스(74)는 케이블, 디지털 가입자 라인(DSL), 범용 직렬 버스(USB), 이더넷 또는 다른 메커니즘을 경유하여 통신을 지원하기 위한 통신 모뎀 및/또는 다른 하드웨어/소프트웨어를 포함할 수 있다.
사용자 인터페이스(67)는 사용자 인터페이스(67)에서 사용자 입력의 지시를 수신하고 그리고/또는 사용자에게 가청, 시각, 기계적 또는 다른 출력을 제공하기 위해 프로세서(70)와 통신할 수 있다. 이와 같이, 사용자 인터페이스(67)는 예를 들어, 키보드, 마우스, 조이스틱, 디스플레이, 터치 스크린, 마이크로폰, 스피커 또는 다른 입력/출력 메커니즘을 포함할 수 있다. 안테나가 서버 또는 소정의 다른 네트워크 디바이스로서 구체화되는 예시적인 실시예에서, 사용자 인터페이스(67)는 제한되고, 원격 위치되거나 제거될 수 있다.
이제, 도 4를 참조하면, 예를 들어 네트워크 디바이스(90)와 같은 네트워크 엔티티의 예시적인 실시예의 블록 다이어그램이 제공된다. 도 4에 도시된 바와 같이, 네트워크 디바이스(90)(예를 들어, 서버)는 프로세서(94) 및 연관 메모리(96)를 포함할 수 있다. 메모리(96)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있고, 콘텐츠, 데이터 등을 저장할 수 있다. 예를 들어, 메모리는 네트워크 디바이스로부터 전송되고 그리고/또는 네트워크 디바이스에 의해 수신된 콘텐츠, 데이터, 정보 등을 저장할 수 있다. 또한, 예를 들어, 메모리(96)는 전술된 바와 같이, 본 발명의 실시예에 따라 네트워크 디바이스의 다양한 동작을 수행하도록 프로세서(94)를 위한 클라이언트 애플리케이션, 명령, 컴퓨터 프로그램 코드 등을 저장할 수 있다. 메모리(96)는 예를 들어 데이터베이스(93)와 같은 하나 이상의 데이터베이스를 포함할 수 있다. 일 예시적인 실시예에서, 메모리(96)는 네트워크 디바이스(90) 내에 구체화될 수 있다. 다른 대안적인 예시적인 실시예에서, 메모리(96)는 네트워크 디바이스(90)의 외부에 있을 수 있다. 데이터베이스(93)는 지리학적 데이터가 이하에 더 완전히 설명되는 방식으로 데이터베이스 컨버터(97)에 의해 하나 이상의 맵 타일로 변환될 수 있는 지리학적 데이터베이스[또한 본 명세서에서 지오데이터베이스(93) 또는 지리학적 데이터베이스(93)라 칭함]일 수 있다. 이와 관련하여, 지리학적 데이터베이스는 실제 세상에서 장소, 객체 등(예를 들어, 도시, 고속도로, 교량 등)의 위치와 연관된 대응 레코드(예를 들어, 하나 이상의 맵)을 위한 기하학적 구조(예를 들어, 점, 라인, 다각형 등)를 정의하는 적어도 하나의 열을 포함할 수 있다. 이와 관련하여, 레코드는 예를 들어 실제 세상에서 장소, 객체 등에 대응하는 위도 및 경도 좌표와 같은 좌표와 연관될 수 있다. 지리학적 데이터베이스는 지리학적 데이터베이스 내의 데이터의 검색을 위해 뿐만 아니라 임의의 다른 적합한 이유로 프로세서(94) 및/또는 데이터베이스 컨버터(97)로부터 하나 이상의 질의를 수신할 수 있다. 예시적인 실시예에서, 데이터베이스(93)는 이들에 한정되는 것은 아니지만, 하나 이상의 거리(예를 들어, 도로 기하학적 구조에 대응), 바다(예를 들어, 물 기하학적 구조에 대응), 행정 경계(예를 들어, 국가, 주, 도시, 우편 번호 등을 위한 경계 기하학적 구조에 대응) 또는 임의의 다른 적합한 지리학적 데이터와 연관된 지리학적 데이터를 포함할 수 있다.
메모리(96)에 추가하여, 프로세서(94)는 또한 데이터, 콘텐츠 등을 표시하고, 전송하고 그리고/또는 수신하기 위해 적어도 하나의 인터페이스 또는 다른 수단에 접속될 수 있다. 이와 관련하여, 인터페이스(들)는 데이터, 콘텐츠 등을 전송 및/또는 수신하기 위한 적어도 하나의 통신 인터페이스(98) 또는 다른 수단, 뿐만 아니라 적어도 하나의 사용자 입력 인터페이스(95)를 포함할 수 있다. 사용자 입력 인터페이스(95)는 이어서, 키보드, 터치 디스플레이, 조이스틱 또는 다른 입력 디바이스와 같은 네트워크 엔티티가 사용자로부터 데이터를 수신하게 하는 임의의 다수의 디바이스를 포함할 수 있다. 이와 관련하여, 프로세서(94)는 사용자 입력 인터페이스의 하나 이상의 요소의 적어도 일부 기능을 제어하도록 구성된 사용자 인터페이스 회로를 포함할 수 있다. 프로세서 및/또는 프로세서의 사용자 인터페이스 회로는 프로세서에 액세스 가능한 메모리(예를 들어, 휘발성 메모리, 비휘발성 메모리 등) 상에 저장된 컴퓨터 프로그램 명령(예를 들어, 소프트웨어 및/또는 펌웨어)을 통해 사용자 인터페이스의 하나 이상의 요소의 하나 이상의 기능을 제어하도록 구성될 수 있다.
예시적인 실시예에서, 프로세서(94)는 데이터베이스 컨버터(97)로서 구체화되고, 포함하거나 다른 방식으로 제어할 수 있다. 데이터베이스 컨버터(97)는 소프트웨어에 따라 동작하는 디바이스 또는 회로와 같은 임의의 수단일 수 있거나 소프트웨어 제어 하에서 동작하는 하드웨어 또는 하드웨어와 소프트웨어의 조합[예를 들어, 프로세서(94)]으로 구체화될 수 있고, 프로세서(94)는 본 명세서에 설명된 동작을 수행하도록 구체적으로 구성된 ASIC 또는 FPGA 또는 이들의 조합으로서 구성되어, 이에 의해 이하에 설명되는 바와 같이 데이터베이스 컨버터(97)의 대응 기능을 수행하도록 디바이스 또는 구조체를 구성한다. 따라서, 소프트웨어가 구체화되는 예에서, 소프트웨어를 실행하는 디바이스 또는 회로[예를 들어, 일 예에서 프로세서(94)]는 이러한 수단과 연관된 구조체를 형성한다.
데이터베이스 컨버터(97)는 예를 들어, 지리학적 데이터베이스(들)[예를 들어, 데이터베이스(93)] 내의 하나 이상의 레코드에 대응하는 위도 및 경도 좌표[실제 세상의 장소 또는 객체 등의 위치(예를 들어, 하나 이상의 맵)와 연관됨]와 같은 좌표와 연관된 지리학적 데이터를 하나 이상의 맵 타일로 변환할 수 있다. 맵 타일은 이하에 더 완전히 설명되는 방식으로 레코드과 연관될 수 있는 하나 이상의 대응하는 느슨한 타일 블록에 의해 정의될 수 있다.
이와 관련하여, 데이터베이스 컨버터(97)는 컴퓨팅 저장 장치(예를 들어, 메모리)의 크기의 감소를 가능하게 하고, 지리학적 데이터베이스 상에 타일 인덱스를 유지하도록 요구될 수 있는 프로세싱 요구를 최소화할 수 있다. 이를 성취하기 위해, 데이터베이스 컨버터(97)는 지리학적 데이터베이스(D) 및 맵 줌 레벨(zinput)을 입력으로서 취할 수 있다. 지리학적 데이터베이스(D) 내의 각각의 지리학적 레코드(R)에 대해, 데이터베이스 컨버터(97)는 레코드(R)에 대해 장소, 영역 또는 객체의 위치에 대응하는 기하학적 구조[예를 들어, 점(들), 라인(들), 다각형(들) 등]가 Ti와 교차하도록 줌 레벨(zinput)에서 타일의 세트 S={Ti}를 결정할 수 있다.
데이터베이스 컨버터(97)는 이어서 B⊇S가 되도록 대응 맵 상에 타일의 최소 직사각형 블록(B)을 지시하는 R에 대한 엔트리를 추가하고, 여기서 B는 레코드(R)에 대한 느슨한 타일 블록 표현을 나타낸다. 그 기하학적 구조가 소정의 타일(T)과 교차할 수 있는 모든 지리학적 레코드(R)을 수신하기 위한 질의를 실행하기 위해, 데이터베이스 컨버터(97)는 R에 대한 느슨한 타일 블록(B)[예를 들어, 직사각형 타일 블록(B)]이 T와 교차하도록 지리학적 데이터베이스(D) 내의 모든 레코드(R)을 식별할 수 있다. 이와 관련하여, 데이터베이스 컨버터(97)는 이하에 더 완전히 설명되는 바와 같이, 지리학적 데이터베이스의 기하학적 데이터(예를 들어, 점, 라인, 다각형 등)에 대응하는 지리학적 콘텐츠를 하나 이상의 대응 맵 타일로 변환할 수 있다. 예시적인 실시예에 따른 대응 맵 타일로의 지리학적 콘텐츠의 변환은 컴퓨팅 저장 용량 및 프로세싱 요구를 감소시킬 수 있다.
한정이 아니라 예시의 목적으로, 데이터베이스 컨버터(97)가 지리학적 데이터베이스 내의 기하학적 데이터에 대응하는 지리학적 콘텐츠를 하나 이상의 맵 타일로 변환할 수 있는 예로서 이하를 고려한다.
이와 관련하여, 데이터베이스 컨버터(97)는 데이터베이스 최적화 절차를 구현할 수 있고, 적어도 2개의 입력 변수, 즉 (1) 지리학적 데이터베이스(D) 및 (2) 줌 레벨(zinput)을 분석할 수 있다. 데이터베이스 최적화 절차의 출력은 새로운 또는 수정된 지리학적 데이터베이스(D1)일 수 있다. 이와 관련하여, 데이터베이스 컨버터(97)는 zinput의 값을 맵 시스템에서 최대 줌 레벨(예를 들어, 18, 20 등의 최대 줌 레벨)로 설정할 수 있다. 지리학적 데이터베이스(D)는 하나 이상의 레코드에 대응하는 기하학적 구조(예를 들어, 점, 라인, 다각형 등)를 정의하는 열(들) 명명된 기하학적 구조를 포함할 수 있다. 기하학적 구조는 예를 들어 위치 데이터(예를 들어 맵 데이터)와 연관된 경도 및 위도 좌표와 같은 하나 이상의 좌표에 대응할 수 있다. 지리학적 데이터베이스(D)의 예는 일 예시적인 실시예에서 데이터베이스(93)일 수 있다. 이와 관련하여, 데이터베이스(93)는 예를 들어 거리, 고속도로(예를 들어, 도로 기하학적 구조), 바다(예를 들어, 물 기하학적 구조), 하나 이상의 행정 경계(예를 들어, 국가, 주, 지역, 도시 및 우편 번호를 위한 경계 기하학적 구조) 및 임의의 다른 적합한 지리학적 데이터와 같은 실제 세상에서 장소 또는 객체의 위치와 연관된 지리학적 콘텐츠[예를 들어, 기하학적 위치 데이터(예를 들어, 맵 데이터)]를 포함할 수 있다.
데이터베이스 구조의 수정
데이터베이스 컨버터(98)는 데이터베이스 최적화 절차를 구현하고, 지리학적 데이터베이스(D)에 적어도 4개의 새로운 열을 추가할 수 있다. 데이터베이스 컨버터(98)에 의해 지리학적 데이터베이스(D)에 추가된 열은 xmin, ymin, xmax 및 ymax로서 나타낼 수 있다. 지리학적 데이터베이스(D)의 하나 이상의 레코드(R) 및 레코드(들)(R) 내의 기하학적 필드의 하나 이상의 값이 주어지면, 데이터베이스 컨버터(97)는 이하와 같이 필드를 정의할 수 있다.
xmin: R의 기하학적 구조의 일부 부분을 포함할 수 있는 줌 레벨(zinput)에서 모든 타일의 최소 x값,
ymin: R의 기하학적 구조의 일부 부분을 포함할 수 있는 줌 레벨(zinput)에서 모든 타일의 최소 y값,
xmax: R의 기하학적 구조의 일부 부분을 포함할 수 있는 줌 레벨(zinput)에서 모든 타일의 최대 x값,
ymax: R의 기하학적 구조의 일부 부분을 포함할 수 있는 줌 레벨(zinput)에서 모든 타일의 최대 y값,
여기서, xmin, ymin, xmax 및 ymax는 지리학적 레코드(R)에 대한 느슨한 타일 블록(예를 들어, 직사각형 타일 블록)을 표현한다.
데이터베이스의 프로세싱 및 업데이트
지리학적 데이터베이스(D)[예를 들어, 데이터베이스(93)] 내의 각각의 레코드(R)에 대해, 데이터베이스 컨버터(97)는 레코드(들)(R)의 기하학적 구조[예를 들어, 거리에 대한 기하학적 구조(예를 들어, 위도 및 경도 좌표)와 연관된 레코드 등]의 일부 부분을 포함할 수 있는 줌 레벨(zinput)에서 타일의 세트 S={Ti}를 컴퓨팅하고, (2) 이하와 같이 레코드(들)(R)을 업데이트하는 것을 수행할 수 있다.
R.xmin = S 내의 타일의 최소 x값으로 설정
R.ymin = S 내의 타일의 최소 y값으로 설정
R.xmax = S 내의 타일의 최대 x값으로 설정
R.ymax = S 내의 타일의 최대 y값으로 설정
이와 관련하여, 데이터베이스 컨버터(97)는 R.xmin, R.ymin, Rx.max, R.ymax의 값이 S의 수퍼세트인 타일의 느슨한 블록(예를 들어, 직사각형 블록)을 정의할 수 있다고 판정할 수 있다.
수정된 또는 새로운 데이터베이스 상에서 질의 실행
클라이언트[예를 들어, 장치(50)]는 새로운 또는 수정된 지리학적 데이터베이스(D1)[예를 들어, 데이터베이스(93)] 내의 타일에 대한 질의(Q)를 발행할 수 있다. 네트워크 디바이스(90)에 의한 질의(Q)의 수신에 응답하여, 데이터베이스 컨버터(97)는 이하를 수행할 수 있다.
SELECT * from D1 WHERE x = xi AND y = yi AND zoom = zi
달리 말하면, 데이터베이스 컨버터(97)는 수정된 또는 새로운 지리학적 데이터베이스(D1)의 각각의 레코드를 선택할 수 있고, 여기서 x=xi, y=yi, 줌=zi이다. 일 예시적인 실시예에서, 장치(50)의 포지셔닝 센서(78)가 질의(Q)를 생성하여 네트워크 디바이스(90)에 송신할 수 있다는 것이 주목되어야 한다.
이와 관련하여, 데이터베이스 컨버터(97)는 세트 U 내의 타일이 최대 줌 레벨(zmax)[또는 데이터베이스 최적화 절차에 대한 입력(예를 들어, zinput)으로서 선택되었던 줌 레벨]에 있고 클라이언트 질의(Q)(예를 들어, 타일 x=xi, y=yi, zoom=zi) 내에 참조된 타일에 포함될 수 있도록 타일의 세트 U를 먼저 컴퓨팅할 수 있다. 맵 타일의 이력적 성질에 기인하여, 데이터베이스 컨버터(97)는 임의의 줌 레벨에서 임의의 맵 타일(T)에 대해, 타일(T) 내에 포함될 수 있는 최대 줌 레벨(zmax)에서 모든 타일을 컴퓨팅할 수 있다. 이와 관련하여, 데이터베이스 최적화 절차로의 입력 줌 레벨로서 최대 줌 레벨(예를 들어, 18, 20 등의 줌 레벨)을 정의하는 것은 타일(T) 내에 포함될 수 있는 줌(zmax)에서의 모든 타일의 세트를 결정하는데 부분적으로 사용될 수 있다. 데이터베이스 컨버터(97)는 Uleft를 타일의 세트 U 내의 최좌측 타일의 x값으로서, Uright를 세트 U 내의 최우측 타일의 x값으로서, Utop을 세트 U 내의 최상측 타일의 y값으로서, 그리고 Ubottom을 세트 U 내의 최하측 타일의 y값으로서 정의할 수 있다.
데이터베이스 컨버터(97)는 이어서 질의(Q)를 새로운 질의(Q1)로 변환할 수 있고, 여기서 질의(Q1)는 이하에 의해 결정될 수 있다.
SELECT* FROM D1 WHERE Uleft≤xmax AND Uright≥xmin AND Utop≤ymax AND Ubottom≥ymin.
달리 말하면, 데이터베이스 컨버터(97)는 새로운 또는 수정된 지리학적 데이터베이스(D1)로부터 각각의 레코드를 선택할 수 있고, 여기서, Uleft≤xmax 및 Uright≥xmin 및 Utop≤ymax 및 Ubottom≥ymin이다.
데이터베이스 컨버터(97)는 질의(Q1)의 실행에 기초하여 반환된 후보 레코드의 세트로 C를 정의할 수 있다. 후보 레코드(C) 내의 각각의 레코드(R)에 대해, 데이터베이스 컨버터(97)는 x=xi, y=yi, 줌=zi에 의해 식별된 타일이 레코드(들)(R)의 기하학적 구조의 동일한 부분을 포함하는지 여부를 판정할 수 있다. 데이터베이스 컨버터(78)가 결과가 거짓이라고 판정하는 경우에, 데이터베이스 컨버터(97)는 후보 레코드(들)(C)으로부터 대응 레코드(들)(R)을 제거할 수 있다. 이와 관련하여, 데이터베이스 컨버터(97)는 질의(Q)를 네트워크 디바이스(90)에 송신하는 클라이언트[예를 들어, 장치(50)]에 최종 후보 레코드(들)(C)을 반환할 수 있다. 이 방식으로, 클라이언트는 레코드과 연관된 데이터(예를 들어, 맵 데이터)를 이용할 수 있다.
이제, 도 5를 참조하면, 일 줌 레벨로부터 더 상위의 줌 레벨로 타일을 맵핑하기 위한 예시적인 실시예가 제공된다. 이와 관련하여, 줌 레벨(z1)에서 타일 T = (x1, y1)이 주어지면, 줌 레벨 z2(여기서, z2≥z1)에서 T 내에 포함된 타일의 블록은 이하와 같이 데이터베이스 컨버터(97)에 의해 정의될 수 있다.
z2-z1=z라 정의함, 이어서
식 1은 x2 = 2×z×x1으로 정의함,
식 2는 y2 = 2×z×y1으로 정의함,
식 3은 n = m = 2×z-1.
타일(T)은 대응 위치 데이터(예를 들어, 맵 데이터)에 대해 클라이언트[예를 들어, 장치(50)]로부터 네트워크 디바이스(90)로 질의(Q) 내에 포함될 수 있다는 것이 주목되어야 한다.
이들 식을 이용함으로써, 데이터베이스 컨버터(97)는 예시적인 실시예에 따라 일 줌 레벨(예를 들어, 줌 레벨 1)로부터 더 상위의 줌 레벨(예를 들어, 줌 레벨 15)로 타일을 맵핑하기 위해 임의의 줌 레벨에 대해 이용될 수 있는 도 5의 맵핑된 타일을 생성할 수 있다.
데이터베이스 컨버터(97)가 지리학적 데이터베이스의 지리학적 데이터에 대응하는 지리학적 콘텐츠를 하나 이상의 대응 맵 타일로 변환할 수 있는 예시적인 방식에 관한 한정이 아닌 예시의 목적으로, 이하의 예를 고려한다.
이 예시적인 실시예에서, 클라이언트[예를 들어, 장치(50)]는 대응 맵이 18의 최대 줌 레벨을 가질 수 있는 줌 레벨 10에서 타일에 대해 네트워크 엔티티[예를 들어, 네트워크 디바이스(90)]에 질의를 발행하거나 송신할 수 있다. 이와 같이, 데이터베이스 컨버터(97)는 이하를 수행할 수 있다.
SELECT*FROM D WHERE x = 100 AND y = 200 AND zoom = 10
달리 말하면, 데이터베이스 컨버터(97)는 100의 x값(예를 들어, 타일 좌표), 200의 y값(예를 들어, 타일 좌표) 및 10의 줌값에 대응하는 기하학적 데이터(예를 들어, 기하학적 필드 내의)를 가질 수 있는 지리학적 데이터베이스(D)로부터 각각의 레코드(R)을 선택할 수 있다.
이와 관련하여, 네트워크 디바이스(90)의 데이터베이스 컨버터(97)는 x=100, y=200, 줌=10인 10의 줌 레벨에 대응하는 이 타일에 대한 줌 레벨 18에서의 타일의 등가의 블록을 먼저 컴퓨팅하거나 결정할 수 있다. 줌 레벨 18은 맵 타일 데이터베이스 내의 지리학적 레코드가 줌 레벨 18 타일 레코드으로서 표현될 수 있기 때문에(이 예에서, 대응 맵에 대한 최대 줌 레벨은 18일 수 있기 때문에) 사용될 수 있다.
데이터베이스 컨버터(97)는 이하를 컴퓨팅하기 위해 이 예에 도 5와 관련하여 전술된 식을 적용할 수도 있다.
x1 = 100, yi = 200, z1 = 10, z2 = 18
z2 - z1 = 8(예를 들어, 18 - 10 = 8 = z)
x2 = 1600(예를 들어, 2×8×100 = 1600), y2 = 3200(예를 들어, 2×8×200 = 3200), n = m = 15(예를 들어, 2×8-1 = 15), x2+n = 1615(예를 들어, 1600+15 = 1615), y2+m = 3215(예를 들어, 3200+15 = 3215).
이제, 도 6을 참조하면, 상기 계산에 기초하여, 데이터베이스 컨버터(97)는 x=100, y=200, 줌=10인 줌 레벨 10에 동등한 줌 레벨 18에서 타일 블록을 생성할 수 있다. 예를 들어, 도 6의 타일 블록은 x2=1600, y2=3200, x2+n=1615, y2+m=3215 등인 것을 도시한다. 이와 관련하여, 데이터베이스 컨버터(97)는 줌 레벨 10에서 타일을 줌 레벨 18로 확장하는 것에 응답하여 얻어진 직사각형 타일 블록(B1)을 결정할 수 있다.
줌 레벨 18에서 등가의 타일을 컴퓨팅한 후에, 네트워크 디바이스(90)의 데이터베이스 컨버터(97)는 클라이언트[예를 들어, 장치(50)]에 의해 송신된 초기 질의(Q)를 새로운 질의(Q1)로 변환할 수 있고, 여기서 x 및 y값은 이제 18의 줌 레벨에 기초한다. 상기 예에 기초하여, 이 새로운 질의(Q1)는 이하의 같이 나타낼 수 있다.
SELECT*[예를 들어, 각각의 레코드(들)을 선택함] from D1 WHERE Uleft≤xmax AND Uright≥xmin AND Utop≤ymax AND Ubottom≥ymin, 이는 이 예에 적용될 때 이하를 산출함, SELECT*FROM D1 WHERE 1600≤xmax AND 1615≥xmin AND 3200≤ymax AND 3215≥ymin.
이와 같이, 이 새로운 질의(Q1)는 전술된 방식으로 기하학적 데이터에 부분적으로 기초하여 생성된 맵 타일 데이터를 갖는 새로운 또는 수정된 지리학적 데이터베이스[예를 들어, 데이터베이스(93)]에 데이터베이스 컨버터(97)에 의해 제공될 수 있다. 이와 관련하여, 질의(Q1)는 그 느슨한 타일 블록이 새로운 질의(Q1)의 타일 블록과 교차하는 새로운 또는 수정된 지리학적 데이터베이스 내의 모든 지리학적 레코드를 반환하도록 이용될 수 있다. 이 방식으로, 지리학적 레코드 1, 2 및 3은 이들의 타일 블록(80)[본 명세서에 또한 느슨한 타일 블록(80)이라 칭함](82, 84) 각각이 도 7에 도시된 바와 같이 새로운 질의(Q1) 타일 블록(87)과 교차하기 때문에 네트워크 디바이스(90)에 반환될 수도 있다.
도 7을 참조하면, 지리학적 레코드의 기하학적 구조가 대응 직사각형 타일 블록의 모든 타일을 실제로 교차하지 않을 수 있더라도 각각의 지리학적 레코드를 정의하기 위한 직사각형 블록을 도시하는 맵이 제공된다. 이 예시적인 실시예의 이득은 대응 레코드(들)의 기하학적 구조가 교차하는 모든 타일을 리스팅할 것을 요구할 수 있는 더 정확한 정의를 갖는 것에 대조적으로 이 블록 내의 타일의 범위를 사용함으로써 지리학적 레코드의 효율적인 타일 표현을 허용할 수 있다는 것이다. 레코드(들)의 기하학적 구조가 1000개의 랜덤 타일을 교차할 수 있는 경우를 고려한다. 그 레코드에 대한 1000개의 타일의 리스트를 유지하는 대신에, 예시적인 실시예는 최소 x 및 y 타일값 및 최대 x 및 y 타일값을 정의하는 4개의 숫자를 항상 사용할 수 있다.
상기 예와 관련하여, 데이터베이스 컨버터(97)는 새로운 또는 수정된 지리학적 데이터베이스[예를 들어, 데이터베이스(93)]에 데이터베이스 컨버터(97)에 의해 제공되었던 새로운 질의(Q1)로부터의 결과를 수신할 수 있다. 데이터베이스 컨버터(97)는 이어서 기하학적 구조가 새로운 질의(Q1)의 타일 블록(87)을 실제로 교차하는지 여부를 판정하기 위해 결과 내의 각각의 레코드에 대응하는 기하학적 구조를 검사할 수도 있다[예를 들어, 기하학적 데이터(예를 들어, 점, 라인, 다각형 등)와 연관된 위도 좌표 및 경도 좌표]. 도 7에 도시된 바와 같이, 데이터베이스 컨버터(97)는 지리학적 레코드 2 및 3이 질의 타일 블록(87)을 교차한다고 판정할 수 있다. 그러나, 데이터베이스 컨버터(97)는 또한 지리학적 레코드 1에 대응하는 느슨한 타일 블록(80)이 블록(87) 내의 질의 타일을 교차하지만, 지리학적 레코드 1에 대응하는 실제 기하학적 구조는 질의 타일 블록(87)을 교차하지 않는다고 판정할 수 있다. 이와 같이, 데이터베이스 컨버터(97)는 새로운 또는 수정된 지리학적 데이터베이스로부터 검색된 결과로부터 지리학적 레코드 1을 제거할 수 있고, 단지 네트워크 디바이스(90)에 질의(Q)를 초기에 송신한 클라이언트[예를 들어, 장치(50)]에만 지리학적 레코드 2 및 3을 제공할 수 있다. 지리학적 레코드 4는 연관된 느슨한 타일 블록(85)이 질의 타일 블록(87)을 교차하지 않기 때문에 이 예시적인 실시예에서 데이터베이스로부터 검색되지 않는다는 것이 주목되어야 한다.
도 7을 재차 참조하면, 데이터베이스 컨버터(97)는 타일 블록(80, 82, 84, 85)이 수정된 데이터베이스(93) 내의 지리학적 레코드의 느슨한 타일 표현인 직사각형 블록(B2)이라고 판정할 수 있다. 컨버터(97)가 타일 블록(B1)[예를 들어, 질의 타일 블록(87)]이 소정의 타일 블록(B2)[예를 들어, 느슨한 타일 블록(B2)]을 교차한다고 판정하는 경우에, 대응 직사각형 타일 블록(B2)과 연관된 지리학적 레코드는 네트워크 디바이스(90)(예를 들어, 서버)의 데이터베이스 컨버터(97)에 데이터베이스에 의해 반환될 수 있다. 이와 관련하여, 데이터베이스 컨버터는 질의(Q1)의 결과를 분석할 수 있고 클라이언트[예를 들어, 장치(50)]에 결과를 반환하기 전에 그 기하학적 구조가 질의 타일 블록(B1)을 실제로 교차하지 않는 임의의 레코드(들)을 제거할 수 있다.
이제, 도 8을 참조하면, 지리학적 데이터베이스 내의 기하학적 데이터에 대응하는 지리학적 콘텐츠를 하나 이상의 맵 타일로 변환하기 위한 예시적인 방법이 제공된다. 동작 800에서, 장치[예를 들어, 네트워크 디바이스(90)]는 지리학적 데이터베이스[예를 들어, 데이터베이스(93)]의 복수의 레코드에 대응하는 기하학적 데이터(예를 들어, 점, 라인, 다각형 등)를 분석할 수 있다. 기하학적 데이터는 대응 레코드과 연관된 지리학적 데이터베이스의 열 내에 포함될 수 있다. 기하학적 데이터는 예를 들어, 위도 및 경도 좌표와 같은 좌표와 연관될 수 있다. 동작 805에서, 장치[예를 들어, 네트워크 디바이스(90)]는 각각의 레코드과 연관된 기하학적 데이터에 대응하는 하나 이상의 값의 분석에 부분적으로 기초하여 복수의 수신 필드에 배열된 복수의 데이터 아이템을 추가함으로써 지리학적 데이터베이스를 수정할 수 있다. 필드는 수정된 지리학적 데이터베이스의 각각의 열(예를 들어, xmin, ymin, xmax, ymax)에 대응할 수 있다.
동작 810에서, 장치[예를 들어, 네트워크 디바이스(90)]는 각각의 레코드의 기하학적 데이터의 적어도 일부를 포함할 수 있는 사전 결정된 줌 레벨에서 각각의 레코드에 대해 타일의 세트를 결정할 수 있다. 사전 결정된 줌 레벨은 대응 맵의 최대 줌 레벨(예를 들어, 18의 최대 줌 레벨)에 대응할 수 있다. 동작 815에서, 장치는 각각의 레코드의 지리학적 데이터에 대응하는 세트의 타일의 최소 및 최대의 x값 및 y값(예를 들어, R.xmin, R.ymin, Rxmax, Rymax)과 연관된 데이터를 포함하도록 지리학적 데이터베이스의 각각의 레코드를 업데이트할 수 있다. 선택적으로, 동작 820에서, 장치는 수정된 지리학적 데이터베이스 내의 각각의 레코드에 대해, 최소 및 최대의 x값 및 y값이 각각의 레코드의 지리학적 데이터의 적어도 일부를 포함하는 타일의 세트의 수퍼세트인 맵 타일의 직사각형 블록을 정의하는 것을 결정할 수 있다. 이와 관련하여, 장치는 질의[예를 들어, 질의(Q)]의 수신에 응답하여 디바이스[예를 들어, 장치(50)]에 적어도 하나의 지리학적 레코드과 연관된 데이터를 제공하는지 여부를 판정하기 위해 맵 타일의 직사각형 블록의 적어도 하나를 이용할 수 있다. 장치는 지리학적 레코드(들)과 연관된 기하학적 데이터가 디바이스로부터 수신된 질의에 참조된 타일을 교차하는 경우에 디바이스에 지리학적 레코드(들)을 제공하도록 결정할 수 있다.
이제 도 9를 참조하면, 예시적인 실시예에 따른 수정된 데이터베이스 상에 하나 이상의 질의를 실행하기 위한 예시적인 방법이 제공된다. 동작 900에서, 장치[예를 들어, 네트워크 디바이스(90)]는 질의가 x 및 y값에 대응하는 타일 및 타일에 대응하는 줌 레벨과 연관된 데이터를 포함할 수 있는 디바이스[예를 들어, 장치(50)]로부터 질의[예를 들어, 질의(Q)]를 수신할 수 있다. 동작 905에서, 장치는 질의의 타일에 대한 줌 레벨에 부분적으로 기초하여 최대 줌 레벨에서, 질의의 타일에 대응하는 복수의 등가의 타일을 결정할 수 있다. 동작 910에서, 장치는 최대 줌 레벨에 대응하는 x 및 y값을 포함하는 새로운 질의[예를 들어, 질의(Q1)]로 질의를 변환할 수 있다.
동작 915에서, 장치는 새로운 질의에 식별된 타일 블록과 교차하는 타일 블록과 연관된 각각의 지리학적 레코드의 검색을 요구하는 수정된 데이터베이스[예를 들어, 데이터베이스(93)]에 새로운 질의를 제공할 수 있다. 동작 920에서, 장치는 새로운 질의의 타일 블록에 교차하는 타일 블록과 연관된 하나 이상의 지리학적 레코드를 지시하는 새로운 질의의 결과를 수신할 수 있다. 새로운 질의의 결과는 수정된 지리학적 데이터베이스로부터 검색될 수 있다. 동작 925에서, 장치는 어느 지리학적 레코드(들)이 새로운 질의에서 식별된 타일 블록을 교차하는 기하학적 데이터와 연관되는지를 판정하기 위해 하나 이상의 지리학적 레코드를 분석할 수 있다. 동작 930에서, 장치는 새로운 질의의 타일 블록을 교차하지 않는 기하학적 데이터와 연관되는 것으로 판정된 결과로부터 하나 이상의 지리학적 레코드 중 임의의 하나를 제거할 수 있다. 동작 935에서, 장치는 결과가 새로운 질의의 타일 블록을 교차하는 기하학적 데이터를 갖는 지리학적 레코드 중 적어도 하나를 지시할 수 있는 디바이스[예를 들어, 장치(50)]에 결과를 제공할 수 있다.
도 8 및 도 9는 본 발명의 예시적인 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 흐름도라는 것이 주목되어야 한다. 흐름도의 각각의 블록 및 흐름도의 블록의 조합은 하나 이상의 컴퓨터 프로그램 명령을 포함하는 하드웨어, 펌웨어 및/또는 컴퓨터 프로그램 제품과 같은 다양한 수단에 의해 구현될 수 있다는 것이 이해될 수 있을 것이다. 예를 들어, 전술된 절차 중 하나 이상은 컴퓨터 프로그램 명령에 의해 구체화될 수 있다. 이와 관련하여, 예시적인 실시예에서, 전술된 절차를 이용하는 컴퓨터 프로그램 명령은 메모리 디바이스[예를 들어, 메모리(96)]에 의해 저장되고 프로세서[예를 들어, 프로세서(94), 데이터베이스 컨버터(97)]에 의해 실행된다. 이해될 수 있는 바와 같이, 임의의 이러한 컴퓨터 프로그램 명령은 머신을 생성하도록 컴퓨터 또는 다른 프로그램 가능 장치(예를 들어, 하드웨어) 상에 로딩될 수 있어, 컴퓨터 또는 다른 프로그램 가능 장치 상에서 실행되는 명령이 흐름도 블록 내에 지정된 기능을 구현할 수 있게 한다. 일 실시예에서, 컴퓨터 프로그램 명령은 특정 방식으로 기능하도록 컴퓨터 또는 다른 프로그램 가능 장치를 지시할 수 있는 컴퓨터 판독 가능 메모리 내에 저장되어, 컴퓨터 판독 가능 메모리에 저장된 명령이 흐름도 블록에 지정된 기능(들)을 구현하는 명령을 포함하는 제조 물품을 생성하게 한다. 컴퓨터 프로그램 명령은 또한 일련의 동작이 컴퓨터 또는 다른 프로그램 가능 장치 상에서 수행되게 하도록 컴퓨터 또는 다른 프로그램 가능 장치 상에 로딩될 수 있어, 컴퓨터 또는 다른 프로그램 가능 장치 상에서 실행하는 명령이 흐름도 블록에 지정된 기능을 구현하게 한다.
이에 따라, 흐름도의 블록들은 지정된 기능을 수행하기 위한 수단의 조합을 지원한다. 또한 흐름도의 하나 이상의 블록 및 흐름도의 블록의 조합은 지정된 기능을 수행하는 특정 용도 하드웨어 기반 컴퓨터 시스템 또는 특정 용도 하드웨어 및 컴퓨터 명령의 조합에 의해 구현될 수 있다는 것이 이해될 수 있을 것이다.
예시적인 실시예에서, 상기 도 8 및 도 9의 방법을 수행하기 위한 장치는 전술된 동작(800 내지 820 및 900 내지 935)의 일부 또는 각각을 수행하도록 구성된 프로세서[예를 들어, 프로세서(94), 데이터베이스 컨버터(97)]를 포함할 수 있다. 프로세서는 예를 들어 하드웨어 구현된 논리 기능을 수행하고, 저장된 명령을 실행하고 또는 각각의 동작을 수행하기 위한 알고리즘을 실행함으로써 동작(800 내지 820 및 900 내지 935)을 수행하도록 구성될 수 있다. 대안적으로, 장치는 전술된 각각의 동작을 수행하기 위한 수단을 포함할 수 있다. 이와 관련하여, 예시적인 실시예에 따르면, 동작(800 내지 820 및 900 내지 935)을 수행하기 위한 수단의 예는 예를 들어 프로세서(94)(예를 들어, 전술된 임의의 동작을 수행하기 위한 수단), 데이터베이스 컨버터(97) 및/또는 전술된 바와 같은 정보를 프로세싱하기 위한 알고리즘을 실행하거나 명령을 실행하기 위한 디바이스 또는 회로를 포함할 수 있다.
본 명세서에 설명된 본 발명의 다수의 수정예 및 다른 실시예는 상기 설명 및 연관 도면에 제시된 교시의 이득을 갖는 본 발명이 속하는 기술 분야의 숙련자들에게 상기될 것이다. 따라서, 본 발명은 개시된 특정 실시예에 한정되는 것은 아니고 수정 및 다른 실시예가 첨부된 청구범위의 범주 내에 포함되도록 의도된다는 것이 이해되어야 한다. 더욱이, 상기 설명 및 연관 도면은 요소 및/또는 기능의 특정 예시적인 조합의 환경에서 예시적인 실시예를 설명하고 있지만, 요소 및/또는 기능의 상이한 조합이 첨부된 청구범위의 범주로부터 벗어나지 않고 대안적인 실시예에 의해 제공될 수 있다는 것이 이해되어야 한다. 이와 관련하여, 예를 들어 상기에 명시적으로 설명된 것들과는 상이한 요소 및/또는 기능의 조합이 또한 첨부된 청구범위의 일부에 설명될 수 있는 바와 같이 고려된다. 특정 용어가 본 명세서에 이용되었지만, 이들 용어는 한정의 목적이 아니라 단지 일반적이고 설명적인 개념으로 사용된다.

Claims (20)

  1. 프로세서에 의해, 기하학적 정보에 대응하는 하나 이상의 값을 분석하는 것에 기초해 복수의 필드에 배열된 복수의 데이터 아이템을 추가하는 것에 부분적으로 기초하여 지리학적 데이터베이스를 수정하는 단계―상기 기하학적 정보는 상기 지리학적 데이터베이스의 복수의 지리학적 레코드(record)의 각각과 연관됨―와,
    상기 지리학적 레코드의 각각에 대해, 상기 지리학적 레코드의 각각의 지리학적 정보 중 적어도 일부를 포함하는 사전 결정된 줌 레벨에서의 타일(tiles)의 세트를 결정하는 단계와,
    각각의 지리학적 레코드를, 해당하는 레코드의 기하학적 정보에 대응하는 타일의 최소 및 최대의 x값 및 y값과 연관된 데이터를 포함하도록, 업데이트하는 단계와,
    상기 최소 및 최대의 x값 및 y값이 맵 타일(map tiles)의 하나 이상의 직사각형 블록을 정의하는지 결정하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    질의(a query)의 수신에 응답하여 상기 지리학적 레코드 중 적어도 하나와 연관된 데이터를 디바이스에 제공해야 하는지 여부를 결정하기 위해, 상기 맵 타일의 직사각형 블록 중 적어도 하나를 이용하는 단계를 더 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 복수의 필드는 상기 수정된 지리학적 데이터베이스의 각각의 열에 대응하고,
    상기 각각의 열 중 제 1 열은 상기 지리학적 레코드의 기하학적 데이터 중 적어도 일부를 포함하는 사전 결정된 줌 레벨에서의 모든 타일의 최소 x값에 대응하고,
    상기 각각의 열 중 제 2 열은 상기 지리학적 레코드의 기하학적 데이터 중 적어도 일부를 포함하는 사전 결정된 줌 레벨에서의 모든 타일의 최소 y값에 대응하고.
    상기 각각의 열 중 제 3 열은 상기 지리학적 레코드의 기하학적 데이터 중 적어도 일부를 포함하는 사전 결정된 줌 레벨에서의 모든 타일의 최대 x값에 대응하고,
    상기 각각의 열 중 제 4 열은 상기 지리학적 레코드의 기하학적 데이터 중 적어도 일부를 포함하는 사전결정된 줌 레벨에서의 모든 타일의 최대 y값에 대응하고,
    상기 기하학적 정보는 현실 세계에서 장소 또는 객체의 위치와 연관된 위도 좌표 또는 경도 좌표 중 적어도 하나와 연관된 데이터를 포함하는
    방법.
  4. 제 1 항에 있어서,
    디바이스로부터 데이터에 대한 질의를 수신하는 단계 - 상기 질의는 x값 및 y값과 연관된 적어도 하나의 타일에 대응하는 콘텐츠 및 상기 적어도 하나의 타일에 대응하는 줌 레벨을 포함함 - 와,
    상기 적어도 하나의 타일에 대한 상기 줌 레벨에 부분적으로 기초한 최대 줌 레벨에서, 상기 적어도 하나의 타일에 대응하는 복수의 등가 타일을 결정하는 단계를 더 포함하는
    방법.
  5. 제 4 항에 있어서,
    상기 질의를 상기 최대 줌 레벨에 대응하는 x값 및 y값을 포함하는 새로운 질의로 변환하는 단계와,
    각각의 지리학적 레코드의 검색을 요청하는 상기 수정된 지리학적 데이터베이스로의 상기 새로운 질의의 제공을 가능하게 하는 단계 - 상기 각각의 지리학적 레코드는 상기 새로운 질의 내에 식별된 타일 블록을 교차하는 하나 이상의 타일 블록과 연관됨 - 를 더 포함하는
    방법.
  6. 제 5 항에 있어서,
    상기 수정된 지리학적 데이터베이스로부터, 상기 새로운 질의 내에 식별된 타일 블록의 일부분을 교차하는 하나 이상의 타일 블록과 연관된 상기 지리학적 레코드 중 하나 이상을 지시하며 상기 새로운 질의에 대응하는 결과를 수신하는 단계를 더 포함하는
    방법.
  7. 제 6 항에 있어서,
    상기 하나 이상의 지리학적 레코드의 각각이 상기 새로운 질의 내에 식별된 타일 블록을 교차하는 기하학적 콘텐츠를 포함하는지 여부를 판정하기 위해, 상기 하나 이상의 지리학적 레코드과 연관된 데이터를 분석하는 단계를 더 포함하는
    방법.
  8. 제 7 항에 있어서,
    상기 새로운 질의 내에 식별된 타일 블록을 교차하지 않는 기하학적 콘텐츠와 연관되는 것으로 판정된 결과로부터 상기 하나 이상의 지리학적 레코드 중 임의의 지리학적 레코드의 제거를 가능하게 하는 단계를 더 포함하는
    방법.
  9. 제 8 항에 있어서,
    디바이스로 상기 결과의 제공을 가능하게 하는 단계를 더 포함하고,
    상기 결과는 상기 새로운 질의 내에 식별된 타일 블록을 교차하는 대응하는 기하학적 데이터를 갖는 상기 지리학적 레코드 중 적어도 하나를 지시하는 지표(indicia)를 포함하는
    방법.
  10. 적어도 하나의 프로세서와,
    컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하고,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서를 이용하여, 장치로 하여금 적어도,
    기하학적 정보에 대응하는 하나 이상의 값을 분석하는 것에 기초해 복수의 필드에 배열된 복수의 데이터 아이템을 추가하는 것에 부분적으로 기초하여 지리학적 데이터베이스를 수정하는 것―상기 기하학적 정보는 상기 지리학적 데이터베이스의 복수의 지리학적 레코드의 각각과 연관됨―과,
    상기 지리학적 레코드의 각각에 대해, 상기 지리학적 레코드의 각각의 지리학적 정보 중 적어도 일부를 포함하는 사전 결정된 줌 레벨에서의 타일(tiles)의 세트를 결정하는 것과,
    각각의 지리학적 레코드를, 해당하는 레코드의 기하학적 정보에 대응하는 타일의 최소 및 최대의 x값 및 y값과 연관된 데이터를 포함하도록, 업데이트하는 것과,
    상기 최소 및 최대의 x값 및 y값이 맵 타일의 하나 이상의 직사각형 블록을 정의하는지 결정하는 것을 수행하는
    장치.
  11. 제 10 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서를 이용하여, 상기 장치로 하여금
    질의의 수신에 응답하여 상기 지리학적 레코드 중 적어도 하나와 연관된 데이터를 디바이스에 제공해야 하는지 여부를 결정하기 위해, 상기 맵 타일의 직사각형 블록 중 적어도 하나를 이용하게 하도록 더 구성되는
    장치.
  12. 제 10 항에 있어서,
    상기 복수의 필드는 상기 수정된 지리학적 데이터베이스의 각각의 열에 대응하고,
    상기 각각의 열 중 제 1 열은 상기 지리학적 레코드의 기하학적 데이터 중 적어도 일부를 포함하는 사전 결정된 줌 레벨에서의 모든 타일의 최소 x값에 대응하고,
    상기 각각의 열 중 제 2 열은 상기 지리학적 레코드의 기하학적 데이터 중 적어도 일부를 포함하는 사전 결정된 줌 레벨에서의 모든 타일의 최소 y값에 대응하고.
    상기 각각의 열 중 제 3 열은 상기 지리학적 레코드의 기하학적 데이터 중 적어도 일부를 포함하는 사전 결정된 줌 레벨에서의 모든 타일의 최대 x값에 대응하고,
    상기 각각의 열 중 제 4 열은 상기 지리학적 레코드의 기하학적 데이터 중 적어도 일부를 포함하는 사전결정된 줌 레벨에서의 모든 타일의 최대 y값에 대응하고,
    상기 기하학적 정보는 현실 세계에서 장소 또는 객체의 위치와 연관된 위도 좌표 또는 경도 좌표 중 적어도 하나와 연관된 데이터를 포함하는
    장치.
  13. 제 10 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서를 이용하여, 상기 장치로 하여금
    디바이스로부터 데이터를 위한 질의를 수신하게 하고―상기 질의는 x값 및 y값과 연관된 적어도 하나의 타일에 대응하는 콘텐츠 및 상기 적어도 하나의 타일에 대응하는 줌 레벨을 포함함―,
    상기 적어도 하나의 타일을 위한 상기 줌 레벨에 부분적으로 기초한 최대 줌 레벨에서, 상기 적어도 하나의 타일에 대응하는 복수의 등가 타일을 결정하게 하도록 더 구성되는
    장치.
  14. 제 13 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서를 이용하여, 상기 장치로 하여금
    상기 질의를 상기 최대 줌 레벨에 대응하는 x값 및 y값을 포함하는 새로운 질의로 변환하게 하고,
    각각의 지리학적 레코드의 검색을 요청하는 수정된 지리학적 데이터베이스로의 상기 새로운 질의의 제공을 가능하게 하도록 더 구성되는―상기 각각의 지리학적 레코드는 상기 새로운 질의 내에 식별된 타일 블록을 교차하는 하나 이상의 타일 블록과 연관됨―,
    장치.
  15. 제 14 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서를 이용하여, 상기 장치로 하여금
    상기 수정된 지리학적 데이터베이스로부터, 상기 새로운 질의 내에 식별된 타일 블록의 부분을 교차하는 하나 이상의 타일 블록과 연관된 상기 지리학적 레코드 중 하나 이상을 지시하며 상기 새로운 질의에 대응하는 결과를 수신하게 하도록 더 구성되는
    장치.
  16. 제 15 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서를 이용하여, 상기 장치로 하여금
    상기 하나 이상의 지리학적 레코드의 각각이 상기 새로운 질의 내에 식별된 타일 블록을 교차하는 기하학적 콘텐츠를 포함하는지 여부를 결정하기 위해, 상기 하나 이상의 지리학적 레코드과 연관된 데이터를 분석하게 하도록 더 구성되는
    장치.
  17. 제 16 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서를 이용하여, 상기 장치로 하여금
    상기 새로운 질의 내에 식별된 타일 블록을 교차하지 않는 기하학적 콘텐츠와 연관되는 것으로 판정된 결과로부터 상기 하나 이상의 지리학적 레코드 중 임의의 지리학적 레코드의 제거를 가능하게 하도록 더 구성되는
    장치.
  18. 제 17 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 프로세서를 이용하여, 상기 장치로 하여금
    디바이스로 상기 결과의 제공을 가능하게 하도록 더 구성되고,
    상기 결과는 상기 새로운 질의 내에 식별된 타일 블록을 교차하는 대응하는 기하학적 데이터를 갖는 상기 지리학적 레코드 중 적어도 하나를 지시하는 지표를 포함하는
    장치.
  19. 컴퓨터 판독 가능 프로그램 코드부가 내부에 저장되어 있는 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 컴퓨터 판독 가능 프로그램 코드부는
    기하학적 정보에 대응하는 하나 이상의 값을 분석하는 것에 기초해 복수의 필드에 배열된 복수의 데이터 아이템을 추가하는 것에 부분적으로 기초하여 지리학적 데이터베이스를 수정하도록 구성된 프로그램 코드 명령어―상기 기하학적 정보는 상기 지리학적 데이터베이스의 복수의 지리학적 레코드의 각각과 연관됨―와,
    상기 지리학적 레코드의 각각에 대해, 상기 지리학적 레코드의 각각의 지리학적 정보 중 적어도 일부를 포함하는 사전 결정된 줌 레벨에서의 타일의 세트를 결정하도록 구성된 프로그램 코드 명령어와,
    각각의 지리학적 레코드를, 해당하는 레코드의 기하학적 정보에 대응하는 타일의 최소 및 최대의 x값 및 y값과 연관된 데이터를 포함하도록, 업데이트하도록 구성된 프로그램 코드 명령어와,
    상기 최소 및 최대의 x값 및 y값이 맵 타일의 하나 이상의 직사각형 블록을 정의하는지 결정하는지 구성된 프로그램 코드 명령어를 포함하는
    컴퓨터 판독 가능 저장 매체.
  20. 제 19 항에 있어서,
    질의의 수신에 응답하여 상기 지리학적 레코드 중 적어도 하나와 연관된 데이터를 디바이스에 제공해야 하는지 여부를 판정하기 위해, 상기 맵 타일의 직사각형 블록 중 적어도 하나를 이용하게 하도록 구성된 프로그램 코드 명령어를 더 포함하는
    컴퓨터 판독 가능 저장 매체.
KR20137018896A 2010-12-20 2011-10-18 지리학적 데이터베이스를 맵 타일 데이터베이스로 변환하기 위한 방법, 장치 및 컴퓨터 프로그램 제품 KR101493184B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/973,514 2010-12-20
US12/973,514 US8352480B2 (en) 2010-12-20 2010-12-20 Methods, apparatuses and computer program products for converting a geographical database into a map tile database
PCT/IB2011/054612 WO2012085693A1 (en) 2010-12-20 2011-10-18 Methods, apparatuses and computer program products for converting a geographical database into a map tile database

Publications (2)

Publication Number Publication Date
KR20130096765A KR20130096765A (ko) 2013-08-30
KR101493184B1 true KR101493184B1 (ko) 2015-02-12

Family

ID=46235788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20137018896A KR101493184B1 (ko) 2010-12-20 2011-10-18 지리학적 데이터베이스를 맵 타일 데이터베이스로 변환하기 위한 방법, 장치 및 컴퓨터 프로그램 제품

Country Status (5)

Country Link
US (1) US8352480B2 (ko)
EP (1) EP2656249A4 (ko)
KR (1) KR101493184B1 (ko)
CN (1) CN103270509B (ko)
WO (1) WO2012085693A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075822B2 (en) * 2011-02-11 2015-07-07 Here Global B.V. Incremental testing of a navigation database
US8937627B1 (en) * 2012-03-28 2015-01-20 Google Inc. Seamless vector map tiles across multiple zoom levels
US9128975B2 (en) * 2012-10-29 2015-09-08 Anthony Leto Systems and methods for determining data dependency for dynamic tiles
CN104572755B (zh) * 2013-10-24 2018-01-30 高德软件有限公司 一种建立数据索引的方法、数据查询方法及相关装置
WO2015195923A1 (en) * 2014-06-21 2015-12-23 Google Inc. Tile-based distribution of searchable geospatial data to client devices
KR101598809B1 (ko) * 2014-10-30 2016-03-02 김시윤 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법
CN104537031B (zh) * 2014-12-19 2018-06-08 百度在线网络技术(北京)有限公司 一种地图数据的修改方法和装置
EP3038018A1 (en) * 2014-12-27 2016-06-29 Dassault Systèmes Clustering database queries for runtime prediction
RU2632150C1 (ru) * 2016-04-04 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и система загрузки фрагментов изображения на клиентское устройство
RU2632128C1 (ru) 2016-04-04 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и система загрузки фрагментов изображения на клиентское устройство
US10008046B2 (en) * 2016-06-29 2018-06-26 Here Global B.V. Method, apparatus and computer program product for adaptive venue zooming in a digital map interface
US11880883B2 (en) 2016-09-15 2024-01-23 Circlesx Llc Systems and methods for geolocation portfolio exchanges
US20200151816A1 (en) * 2016-09-15 2020-05-14 Erik M Simpson Transportation and freight capacity units
US11740777B2 (en) * 2016-09-15 2023-08-29 Circlesx Llc Multi-dimension information service helmet method and system
US10460520B2 (en) 2017-01-13 2019-10-29 Simpsx Technologies Llc Computer ball device for mixed reality, virtual reality, or augmented reality
US11810023B2 (en) 2018-10-22 2023-11-07 Circlesx Llc System and method for a transportation or freight capacity exchange for one or more transportation or freight capacity units
US11823090B2 (en) 2016-09-15 2023-11-21 Circlesx Llc Transportation and freight and parking and tolling and curb capacity unit IPO method and system
US11790382B2 (en) 2016-09-15 2023-10-17 Circlesx Llc Method to transmit geolocation exchange based markets
US20190272589A1 (en) 2016-09-15 2019-09-05 Erik M. Simpson Securitization of transportation units
US11861527B2 (en) 2018-11-07 2024-01-02 Circlesx Llc Financial swap payment structure method and system on transportation capacity unit assets
US20190228351A1 (en) 2018-01-23 2019-07-25 Erik M. Simpson Electronic forward market exchange for transportation seats and capacity in transportation spaces and vehicles
US10248663B1 (en) * 2017-03-03 2019-04-02 Descartes Labs, Inc. Geo-visual search
US10210272B1 (en) * 2017-11-27 2019-02-19 The Florida International University Board Of Trustees Window query monitoring for mobile devices and central database servers with a tree-like index
FR3097363B1 (fr) * 2019-06-13 2021-06-25 Airbus Defence & Space Sas Système numérique de préparation de mission
CN111221933A (zh) * 2019-12-31 2020-06-02 武汉市珞珈俊德地信科技有限公司 海量地图数据与建筑信息模型融合的三维瓦片构建方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070092758A (ko) * 2004-12-30 2007-09-13 구글 인코포레이티드 지리적 관련성에 따른 문서 색인화
KR20080068909A (ko) * 2005-11-07 2008-07-24 구글 인코포레이티드 모바일 장치용 지역 검색 및 맵핑
US7580927B1 (en) * 2001-05-29 2009-08-25 Oracle International Corporation Quadtree center tile/boundary tile optimization
WO2009137967A1 (en) * 2008-05-16 2009-11-19 Shanghai Hewlett-Packard Co., Ltd Provisioning a geographical image for retrieval

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953722A (en) 1996-10-25 1999-09-14 Navigation Technologies Corporation Method and system for forming and using geographic data
US5963956A (en) * 1997-02-27 1999-10-05 Telcontar System and method of optimizing database queries in two or more dimensions
US7689621B1 (en) 2000-11-06 2010-03-30 Navteq North America, Llc Multi-dimensional spatial index for a geographic database
US6879980B1 (en) 2001-06-29 2005-04-12 Oracle International Corporation Nearest neighbor query processing in a linear quadtree spatial index
US7152071B2 (en) 2002-05-01 2006-12-19 Sun Microsystems, Inc. Shape-based geometric database and methods and systems for construction and use thereof
US7397811B2 (en) * 2003-04-23 2008-07-08 Ericsson Ab Method and apparatus for determining shared broadcast domains of network switches, ports and interfaces
US7099882B2 (en) 2003-04-29 2006-08-29 Navteq North America, Llc Method and system for forming, updating, and using a geographic database
US7539666B2 (en) 2004-04-06 2009-05-26 International Business Machines Corporation Method, system and program for managing geographic data stored in a database
US20060218114A1 (en) * 2005-03-25 2006-09-28 Microsoft Corporation System and method for location based search
US20090027418A1 (en) * 2007-07-24 2009-01-29 Maru Nimit H Map-based interfaces for storing and locating information about geographical areas

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580927B1 (en) * 2001-05-29 2009-08-25 Oracle International Corporation Quadtree center tile/boundary tile optimization
KR20070092758A (ko) * 2004-12-30 2007-09-13 구글 인코포레이티드 지리적 관련성에 따른 문서 색인화
KR20080068909A (ko) * 2005-11-07 2008-07-24 구글 인코포레이티드 모바일 장치용 지역 검색 및 맵핑
WO2009137967A1 (en) * 2008-05-16 2009-11-19 Shanghai Hewlett-Packard Co., Ltd Provisioning a geographical image for retrieval

Also Published As

Publication number Publication date
EP2656249A4 (en) 2016-09-28
CN103270509B (zh) 2016-11-16
US8352480B2 (en) 2013-01-08
WO2012085693A1 (en) 2012-06-28
CN103270509A (zh) 2013-08-28
US20120158762A1 (en) 2012-06-21
KR20130096765A (ko) 2013-08-30
EP2656249A1 (en) 2013-10-30

Similar Documents

Publication Publication Date Title
KR101493184B1 (ko) 지리학적 데이터베이스를 맵 타일 데이터베이스로 변환하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
KR102196401B1 (ko) 전자 지도 인터페이스
KR102001646B1 (ko) 이동 디바이스 생성 이벤트 분석에 기초한 맵 타일 데이터 선-인출 방법
US20120303263A1 (en) Optimization of navigation tools using spatial sorting
US8954860B1 (en) Method and apparatus for generating and displaying tourist maps
US20150062114A1 (en) Displaying textual information related to geolocated images
KR101804602B1 (ko) 지도 메타데이터의 3d 계층화
US9418466B2 (en) Geospatial representation of data-less map areas
CN104567894B (zh) 用于提供地图数据的装置和方法及其系统
JP2017536527A (ja) 経路崩壊を低減するイン−ナビゲーション探索結果の提供
RU124014U1 (ru) Система для обеспечения персонализированного поиска информации
CA2849992A1 (en) Managing map elements using aggregate feature identifiers
US9197713B2 (en) Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device
CN107092623B (zh) 一种兴趣点查询方法及装置
CN108009205B (zh) 基于位置的搜索结果缓存方法、搜索方法、客户端及系统
CN103744995A (zh) 一种构建专题地图的方法及应用该方法的移动终端
Aurelia et al. Mobile augmented reality and location based service
Yin et al. Touch2Query enabled mobile devices: a case study using OpenStreetMap and iPhone
Li et al. Bringing geospatial data closer to mobile users: A caching approach based on vector tiles for wireless multihop scenarios
CN112432646B (zh) 一种路线导航方法、存储介质及设备
CN107949773B (zh) 用于提供推荐浏览路径的方法及装置
WO2004099719A1 (en) Method and system for providing map information to mobile device
KR100989094B1 (ko) Gis 정보 화면 다분할 제공 시스템 및 방법
Beeharee et al. Filtering location-based information using visibility
Yin Mobile 2D and 3D Spatial Query Techniques for the Geospatial Web

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 5