KR20200070320A - 디지털 지도의 동적 재-스타일링 - Google Patents

디지털 지도의 동적 재-스타일링 Download PDF

Info

Publication number
KR20200070320A
KR20200070320A KR1020207013577A KR20207013577A KR20200070320A KR 20200070320 A KR20200070320 A KR 20200070320A KR 1020207013577 A KR1020207013577 A KR 1020207013577A KR 20207013577 A KR20207013577 A KR 20207013577A KR 20200070320 A KR20200070320 A KR 20200070320A
Authority
KR
South Korea
Prior art keywords
map
map features
client device
detail level
style
Prior art date
Application number
KR1020207013577A
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 KR1020227038270A priority Critical patent/KR102527827B1/ko
Publication of KR20200070320A publication Critical patent/KR20200070320A/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/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • 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/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3635Guidance using 3D or perspective road maps
    • G01C21/3638Guidance using 3D or perspective road maps including 3D objects and buildings
    • 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/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3644Landmark guidance, e.g. using POIs or conspicuous other objects
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)

Abstract

디지털 지도에서 내비게이션 경로와 관련된 지도 피처들을 동적으로 재-스타일링하기 위해, 서버 디바이스 및/또는 클라이언트 디바이스는 특정 지도 피처들에 상이한 시각적 스타일들을 적용하여, 내비게이션 경로들 또는 다른 지도 피처들의 논리적으로 링크된 세트들을 강조하거나 비-강조한다. 예를 들어, 서버 디바이스는 클라이언트 디바이스에 내비게이션 경로에 포함된 도로 세그먼트를 시각적으로 강조하고, 내비게이션 경로에 없는 도로 세그먼트를 강조-해제하고, 나머지 피처들을 기본(표준) 상세 레벨로 유지하도록 지시한다. 클라이언트 디바이스는 그에 따라 지도 피처들을 재-렌더링한다.

Description

디지털 지도의 동적 재-스타일링
본 개시는 인터렉티브 디지털 지도에 관한 것으로, 보다 상세하게는 디지털 지도 상에 내비게이션 경로와 관련된 지도 피처들을 동적으로 재-스타일링하는 것에 관한 것이다.
본 명세서에 제공된 배경기술은 본 발명의 컨텍스트를 일반적으로 제시하기 위한 목적이다. 본 배경기술 섹션에서 기술되는 범위까지 현재 명명된 발명자들의 성과 뿐만 아니라 출원 시점에 선행기술로서 인정되지 않는 기술의 양태들은 본 발명에 대한 선행기술로서 명시적으로 또는 묵시적으로도 인정되지 않는다.
다양한 지리적 애플리케이션들을 컴퓨팅 디바이스들에 디스플레이하는 인터렉티브 디지털 지도는 일반적으로 도로, 국가 경계 및 도시, 수역, 건물, 관심 장소(POI) 등과 같은 다양한 지리적 또는 지도 피처들을 도시한다. 이들 지리적 또는 지도 피처들 중 일부는 다른 상황에서 다르게 도시될 수 있다. 예를 들어, 일반적으로 파란선으로 도시되는 도로는 교통 체증을 나타내기 위해 빨간색으로 렌더링될 수 있거나, 지리학 쿼리에 응답하여 카운티의 경계가 강조될 수 있다.
또한, 다양한 지리적 애플리케이션들이 단계별 내비게이션 길안내를 생성한다. 일반적으로, 서버는 내비게이션 경로가 강조 표시된 이미지를 생성한다. 서버는 또한 목적지를 도시하는 핀의 위치를 특정한다. 이 접근법은 통신 네트워크를 통해 추가 데이터를 전송해야 할 뿐만 아니라, 강조 표시 및 핀으로 인해 중요한 지도 피처들이 가려지는 경우가 많다.
디지털 지도 디스플레이에 내비게이션 경로를 제시하기 위해, 동적 맵핑 시스템은 도로, 건물, 공원, 수역, POI 등 다양한 지도 피처들에 대한 다수의 시각적 스타일들 예를 들어, "최소", "표준" 및 "리치(rich)" 등을 활용한다. 내비게이션 경로를 도시하기 위해, 동적 맵핑 시스템은 이들 피처들을 다른 시각적 스타일로 렌더링함으로써 지도 피처들의 세트를 강조할 수 있다. 예를 들어, 지도 피처들의 제1 세트는 목적지에 대응하는 건물과 함께 내비게이션 경로에 포함된 여러 도로 세그먼트를 포함할 수 있다. 따라서, 동적 맵핑 시스템은 도로 세그먼트 및 건물을 리치 스타일로 렌더링하며, 이는 보다 높은 상세 레벨(level of detail, LOD) 또는 다른 시각적 특성의 차이를 포함할 수 있다. 예를 들어, 리치 스타일의 경우, 시스템은 중앙에 분할 선을 갖는 굵은 선과 분할 선의 각 측면에 2세트의 점선을 갖는 도로 세그먼트를 렌더링할 수 있다. 시스템은 건물을 큐브형 또는 직사각형 프리즘형 객체와 같은 3차원(3D) 또는 2.5D 객체로 렌더링할 수 있다.
추가적으로, 일부 실시예들에서, 동적 맵핑 시스템은 내비게이션 경로와 관련이 없는 디지털 지도 디스플레이 내의 제2 세트의 지도 피처들을 식별한다. 시스템은 내비게이션 경로와 관련되지 않은 제2 세트의 지도 피처들을 비-강조하고 리치 스타일로 렌더링된 제1 세트의 지도 피처들과 대비를 제공하기 위해, 낮은 상세 레벨을 포함할 수 있는 최소 스타일로 제2 세트의 지도 피처들을 렌더링할 수 있다. 예를 들어, 최소 스타일의 경우, 시스템은 도로 세그먼트를 가는 선으로 렌더링할 수 있다. 이 시스템은 건물을 2차원 정사각형 또는 가는 선을 가지는 직사각형 모양의 객체로 렌더링할 수 있다.
또한, 시스템은 디지털 지도 디스플레이 내의 제3 세트의 지도 피처들을 표준 스타일로 렌더링할 수 있으며, 이는 기본 상세 레벨을 포함할 수 있다. 예를 들어, 표준 스타일의 경우, 시스템은 최소 스타일에 사용된 가는 선보다 두껍고 리치 스타일에 사용되는 두꺼운 선보다 얇은 중간 선으로 도로 세그먼트를 렌더링할 수 있다. 이 시스템은 건물을 최소한의 스타일로 렌더링하는데 사용되는 선보다 두꺼운 선과 그림자가 있는 선을 가진 2차원적 사각형 또는 직사각형 모양의 객체로 건물을 렌더링하여 건물이 서 있는 것처럼 보이게 할 수 있다.
이러한 방식으로, 시스템은 핀 또는 오버레이 아이콘으로 내비게이션 경로의 목적지를 도시할 필요가 없고 대신 리치 스타일로 목적지를 강조할 수 있다. 또한, 서버는 내비게이션 경로를 강조하기 위해 오버레이를 생성할 필요가 없으며, 대신에 서버는 단순히 다른 시각적 스타일로 특정 지도 피처들을 렌더링하기 위한 명령어들을 클라이언트 디바이스에 제공하거나 또는 다른 구현예에서 단순히 클라이언트 디바이스에 내비게이션 경로의 기술을 제공하고, 클라이언트 디바이스는 수신된 내비게이션 경로의 기술에 기초하여 강조하기 위해 지도 피처들을 선택할 수 있다.
본 개시의 기법의 일 예시적 실시예는 디지털 지도 상에 내비게이션 길안내를 도시하기 위한 방법이다. 상기 방법은 상기 디지털 지도에 포함된 지도 피처들을 기본 상세 레벨에서 제공하는 것을 포함하여, 지리적 영역의 디지털 지도를 생성하는 단계 및 상기 지리적 영역에 위치된 목적지로의 내비게이션 경로를 획득하는 단계를 포함한다. 상기 방법은 상기 지리적 영역에 위치되고 상기 내비게이션 경로와 관련된 물리적 개체들에 대응하는 제1 복수의 지도 피처들을 식별하는 단계, 및 상기 제1 복수의 지도 피처들을 높은 상세 레벨에서 재-렌더링하는 것을 포함하여, 수정된 디지털 지도를 생성하는 단계를 포함하며, 상기 수정된 디지털 지도는 상기 높은 상세 레벨보다 낮은 상세 레벨에서 디스플레이된 지도 피처들을 포함한다.
본 개시의 기법의 다른 예시적 실시예는 디지털 지도 상에 내비게이션 길안내를 도시하기 위한 서버 디바이스이다. 서버 디바이스는 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서에 결합되고 명령어들을 저장하는 비일시적 컴퓨터 판독가능 메모리를 포함한다. 상기 명령어들은 하나 이상의 프로세서에 의해 실행될 때, 서버 디바이스로 하여금 디지털 지도에 포함된 지도 피처들을 기본 상세 레벨에서 제공하는 것을 포함하여, 지리적 영역의 디지털 지도를 생성하게 하고, 그리고 상기 지리적 영역에 위치된 목적지로의 내비게이션 경로를 획득하게 한다. 상기 명령어들은 또한 상기 지리적 영역에 위치되고 상기 내비게이션 경로와 관련된 물리적 개체들에 대응하는 제1 복수의 지도 피처들을 식별하게 하고, 그리고 상기 제1 복수의 지도 피처들을 높은 상세 레벨에서 재-렌더링하는 것을 포함하여, 수정된 디지털 지도를 생성하게 하며, 상기 수정된 디지털 지도는 상기 높은 상세 레벨보다 낮은 상세 레벨에서 디스플레이된 지도 피처들을 포함한다.
본 개시의 기법의 다른 예시적 실시예는 디지털 지도 상에 내비게이션 길안내를 도시하기 위한 클라이언트 디바이스이다. 클라이언트 디바이스는 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서에 결합되고 명령어들을 저장하는 비일시적 컴퓨터 판독가능 메모리를 포함한다. 명령어들은 하나 이상의 프로세서에 의해 실행될 때, 클라이언트 디바이스로 하여금 기본 상세 레벨에서 제시된 지도 피처들을 포함하여 지리적 영역의 디지털 지도를 디스플레이하게 하고, 상기 지리적 영역에 위치된 목적지로의 내비게이션 길안내에 대한 요청을 수신하게 한다. 상기 명령어들은 상기 클라이언트 디바이스로 하여금 상기 지리적 영역에 위치되고 상기 목적지로의 내비게이션 경로와 관련된 물리적 개체들에 대응하는 제1 복수의 지도 피처들의 기술을 획득하게 하고, 상기 디지털 지도 내에 상기 제1 복수의 지도 피처들을 높은 상세 레벨에서 디스플레이하게 하고, 그리고 상기 디지털 지도 내에 다른 지도 피처들을 상기 높은 상세 레벨보다 낮은 상세 레벨에서 디스플레이하게 한다.
도 1은 지도 피처들을 동적으로 재-스타일링하기 위한 기법들이 구현될 수 있는 예시적 시스템의 블록도이다.
도 2는 도 1의 동적 맵핑 시스템이 지도 피처들을 렌더링하기 위해 이용할 수 있는 시각적 스타일들을 그래픽으로 도시한 예시적 스타일 테이블이다.
도 3은 리치 스타일로 렌더링된 내비게이션 경로와 관련된 지도 피처들을 갖는 내비게이션 경로를 포함하는 예시적 지도 디스플레이이다.
도 4는 표준 스타일로 렌더링된 지도 피처를 갖는 다른 예시적 지도 디스플레이이다.
도 5는 리치 스타일로 렌더링된 일부 지도 피처 및 최소 스타일로 렌더링된 다른 지도 피처를 갖는 또 다른 예시적 지도 디스플레이이다.
도 6은 서버 디바이스에서 구현될 수 있는 디지털 지도 상에 내비게이션 길안내를 제공하기 위한 예시적 방법의 흐름도이다.
도 7은 클라이언트 디바이스에서 구현될 수 있는 디지털 지도 상에 내비게이션 길안내를 제공하기 위한 예시적 방법의 흐름도이다.
일반 개요
본 개시는 클라이언트 디바이스 및/또는 네트워크 서버에 의해 특정 지도 피처의 시각화를 선택적으로 수정함으로써 디지털 지도를 효율적으로 재-생성하는 기법을 제공한다. 이는 새로운 이미지를 생성하거나 내비게이션 경로를 강조하기 위해 오버레이를 제공할 필요를 제거하고, 위치를 지정하기 위해 핀이나 다른 오버레이 아이콘을 제공할 필요를 제거한다. 본 개시는 지도 피처들의 시각화를 선택적으로 수정하여 대역폭 요건 및 프로세싱 오버헤드를 감소시키는 특히 효율적인 메커니즘을 제공한다.
특히, 시스템은 도로, 건물, 공원, 수역, POI 등과 같은 다양한 지도 피처에 대해 "최소", "표준" 및 "리치"와 같은 다수의 시각적 스타일을 활용할 수 있다. 이러한 시각적 스타일들은 벡터 그래픽 포맷 또는 포인트들과 상기 포인트들을 연결하는 경로의 수학적 기술을 사용하여 기하 구조를 특정하기 위한 다른 임의의 포맷으로 정의된 지도 피처들의 기하 구조들에 적용될 수 있다. 편의상, 이러한 포맷 중 어느 하나를 따르는 데이터를 "벡터 데이터"라 한다. 보다 구체적으로, 벡터 데이터는 (예를 들어, 수학적 기술을 사용하여) 다양한 기하 구조를 특정할 수 있고, 이러한 형상이 다양한 지도 피처를 렌더링하기 위해 어떻게 위치되어야 하는지를 표시할 수 있고, 스타일 데이터는 상기 벡터 데이터에 적용될 수 있는 다양한 시각적 스타일들에 대해 이러한 시각적 특징 또는 속성을 선 두께(예를 들어, 본 명세서에서 "pt"로 지칭되는 픽셀의 폭), 선 색, 하나 이상의 채우기 색, 하나 이상의 모양 또는 그래픽, 그림자 색, 그림자 두께 등으로 기술한다. 네트워크 서버 및/또는 클라이언트 디바이스는 특정 지도 피처들에 다른 시각적 스타일을 선택적으로 적용하여 내비게이션 경로 또는 지도 피처들의 세트를 강조하거나 비-강조한다. 일부 실시예에서, 네트워크 서버는 또한 클라이언트 디바이스가 지도 피처들의 다양한 벡터 기반 기술(본 명세서에서 벡터 디스크립터 또는 단순히 벡터라고도 함)에 적용할 시각적 스타일을 특정할 수 있다.
더 구체적 예로서, 서버는 클라이언트 디바이스에 내비게이션 경로에 포함된 도로 세그먼트를 시각적으로 강조하고, 내비게이션 경로에 없는 도로 세그먼트를 강조-해제하고, 나머지 피처들을 기본(표준) 상세 레벨로 유지하도록 지시한다. 서버는 또한 클라이언트 디바이스에게 검색 쿼리에 대한 응답인 지도 피처들의 세트를 시각적으로 강조하도록 지시할 수 있다. 내비게이션 경로 또는 검색 쿼리와 관련된 지도 피처들의 세트는 일반적으로 하나 또는 다수의 유형의 피처들(예를 들어, 도로 세그먼트, 건물, 공원) 뿐만 아니라 연관된 라벨의 임의의 수를 포함할 수 있다.
일 예시적 실시예에서, 클라이언트 디바이스는 네트워크 서버로부터 수신하고 디지털 지도에 포함된 지도 피처에 대한 다수의 시각적 스타일에 대한 로컬 메모리 정의에 저장한다. 클라이언트 디바이스는 초기적으로 표준 스타일의 특정 지리적 지역에 대한 모든 지도 피처들을 디스플레이할 수 있다. 내비게이션 경로를 도시하기 위해, 서버는 클라이언트 디바이스가 리치 스타일로 재-렌더링해야 하는 지도 피처들과 클라이언트 디바이스가 최소 스타일로 재-렌더링해야 하는 지도 피처들을 특정한다.
다른 예시적 실시예에서, 서버는 초기적으로 표준 스타일만으로 지도 피처들을 제공한다. 내비게이션 경로를 도시하기 위해, 이 경우 서버는 다양한 지도 피처들에 대한 리치 스타일 기술과 이러한 스타일로 재-렌더링해야 하는 지도 피처들에 대한 표시를 제공한다.
예시적 하드웨어 및 소프트웨어 컴포넌트들
도 1을 참조하면, 상술한 기법이 구현될 수 있는 예시적 통신 시스템은 클라이언트 컴퓨팅 디바이스(10)(본 명세서에서 "클라이언트 디바이스"라고도 함)를 포함한다. 클라이언트 디바이스(10)는 예를 들어 스마트폰 또는 태블릿 컴퓨터와 같은 휴대용 디바이스일 수 있다. 클라이언트 디바이스(10)는 또한 랩톱 컴퓨터, 데스크탑 컴퓨터 또는 PDA(personal digital assistant)일 수 있다. 클라이언트 디바이스(10)는 또한 4세대 또는 3세대 셀룰러 네트워크(각각 4G 또는 3G)와 같은 유선 또는 무선 통신 네트워크(32)를 통해 다양한 컨텐츠 제공자, 서버 등과 통신할 수 있다. 클라이언트 디바이스(10)는 터치 스크린과 같은 디스플레이(28)를 포함할 수 있다. 디스플레이는 텍스트 입력을 기입하기 위한 소프트웨어 키보드를 포함할 수 있다. 또한, 클라이언트 디바이스(10)는 3G 셀룰러 네트워크, 4G 셀룰러 네트워크 또는 임의의 다른 적절한 네트워크를 통해 데이터를 송수신하기 위한 GPU(graphics processing unit)(16), 하나 이상의 프로세서 또는 CPU(12), GPS 모듈(14), 메모리(20) 및 셀룰러 통신 유닛(18)을 포함한다.
메모리(20)는 예를 들어, 운영 체제(24)의 명령어들 및 맵핑 애플리케이션(22)의 일부로서 동적 지도 렌더링 엔진(26)을 저장할 수 있다. 동적 지도 렌더링 엔진(26)은 디지털 지도 디스플레이에서 지도 피처들을 스타일링하기 위한 스타일 테이블(42)과 같은 스타일 데이터를 수신하고 저장할 수 있다. 또한, 동적 지도 렌더링 엔진(26)은 스타일 제어기(38)로부터 목적지까지의 내비게이션 길안내를 수신할 수 있으며, 내비게이션 길안내는 내비게이션 경로와 관련된 제1 세트의 지도 피처들을 포함한다. 동적 지도 렌더링 엔진(26)은 스타일 데이터에 포함된 스타일 중 하나에 따라 지도 피처들의 제1 세트를 렌더링할 수 있다. 동적 지도 렌더링 엔진(26)과 스타일 제어기(38)는 함께 동적 맵핑 시스템을 형성할 수 있다.
소프트웨어 컴포넌트(22, 24 및 26)는 런타임에서 인터프리트 가능한 임의의 적절한 프로그래밍 언어로 컴파일된 명령어들 및/또는 명령어들을 포함할 수 있다. 어느 경우이든, 소프트웨어 컴포넌트(22, 24 및 26)는 하나 이상의 프로세서들(12)에서 실행된다.
맵핑 애플리케이션(22)은 일반적으로 상이한 각각의 운영 체제에 대해 상이한 버전으로 제공될 수 있다. 예를 들어, 클라이언트 디바이스(10)의 제조사는 Android™ 플랫폼용 맵핑 애플리케이션(22), iOS™ 플랫폼용 다른 SDK 등을 포함하는 SDK(Software Development Kit)를 제공할 수 있다.
클라이언트 디바이스(10)는 장거리 무선 통신 링크(예를 들어, 셀룰러 링크)를 통해 인터넷과 같은 광역 통신 네트워크(32)에 액세스할 수 있다. 클라이언트 디바이스(10)는 셀룰러 통신 유닛(18)을 통해 통신 네트워크(32)에 액세스할 수 있다. 도 1의 예시적인 구성에서, 클라이언트 디바이스(10)는 내비게이션 데이터를 제공하는 내비게이션 서버(33) 및 (예를 들어, 벡터 그래픽 형식으로) 지도 데이터를 생성하는 지도 데이터 서버(36)와 통신한다.
일부 구현들에서, 지도 데이터 서버(36)는 메모리(37) 및 하나 이상의 프로세서들(39)을 포함한다. 메모리(37)는 유형적 비일시적 메모리일 수 있고, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 플래시 메모리, 다른 유형의 영구 메모리 등을 포함하는 임의의 유형의 적합한 메모리 모듈을 포함할 수 있다. 메모리(37)는 여러 시각적 스타일을 생성하고 시각적 스타일을 동적 지도 렌더링 엔진(26)에, 예를 들어 스타일 테이블(64)에 제공하는 스타일 제어기(38)를 구성하는 프로세서(39) 상에서 실행 가능한 명령어를 저장한다.
스타일 제어기(38)는 다양한 스타일에 대한 시각적 특성을 나타내는 스타일 테이블(64)을 이용하고 일부 실시예에서 관리할 수 있다. 스타일 테이블(64)로서 사용될 수 있는 스타일 테이블의 예시적 구현예가 도 2를 참조하여 보다 상세하게 논의된다. 일 실시예에서, 스타일 제어기(38)는 스타일 테이블(64)을 사용하여 어느 스타일이 클라이언트 디바이스(10)에서 다양한 지도 피처에 적용되어야하는지 결정하고 클라이언트 디바이스(10)에 대한 적절한 표시를 생성한다.
일부 실시예에서, 사용자는 맵핑 애플리케이션(22)을 통해 지리적 영역에 대한 지도 데이터를 요청한다. 따라서, 클라이언트 디바이스(10)는 지도 데이터 서버(36)에 요청을 제공하고, 이어서 지도 데이터베이스(40)로부터 지리적 영역에 대한 지도 데이터를 검색한다. 지도 데이터는 예를 들어 도로, 건물, 공원, POI, 수역, 도시 경계 및 기타 지리적 개체를 나타내는 2차원 및 3차원 형상일 수 있는 몇 가지 지도 피처들을 포함할 수 있다. 스타일 제어기(38)는 또한 예를 들어 스타일 테이블(64)로부터 지도 피처들에 적용될 시각적 스타일의 기술을 검색한다.
스타일 제어기(38)는 지도 데이터와 함께 시각적 스타일의 기술을 클라이언트 디바이스(10)에 제공하고, 동적 지도 렌더링 엔진(26)은 각각의 시각적 스타일에 따라 지도 피처을 렌더링하고, 렌더링된 지도 피처을 포함하는 디지털 지도 디스플레이를 제공한다. 일부 실시예에서, 스타일 제어기(38)는 지도 피처들을 렌더링하는데 사용되는 기본 시각적 스타일을 제공한다. 예를 들어, 스타일 제어기(38)는 기본 상세 레벨에 대응하는 표준 스타일을 동적 지도 렌더링 엔진(26)에 제공하고, 동적 지도 렌더링 엔진(26)은 표준 스타일에 따라 각각의 지도 피처들을 렌더링한다.
다른 실시예에서, 스타일 제어기(38)는 몇몇 시각적 스타일의 기술을 동적 지도 렌더링 엔진(26)(예를 들어, 최소, 표준 및 리치 스타일)에 제공하고, 동적 지도 렌더링 엔진(26)은 각 지도 피처를 렌더링할 적절한 스타일을 결정한다. 또 다른 실시예에서, 스타일 제어기(38)는 각각의 지도 피처에 적용하기 위한 시각적 스타일의 표시와 함께 여러 시각적 스타일의 기술을 동적 지도 렌더링 엔진(26)(예를 들어, 최소, 표준 및 리치 스타일)에 제공한다. 예를 들어, 스타일 제어기(38)는 각각의 지도 피처를 스타일링하기 위한 명령어를 제공할 수 있다(예를 들어, 리치 스타일로 내비게이션 경로와 관련된 제1 세트의 지도 피처를 렌더링하고, 최소 스타일로 내비게이션 경로와 관련이 없는 제2 세트의 지도 피처를 렌더링하는 등).
맵핑 애플리케이션(22)을 통해 지도 데이터 서버(36)에 제공된 목적지로의 내비게이션 길안내에 대한 요청에 응답하여, 스타일 제어기(38)는 내비게이션 서버(33)로부터 목적지로의 내비게이션 경로를 검색하거나 오프라인 데이터를 사용하여 로컬로 내비게이션 경로를 생성한다. 이어서, 스타일 제어기(38)는 내비게이션 경로를 따르는 도로 세그먼트 세트, 목적지에 대응하는 건물, POI 등과 같은 지리적 영역에 위치되고 내비게이션 경로와 관련된 물리적 엔티티에 대응하는 각각의 지도 피처들을 식별한다. 이어서, 스타일 제어기(38)는 내비게이션 경로와 관련된 지도 피처들의 기술을 제1 세트의 지도 피처들로서 클라이언트 디바이스(10)에 제공한다. 예를 들어, 지도 피처들의 기술은 도로 형상의 기술을 포함할 수 있다. 일부 실시예에서, 동적 지도 렌더링 엔진(26)은 리치 스타일을 사용하여 제1 세트의 지도 피처들을 재-렌더링함으로써 수정된 디지털 지도를 생성한다.
다른 실시예에서, 스타일 제어기(38)는 클라이언트 디바이스(10)에 내비게이션 경로와 관련된 지도 피처들을 리치 스타일에 대한 스타일 데이터 및/또는 동적 지도 렌더링 엔진(26)에 대한 명령어들을 가지는 제1 세트의 지도 피처들로서 제공하여, 리치 스타일을 사용하여 제1 세트의 지도 피처들을 다시 렌더링한다.
수정된 디지털 지도는 리치 스타일에 대응하는 높은 상세 레벨보다 낮은 상세 레벨에서 디스플레이되는 지도 피처들을 포함한다. 보다 구체적으로, 일부 실시예에서, 스타일 제어기(38)는 내비게이션 경로와 관련이 없는 지도 피처들을 제2 세트의 지도 피처들로서 클라이언트 디바이스(10)에 제공한다. 그 다음, 동적 지도 렌더링 엔진(26)은 최소 스타일을 사용하여 제2 세트의 지도 피처들을, 그리고 표준 스타일을 사용하여 나머지 지도 피처들을 재-렌더링함으로써 수정된 디지털 지도를 생성한다. 특히, 내비게이션 길안내에 대한 요청은 클라이언트 디바이스(10)에서 스타일 데이터가 이미 이용 가능한 스타일(예를 들어, 스타일 테이블에 저장된 스타일)을 특정할 수 있다. 클라이언트 디바이스(10)가 리치 스타일 또는 최소 스타일에 대한 스타일 데이터를 아직 수신하지 않은 경우, 지도 데이터 서버(36)는 대응하는 스타일 데이터를 제공한다.
다른 실시예들에서, 동적 지도 렌더링 엔진(26)은 디지털 지도 디스플레이에 포함되고 최소 스타일을 사용하여 제1 세트의 지도 피처에 없는 각각의 지도 피처을 재-렌더링한다. 또 다른 실시예에서, 스타일 제어기(38)는 내비게이션 경로와 관련이 없는 지도 피처들을 최소 스타일을 위한 스타일 데이터 및/또는 동적 지도 렌더링 엔진(26)에 대한 명령어를 가지는 제2 세트의 지도 피처들(예를 들어, 내비게이션 경로와 관련된 지도 피처들의 임계 거리 내의 지도 피처들)로서 클라이언트 디바이스(10)에 제공하여, 최소 스타일을 사용하여 제2 세트의 지도 피처들을 재-렌더링한다. 또한 다른 실시예에서, 스타일 제어기(38)는 적절한 스타일에 따라 각각의 지도 피처을 렌더링하고, 렌더링된 지도 피처들을 예를 들어 래스터 이미지로 클라이언트 디바이스(10)에 제공한다.
스타일 제어기(38) 및/또는 동적 지도 렌더링 엔진(26)은 임의의 적절한 거리 및/또는 관련성 기반 체계에 따라 내비게이션 경로 또는 검색 쿼리와 관련된 지도 피처들을 식별할 수 있다. 예를 들어, 내비게이션 경로를 생성할 때, 스타일 제어기(38)는 내비게이션 경로 및 경로로부터의 특정 거리(예를 들어, 20 미터) 내의 각 구조물(예를 들어, 건물, 다리, 터널)을 구성하는 도로 세그먼트를 식별할 수 있고, 리치 스타일을 사용하여 렌더링 할 지도 피처의 세트에 식별된 도로 구간 및 구조를 포함한다. 일부 경우에, 스타일 제어기(38)는 또한 경로로부터의 특정 거리(예를 들어, 50 미터) 내에 특정 임계 중요도(prominence)(크기, 가시성, 근처 구조물과의 색상 대비로 측정됨)의 랜드 마크를 이 세트의 지도 피처에 포함할 수 있다. 또한, 일부 경우에, 스타일 제어기(38)는 특정 임계 인기도의 관심 지점을 이 세트의 지도 피처에 포함할 수 있다.
또한, 스타일 제어기(38) 및/또는 동적 지도 렌더링 엔진(26)은 클라이언트 디바이스(10)의 현재 위치 또는 다른 적절한 신호에 기초하여 디지털 지도에서 강조될 지도 피처 세트의 콘텐츠를 동적으로 변화시킬 수 있다. 보다 구체적인 예로서, 동적 지도 렌더링 엔진(26)은 리치 스타일을 사용하여 내비게이션 경로를 따라 이동하는 클라이언트 디바이스(10)의 현재 위치의 특정 반경 내에서 지도 피처를 렌더링하고, 표준 스타일을 사용하여 내비게이션의 다른 부분과 관련된 지도 피처를 렌더링하고, 최소 스타일을 사용하여 내비게이션 경로와 관련이 없는 지도 피처를 렌더링한다. 이러한 방식으로, 클라이언트 디바이스(10)는 경로를 따라 매우 상세한 지도 피처들의 "버블(bubble)"로 이동하는 것으로 보인다.
메모리(37) 또는 다른 서버의 메모리는 또한 내비게이션 길안내를 생성하기 위해 지도 데이터를 생성하거나 내비게이션 서버(33)를 호출하기 위한 명령어를 저장할 수 있다.
보다 일반적으로, 클라이언트 디바이스(10)는 임의의 수의 적합한 서버와 통신할 수 있다. 예를 들어, 다른 실시예에서, 제안 서버(34)는 부분적 사용자 입력에 기초하여 제안을 생성하고, 트래픽 데이터 서버는 경로를 따라 트래픽 업데이트를 제공하고, 날씨 데이터 서버는 날씨 데이터 및/또는 경보 등을 제공한다.
간략화하기 위해, 도 1은 데이터베이스의 단지 하나의 인스턴스로서 지도 데이터베이스(40)를 도시한다. 그러나, 일부 구현예에 따른 지도 데이터베이스(40)는 각각 상이한 정보를 저장하는 하나 이상의 데이터베이스 그룹을 포함한다. 또한, 도 1은 서버의 하나의 인스턴스로서 지도 데이터 서버(36)를 도시한다. 그러나, 일부 구현예에 따른 지도 데이터 서버(36)는 각각 하나 이상의 프로세서를 구비하고 다른 지도 데이터 서버와 독립적으로 동작할 수 있는 하나 이상의 지도 데이터 서버 그룹을 포함한다. 이러한 그룹에서 동작하는 지도 데이터 서버는 요청을 프로세싱하는 것과 연관된 하나의 동작이 하나의 지도 데이터 서버에서 수행되고, 동일한 요청을 프로세싱하는 것과 연관된 다른 동작은 다른 지도 데이터 서버에서 수행되거나 또는 임의의 다른 적절한 기법에 따라 분산된 방식으로 클라이언트 디바이스(10)로부터의 요청을 개별적으로(예를 들어, 가용성에 기초하여) 프로세싱할 수 있다. 본 논의의 목적상, "지도 데이터"라는 용어는 개별 지도 데이터 서버 또는 둘 이상의 지도 데이터 서버 그룹을 지칭할 수 있다.
도 2는 다양한 유형의 지도 피처들에 대한 시각적 스타일을 그래픽으로 도시한 예시적 스타일 테이블(200)을 도시한다. 보다 구체적으로, 이 예에서 스타일 테이블(200)은 3가지 시각적 스타일, 즉 최소 스타일(210), 표준 스타일(220) 및 리치 스타일(230)을 포함한다. 특정한 시각적 스타일에 대해, 스타일 테이블(200)은 각 유형의 지도 피처에 대한 비주얼 속성 또는 구성 파라미터의 세트를 포함한다. 예를 들어, 최소 스타일(210)의 경우, 건물(210a)에 대한 구성 파라미터의 세트는 얇은 선(예를 들어, 선 두께가 1 pt)을 갖는 2차원 정사각형 객체를 포함한다. 최소 스타일 건물(210a)의 채움 색상은 흰색이고, 외곽선 색상은 밝은 회색이며 그림자가 없다. 표준 스타일(220)의 경우, 건물(220a)에 대한 구성 파라미터의 세트는 더 두꺼운 선(예를 들어, 선 두께가 2 pt)을 갖는 2차원 정사각형 객체를 포함한다. 최소 스타일 건물(220a)의 채움 색상은 흰색이고, 외곽선 색상은 밝은 회색이며, 밝은 회색 그림자가 있다. 리치 스타일(230)의 경우, 건물(230a)에 대한 구성 파라미터의 세트는 상부 표면 상에 삼각형이 있고 백색 충전 색상, 밝은 회색 윤곽 색상 및 표준 스타일 건물(220a)보다 크고 어두운 그림자를 갖는 3차원 큐브 또는 직사각형 프리즘형 그래픽을 포함한다.
다른 예에서, 최소 스타일(210)의 경우, 도로(210b)에 대한 구성 파라미터의 세트는 어두운 회색선 색을 갖는 얇은 선(예를 들어, 선 두께가 1 pt)을 포함한다. 표준 스타일(220)의 경우, 도로(220b)에 대한 구성 파라미터 세트는 진회색선 색상을 갖는 더 두꺼운 선(예를 들어, 선 두께가 3 pt)을 포함한다. 리치 스타일(230)의 경우, 도로(230b)에 대한 구성 파라미터의 세트는 중앙에 흰색 분할선이 있는 더 두꺼운 라인 그래픽(예를 들어, 5 pt의 라인 두께를 가짐)을 포함하고, 분할 선의 각 측면에 2개의 흰색 점선의 세트 및 진한 회색 채우기 색상을 포함한다.
예시적 스타일 테이블(200)에 도시된 바와 같이, 리치 스타일(230)은 가장 높은 상세 레벨을 가지며, 표준 스타일(220)은 중간 또는 기본 상세 레벨을 가지며, 최소 스타일(210)은 낮은 상세 레벨을 갖는다. 이러한 방식으로, 디지털 지도 디스플레이는 리치 스타일(230)에서 렌더링된 지도 피처와 최소(210) 또는 심지어 표준 스타일(220)로 렌더링된 지도 피처 사이에 뚜렷한 대비를 제공하여 이러한 지도 피처들(예를 들어, 내비게이션 경로와 관련된 지도 피처)을 리치 스타일(230)로 강조하고, 지도 피처들을 최소 스타일(210)로 강조 해제한다. 스타일 테이블(200)은 건물 및 도로를 포함하는 2가지 유형의 지도 피처에 대한 시각적 스타일을 도시하지만, 이들은 스타일 테이블(200)에 포함될 수 있는 예시적 지도 피처 유형일 뿐이다. 스타일 테이블(200)은 또한 공원, POI, 수역, 도시의 경계 및 다른 지리적 개체와 같은 추가 지도 피처 유형에 대한 시각적 스타일을 포함할 수 있다. 또한, 각각의 시각적 스타일 및 지도 피처 유형에 대한 구성 파라미터 세트는 단지 예시적 구성 파라미터의 세트이다. 지도 피처 유형 및 시각적 스타일(예를 들어, 최소 스타일 건물)은 임의의 적합한 구성 파라미터를 포함할 수 있으며, 특정한 지도 피처 유형에 대해, 최소 스타일이 가장 낮은 상세 레벨을 가지며, 표준 스타일은 중간 또는 기본 상세 레벨을 갖고, 리치 스타일은 가장 높은 상세 레벨을 갖는다. 구성 파라미터들의 세트는 예를 들어, 특정한 선 두께, 특정한 채움색, 특정한 윤곽색, 특정한 모양 또는 그래픽, 특정한 그림자 색, 특정한 그림자 두께 등을 포함할 수 있다.
따라서, 일부 구현예에서, 최소, 표준 및 리치 스타일에 대한 기술은 OpenGL과 같은 그래픽 파이프라인이 동일한 기하 구조에 적용하는 시각적 속성(예: 색상, 선 두께, 획 유형)에 대한 기술만 포함한다. 다른 구현예에서, 최소, 표준 및 리치 스타일들에 대한 기술은 더 단순한 스타일로 렌더링된 지도 피처에 추가될 대응하는 시각적 속성들과 함께 추가 기하 구조들에 대한 기술을 포함한다.
일부 실시예에서, 도 1에 도시된 바와 같은 스타일 제어기(38)는 각 시각적 스타일 및 지도 피처 유형에 대한 구성 파라미터들의 세트를 포함하는 스타일 테이블(200)을 생성하고, 적절한 시각적 스타일에 따라 지도 피처를 렌더링하기 위해 스타일 테이블(200)을 동적 지도 렌더링 엔진(26)에 제공한다. 예를 들어, 동적 지도 렌더링 엔진(26)은 표준 스타일(220)에서 내비게이션 경로없이 지도 피처를 디지털 지도에서 렌더링하도록 구성될 수 있다. 디스플레이할 내비게이션 경로가 있는 경우, 동적 지도 렌더링 엔진(26)은 리치 스타일(230)의 내비게이션 경로와 관련된 지도 피처들과 최소 스타일(210)의 내비게이션 경로와 관련이 없는 지도 피처들을 디지털 지도에 렌더링하도록 구성될 수 있다. 다른 실시예에서, 내비게이션 경로가 있을 때, 동적 지도 렌더링 엔진(26)은 리치 스타일(230)의 내비게이션 경로와 관련된 지도 피처들, 최소 스타일(210)의 내비게이션 경로와 관련된 지도 피처들의 임계 거리 내의 지도 피처들 및 표준 스타일(220)의 나머지 지도 피처들을 디지털 지도에 렌더링하도록 구성될 수 있다. 또 다른 실시예들에서, 스타일 제어기(38)는 디지털 지도에서 각 지도 피처를 렌더링하기 위한 적절한 시각적 스타일을 기술하는 명령어를 동적 지도 렌더링 엔진(26)에 제공할 수 있다.
예시적 지도 디스플레이
도 3은 팬시 피자 레스토랑을 포함하는 건물(310)인 목적지까지 내비게이션 경로(304a, 304b)를 포함하는 예시적 지도 디스플레이(300)를 도시한다. 맵핑 애플리케이션(22)은 클라이언트 디바이스(10)의 디스플레이(28)를 통해 예시적 지도 디스플레이(300)를 제시할 수 있다. 이 예에서 내비게이션 경로는 팬시 피자 레스토랑을 포함하는 건물(310)로 사용자를 길안내하기 위한 도로 세그먼트(304a, 304b)를 포함한다. 따라서, 동적 맵핑 시스템은 도로 세그먼트(304a, 304b) 및 건물(310)을 내비게이션 경로와 관련된 지도 피처들로서 식별한다. 동적 맵핑 시스템은 도 2에 도시된 바와 같이 이러한 피처들을 리치 스타일(230)로 렌더링한다. 이 예에서, 동적 맵핑 시스템은 도 2에 도시된 바와 같이 도로 세그먼트(312) 및 공원(308)과 같은 나머지 지도 피처들을 최소 스타일(210)로 렌더링한다. 지도 디스플레이(300)는 또한 내비게이션 경로를 따라 사용자의 현재 위치(302)의 표시 및 경로를 따라 트래픽을 나타내는 오버레이(306)를 포함한다. 클라이언트 디바이스(10)는 내비게이션 경로에 대응하는 디지털 지도 상에 오버레이를 디스플레이하지 않지만, 교통 데이터와 같은 다른 정보는 리치 스타일(230)로 렌더링된 도로 세그먼트(304a)의 일부를 오버레이하는 붉은 색과 같이 하이라이팅으로 도시될 수 있다.
도 4는 내비게이션 경로를 포함하지 않는 다른 예시적 지도 디스플레이(400)를 도시한다. 예를 들어, 맵핑 애플리케이션(22)은 사용자가 맵핑 애플리케이션(22)을 런칭하거나 특정한 지리적 영역을 보기 위해 디지털 지도을 팬 또는 줌할 때 디스플레이(28)를 통해 지도 디스플레이(400)를 제시할 수 있다. 예시적 지도 디스플레이(400)에서, 도로 세그먼트(402a, 402b, 408), 건물(406) 및 공원(404)과 같은 지도 피처들은 도 2에 도시된 바와 같이 표준 스타일(220)로 보여진다. 예를 들어, 도 3의 최소 스타일(210)로 제시된 공원(308)과 비교하여, 공원(404)은 더 어두운 녹색 채움 색상, 더 두꺼운 선 및 더 어두운 외곽선 색상을 갖는다. 또한, 도 3에서 최소 스타일(210)로 제시된 도로 세그먼트(312)와 비교하여, 도로 세그먼트(408)는 더 두꺼운 선을 갖는다. 또한, 도 3에서 리치 스타일(230)로 제시된 건물(310)과 비교하여, 건물(406)은 3차원 보다는 2차원이며 더 작고 밝은 그림자를 갖는다.
도 5는 내비게이션 경로를 포함하지 않는 또 다른 예시적 지도 디스플레이(500)를 도시한다. 예시적 지도 디스플레이(500)에서, 동적 맵핑 시스템은 공원(504)을 리치 스타일(230)로 제시하고, 나머지 지도 피처(502a, 502b, 506, 508)는 도 2에 도시된 바와 같이 최소 스타일(210)에 있다. 예를 들어, 동적 맵핑 시스템은 사용자가 맵핑 애플리케이션(22) 내에서 검색 결과로서 공원(504)을 선택할 때 디스플레이(28)를 통해 지도 디스플레이(500)를 제시할 수 있다. 동적 맵핑 시스템은 이어서 공원의 위치에서 디지털 지도 상에 핀을 제시하는 대신에 공원(504)을 리치 스타일(230)로 렌더링한다. 또한, 동적 맵핑 시스템은 공원(504)이 사용자에게 친숙한 위치이고, 표시자(510)에 의해 도시된 바와 같이 사용자의 현재 위치의 임계 거리 내에 있을 때, 사용자 캘린더에 따라 공원(504)에서 사용자가 다가오는 게임 또는 이벤트를 가질 때 또는 지도 디스플레이(500) 내에서 공원(504)을 강조하는 다른 적절한 이유에 따라 지도 디스플레이(500)를 생성할 수 있다. 어느 경우에나, 표준 스타일(220)로 제시된 공원(404)과 비교하여, 공원(504)은 녹색 직사각형 모양의 객체가 아닌 축구장 그래픽을 포함한다.
지도 피처들을 동적으로 스타일링하기 위한 예시적 방법
도 6은 디지털 지도 상에 내비게이션 길안내를 제공하기 위한 예시적 방법(600)의 흐름도를 도시한다. 이 방법은 컴퓨터 판독 가능 메모리에 저장되고 서버 디바이스(36)의 하나 이상의 프로세서들에서 실행 가능한 명령어의 세트에서 구현될 수 있다. 예를 들어, 방법은 스타일 제어기(38)에 의해 구현될 수 있다.
블록(602)에서, 지리적 영역에 대한 지도 데이터에 대한 요청은 예를 들어 클라이언트 디바이스(10)에서 동작하는 맵핑 애플리케이션(22)으로부터 수신된다. 요청에 응답하여, 지리적 영역에 대한 지도 데이터는 예를 들어 도 1에 도시된 바와 같이 지도 데이터베이스(40)로부터 검색된다. 지도 데이터는 예를 들어 도로, 건물, POI, 공원, 수역, 도시 경계 및 기타 지리적 개체를 나타내는 2차원 및 3차원 형상일 수 있는 몇 가지 지도 피처들을 포함할 수 있다. 일부 실시예에서, 지도 피처들 각각은 벡터 그래픽 포맷 또는 포인트들과 상기 포인트들을 연결하는 경로의 수학적 기술을 사용하여 기하 구조를 특정하기 위한 다른 임의의 포맷으로 기술된 기하 구조들에 적용될 수 있다. 벡터 데이터는 일반적으로 클라이언트 디바이스로 하여금 왜곡없이 모양을 스케일링, 회전 및 달리 작동할 수 있도록 한다. 예를 들어, 선 세그먼트의 래스터 이미지를 구성하는 각 픽셀을 특정하는 대신, 벡터 데이터는 선 세그먼트의 두 종단점의 좌표를 특정하고, 두 종단점이 직선으로 연결되어 있음을 나타낼 수 있다. 어느 경우이든, 서버 디바이스(36)는 지리적 영역 내의 지도 피처들을 클라이언트 디바이스(10)에 제공한다(블록 604).
지리적 영역 내의 지도 피처들을 클라이언트 디바이스(10)에 제공하는 것에 더하여, 지도 데이터 서버(36)는 지도 피처들에 적용 가능한 시각적 스타일을 생성하고, 시각적 스타일의 기술을 클라이언트 디바이스(10)에 제공한다(블록 606). 예를 들어, 지도 데이터 서버(36)는 3가지 시각적 스타일, 즉 최소 스타일, 표준 스타일 및 리치 스타일을 생성할 수 있다. 각 시각적 스타일은 여러 지도 피처들 유형(예를 들어, 도로, 건물, POI, 공원, 수역, 도시 경계, 기타 지리적 개체 등) 각각에 대한 구성 파라미터의 세트를 포함할 수 있다. 구성 파라미터들의 세트는 예를 들어, 특정한 선 두께, 특정한 충전 색, 특정한 외곽선 색, 특정한 모양 또는 그래픽, 특정한 그림자 색, 특정한 그림자 두께 등을 포함할 수 있다. 도 2에 도시된 스타일 테이블(200)과 유사한, 시각적 스타일들은 스타일 테이블에서 클라이언트 디바이스(10)에 제공될 수 있다. 따라서, 클라이언트 디바이스(10)는 적용 가능한 시각적 스타일에 따라 지도 피처들을 렌더링하기 위한 스타일 테이블의 로컬 사본을 저장한다.
각 지도 피처에 대해, 클라이언트 디바이스(10)는 지도 피처에 대한 기하 구조 및 특정한 구성 파라미터의 세트를 갖는 지도 피처를 렌더링하기 위한 시각적 스타일을 수신할 수 있다. 예를 들어, 도로 세그먼트의 경우, 클라이언트 디바이스(10)는 직선으로 연결된 선 세그먼트의 두 종단점의 좌표를 수신할 수 있다. 표준 스타일에 대해, 클라이언트 디바이스(10)는 3pt의 선 두께 및 짙은 회색의 선 색상을 포함하는 도로 세그먼트에 대한 구성 파라미터 세트를 수신할 수 있다.
그 다음, 클라이언트 디바이스(10)는 특정된 선 세그먼트에 적절한 스타일 데이터를 적용할 수 있고, 선 세그먼트가 특정한 색상, 폭 등을 포함하는 적용 가능한 시각적 스타일로 디스플레이되도록 할 수 있다. 다른 예로서, 벡터 데이터는 삼각형의 윤곽을 특정하고, 대응하는 스타일 데이터는 윤곽선의 색상, 윤곽선의 폭 및 삼각형의 내부 영역의 색상을 특정할 수 있다. 다시 말해, 지도 데이터 서버(36)로부터 래스터 이미지를 수신하는 대신, 클라이언트 디바이스(10)는 디스플레이(28) 상에 지도 이미지를 드로잉하기 위한 명령어를 수신하고, 래스터 지도 이미지를 생성하도록 명령어를 실행할 수 있다. 그러나, 일부 경우에, 벡터 데이터는 또한 벡터 포맷으로 쉽게 표현될 수 없는 특정 컴포넌트 엘리먼트로서 래스터 이미지를 포함할 수 있다.
일부 실시예에서, 지도 데이터 서버(36)는 각 지도 피처를 클라이언트 디바이스(10)에 스타일링하기 위한 명령어를 제공하고, 클라이언트 디바이스(10)는 각각의 스타일에 따라 지도 피처들을 지도 디스플레이에 렌더링한다. 다른 실시예에서, 지도 데이터 서버(36)는 특정한 지도 피처들에 적용 가능한 시각적 스타일만을 제공한다. 예를 들어, 디지털 지도가 내비게이션 경로를 포함하지 않는 경우, 지도 피처들은 표준 스타일로 렌더링될 수 있고, 지도 데이터 서버(36)는 표준 스타일만을 클라이언트 디바이스(10)에 제공한다.
어느 경우이든, 블록(608)에서, 예를 들어 클라이언트 디바이스(10)에서 동작하는 맵핑 애플리케이션(22)으로부터 목적지로의 내비게이션 길안내에 대한 요청이 수신된다. 내비게이션 길안내에 대한 요청에 응답하여, 지도 데이터 서버(36)는 내비게이션 서버(33)로부터 목적지까지 내비게이션 경로를 검색한다. 그 다음, 지도 데이터 서버(36)는 내비게이션 경로를 따르는 도로 세그먼트의 세트, 목적지에 대응하는 건물 등과 같은 내비게이션 경로와 관련된 각각의 지도 피처들을 식별한다(블록 610).
그 다음, 지도 데이터 서버(36)는 내비게이션 경로와 관련된 지도 피처들을 제1 세트의 지도 피처들로서 클라이언트 디바이스(10)에 제공한다(블록 612). 예를 들어, 지도 데이터 서버(36)는 클라이언트 디바이스(10)에 미리 전송되고 지도 애플리케이션(22)에 의해 디지털 지도에서 제시된 지도 피처들에 대한 표시 또는 참조를 제공할 수 있다. 보다 구체적으로, 각 지도 피처들은 지도 피처를 고유하게 식별하는 피처 ID를 가질 수 있다. 지도 피처의 기술을 클라이언트 디바이스(10)에 다시 한번 전송하는 대신에, 지도 데이터 서버(36)는 제1 세트의 지도 피처들에 포함된 지도 피처들에 대한 참조로서 피처 ID를 제공할 수 있다. 일부 실시예에서, 클라이언트 디바이스(10)는 리치 스타일을 사용하여 제1 세트의 지도 피처를 재-렌더링한다.
다른 실시예에서, 지도 데이터 서버(36)는 리치 스타일(블록 614)에 대한 스타일 데이터 및/또는 클라이언트 디바이스(10)에 대한 명령어와 함께 제1 세트의 지도 피처들로서 내비게이션 경로와 관련된 지도 피처들을 클라이언트 디바이스(10)에 제공하여, 리치 스타일을 사용하여 제1 세트의 지도 피처들을 재-렌더링한다. 특히, 내비게이션 길안내에 대한 요청은 클라이언트 디바이스(10)에서 사용할 수 없는 스타일을 포함함으로써 명시적으로, 예를 들어, 또는 클라이언트 디바이스에서 이미 이용 가능한 스타일(예를 들어, 스타일 테이블에 저장된 스타일)의 리스트를 제공함으로써 묵시적으로 스타일을 특정할 수 있다. 클라이언트 디바이스(10)가 리치 스타일에 대한 스타일 데이터를 수신하지 않은 경우, 지도 데이터 서버(36)는 대응하는 스타일 데이터를 제공한다.
또한 일부 실시예에서, 지도 데이터 서버(36)는 내비게이션 경로와 관련이 없는 지도 피처들을 제2 세트의 지도 피처들로서 클라이언트 디바이스(10)에 제공한다. 예를 들어, 지도 데이터 서버(36)는 디지털 지도에서 맵핑 애플리케이션(22)에 의해 이전에 제공되고 제시된 지도 피처들에 대한 표시 또는 참조를 제공할 수 있다. 보다 구체적으로, 각 지도 피처들은 지도 피처를 고유하게 식별하는 피처 ID를 가질 수 있다. 지도 피처를 다시 클라이언트 디바이스(10)에 제공하는 대신에, 지도 데이터 서버(36)는 제2 세트의 지도 피처들에 포함된 지도 피처들에 대한 참조로서 피처 ID를 제공할 수 있다. 클라이언트 디바이스는 최소 스타일을 사용하여 제2 세트의 지도 피처들을 재-렌더링하고, 표준 스타일을 사용하여 나머지 지도 피처들을 재-렌더링한다. 다른 실시예에서, 클라이언트 디바이스(10)는 디지털 지도 디스플레이에 포함되고 최소 스타일을 사용하여 제1 세트의 지도 피처에 없는 각각의 지도 피처을 재-렌더링한다. 또 다른 실시예들에서, 지도 데이터 서버(36)는 최소 스타일(블록 614)에 대한 스타일 데이터 및/또는 클라이언트 디바이스(10)에 대한 명령어와 함께 제2 세트의 지도 피처들로서 내비게이션 경로와 관련이 없는지도 피처들을 클라이언트 디바이스(10)에 제공하여, 최소 스타일을 사용하여 제2 세트의 지도 피처들을 재-렌더링한다.
다른 실시예에서, 지도 데이터 서버(36)는 적절한 스타일에 따라 각각의 지도 피처들을 렌더링한다. 지도 데이터 서버(36)는 렌더링된 지도 피처들을 포함하여 지도 타일, 즉 특정 크기(예를 들어, 256 x 256 픽셀)의 지도 이미지의 일부를 클라이언트 디바이스(10)에 제공한다.
도 7은 디지털 지도 상에 내비게이션 길안내를 제공하기 위한 예시적 방법(700)의 흐름도를 도시한다. 방법은 컴퓨터 판독 가능 메모리에 저장되고 클라이언트 디바이스(10)의 하나 이상의 프로세서에서 실행 가능한 명령어들의 세트로 구현될 수 있다. 예를 들어, 방법은 동적 지도 렌더링 엔진(26)에 의해 구현될 수 있다.
블록(702)에서, 클라이언트 디바이스(10)는 예를 들어 도로, 건물, POI, 공원, 수역, 도시 경계 및 기타 지리적 개체를 나타내는 2차원 및 3차원 형상일 수 있는 몇몇 지도 피처들을 포함하는 지리적 영역의 디지털 지도을 제시한다. 디지털 지도를 제시하기 위해, 클라이언트 디바이스(10)는 벡터 그래픽 포맷으로 또는 포인트들 및 포인트들을 연결하는 경로들의 수학적 기술을 사용하여 기하학적 형상을 특정하기 위한 다른 적합한 포맷으로 기술된 서버 디바이스로부터 각각의 지도 피처에 대한 기하 구조를 수신할 수 있다. 다른 실시예에서, 클라이언트 디바이스(10)는 클라이언트 디바이스에 로컬에 저장된 오프라인 지도 데이터로부터 각각의 지도 피처에 대한 기하 구조를 검색한다.
클라이언트 디바이스(10)는 또한 서버 디바이스로부터 지도 피처에 적용 가능한 시각적 스타일의 기술을 수신할 수 있고(블록 704), 각 시각적 스타일은 몇몇 지도 피처 유형 각각에 대한 구성 파라미터의 세트를 포함한다. 예를 들어, 시각적 스타일은 최소 스타일, 표준 스타일 및 리치 스타일을 포함할 수 있다. 각 스타일은 도로, 건물, POI, 공원, 수역, 도시 경계, 다른 지리적 개체 등에 대한 상이한 구성 파라미터의 세트를 가질 수 있다. 일부 실시예에서, 클라이언트 디바이스(10)는 지도 피처들을 렌더링하기 위한 스타일들 및 구성 파라미터들 각각을 포함하는 스타일 테이블을 수신하고 저장한다. 다른 실시예들에서, 클라이언트 디바이스(10)는 기본 상세 레벨에서의 표준 스타일과 같은 특정한 스타일에 대한 구성 파라미터를 수신하고, 디지털 지도을 렌더링하기 위해 특정한 스타일을 지도 피처에 적용한다(블록 706).
이어서 블록(708)에서, 목적지로의 내비게이션 길안내에 대한 요청이 수신된다. 클라이언트 디바이스(10)는 맵핑 애플리케이션(22)에 의해 제시된 사용자 제어를 통해 요청을 수신할 수 있다. 예를 들어, 맵핑 애플리케이션(22)을 사용하여, 사용자는 목적지를 입력하고, 사용자의 현재 위치로부터 목적지까지의 길안내를 요청하는 사용자 제어를 선택할 수 있다. 그 다음, 클라이언트 디바이스(10)는 목적지까지의 내비게이션 경로를 획득한다. 내비게이션 경로는 내비게이션 서버(33)로부터 획득될 수 있거나 클라이언트 디바이스(10)는 로컬에 저장된 오프라인 내비게이션 길안내를 검색할 수 있다. 어느 경우이든, 내비게이션 경로를 따르는 도로 세그먼트의 세트, 목적지에 대응하는 건물 등과 같은 내비게이션 경로와 관련된 제1 세트의 지도 피처들이 식별된다(블록 710). 제1 세트의 지도 피처들은 블록(702)에 제시된 디지털 지도에 포함된 지도 피처들의 서브셋일 수 있다.
그 다음, 클라이언트 디바이스(10)는 높은 상세 레벨의 리치 스타일을 제1 세트의 지도 피처들에 적용한다(블록 712). 클라이언트 디바이스(10)는 또한 지도 피처들이 표준 스타일로부터 리치 또는 최소 스타일로 재-렌더링되도록, 디지털 지도의 나머지 지도 피처들에 대해 낮은 상세 레벨의 최소 스타일을 적용할 수 있다(블록 714). 또한 일부 실시예에서, 클라이언트 디바이스(10)는 내비게이션 경로와 관련이 없지만 내비게이션 경로와 관련된 지도 피처들의 임계 거리 내에 있는 제2 세트의 지도 피처들을 획득한다. 그 다음, 클라이언트 디바이스(10)는 최소 스타일을 제2 세트의 지도 피처들에 적용하고, 표준 스타일을 디지털 지도 내의 나머지 지도 피처들에 적용한다.
일부 실시예에서, 지도 데이터 서버(36)는 제1 또는 제2 세트의 지도 피처들을 클라이언트 디바이스(10)에 제공한다. 예를 들어, 지도 데이터 서버(36)는 디지털 지도에서 맵핑 애플리케이션(22)에 의해 이전에 제공되고 제시된 지도 피처들에 대한 표시 또는 참조를 제공할 수 있다. 보다 구체적으로, 각 지도 피처들은 지도 피처를 고유하게 식별하는 피처 ID를 가질 수 있다. 클라이언트 디바이스(10)에 지도 피처를 다시 한번 제공하는 대신에, 지도 데이터 서버(36)는 제1 또는 제2 세트의 지도 피처들에 포함된 지도 피처에 대한 참조로서 피처 ID를 제공할 수 있다. 일부 실시예에서, 클라이언트 디바이스(10)는 리치 스타일을 사용하는 제1 세트의 지도 피처들 및 최소 스타일을 사용하는 제2 세트의 지도 피처들을 재-렌더링한다. 다른 실시예에서, 지도 데이터 서버(36)는 리치 스타일에 대한 스타일 데이터를 갖는 제1 세트의 지도 피처를 클라이언트 디바이스에 제공하고, 최소 스타일에 대한 스타일 데이터를 갖는 제2 세트의 지도 피처를 클라이언트 디바이스에 제공하고 및/또는 클라이언트 디바이스(10)에 리치 스타일을 사용하여 제1 세트의 지도 피처들 및 최소 스타일을 사용하여 제2 세트의 지도 피처들을 재-렌더링하기 위한 명령어를 제공한다.
추가 고려 사항
전술한 논의에는 다음의 추가 고려 사항이 적용된다. 본 명세서 전체에서, 복수의 인스턴스들은 단일 인스턴스로서 기술된 컴포넌트들, 동작들 또는 구조들을 구현할 수 있다. 하나 이상의 방법들의 개별 동작들이 개별 동작들로 도시되고 설명되었지만, 하나 이상의 개별 동작들이 동시에 수행될 수 있으며, 동작이 도시된 순서대로 수행될 필요는 없다. 예시적 구성에서 별개의 컴포넌트로서 제시된 구조 및 기능은 결합된 구조 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일 컴포넌트로서 제시된 구조 및 기능은 별개의 컴포넌트로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 본 발명의 주제의 범위 내에 속한다.
추가적으로, 특정 실시예는 논리 또는 다수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로 본 명세서에서 설명된다. 모듈은 소프트웨어 모듈(예를 들어, 기계 판독가능 매체에 저장된 코드) 또는 하드웨어 모듈을 구성할 수 있다. 하드웨어 모듈은 특정 동작을 수행할 수 있는 유형적 유닛이며, 특정 방식으로 구성 또는 배열될 수 있다. 예시적 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들어, 독립형, 클라이언트 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들어, 프로세서 또는 프로세서 그룹)은 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 본 명세서에 기술된 바와 같은 특정 동작을 수행하도록 동작하는 하드웨어 모듈로서 구성될 수 있다.
다양한 실시예들에서, 하드웨어 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 영구적으로 구성되는 전용 회로 또는 로직을 포함할 수 있으며(예를 들어, 필드 프로그램 가능 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)와 같은 특수 목적 프로세서로서) 특정 동작들을 수행할 수 있다. 하드웨어 모듈은 또한 특정 동작들을 수행하도록 소프트웨어에 의해 일시적으로 구성되는 프로그램가능 논리 또는 회로(예를 들어, 범용 프로세서 또는 다른 프로그램가능 프로세서 내에 포함되는)를 포함할 수 있다. 기계적으로, 전용으로 그리고 영구적으로 구성된 회로 또는 일시적으로 구성된 회로(예를 들어, 소프트웨어에 의해 구성된)에서 하드웨어 모듈을 구현하기로 한 결정은 비용 및 시간 고려 사항에 의해 구동될 수 있다는 것이 이해될 것이다.
따라서, 하드웨어라는 용어는 유형적 개체, 물리적으로 구성, 영구적으로 구성(예를 들어, 유선) 또는 일시적으로 구성(예를 들어, 프로그래밍)되어 특정 방식으로 동작하거나 본 명세서에 기술된 특정 동작을 수행하기 위한 개체를 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용되는 "하드웨어 구현 모듈"은 하드웨어 모듈을 지칭한다. 하드웨어 모듈이 일시적으로 구성(예를 들어, 프로그래밍)되는 실시예를 고려하면, 각각의 하드웨어 모듈은 임의의 하나의 인스턴스에서 구성되거나 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함하는 경우, 범용 프로세서는 상이한 시간에 각각 상이한 하드웨어 모듈로서 구성될 수 있다. 따라서, 소프트웨어는 예를 들어 한 시점에서 특정한 하드웨어 모듈을 구성하고 다른 시점에서 다른 하드웨어 모듈을 구성하도록 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어와 정보를 주고 받을 수 있다. 따라서, 설명된 하드웨어 모듈은 통신적으로 결합된 것으로 간주될 수 있다. 그러한 하드웨어 모듈의 다수가 동시에 존재하는 경우, 통신은 하드웨어 모듈을 연결하는 신호 전송(예를 들어, 적절한 회로 및 버스를 통해)을 통해 달성될 수 있다. 다수의 하드웨어 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 이러한 하드웨어 모듈 사이의 통신은 예를 들어 다수의 하드웨어 모듈이 액세스하는 메모리 구조에서의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하고 그 동작의 출력을 통신적으로 연결된 메모리 디바이스에 저장할 수 있다. 추가 하드웨어 모듈은 나중에 메모리 디바이스에 액세스하여 저장된 출력을 검색하고 프로세싱할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와의 통신을 개시할 수 있고, 리소스(예를 들어, 정보 수집)에서 동작할 수 있다.
방법들(600 및 700)은 비일시적 컴퓨터 판독가능 저장 매체에 저장되고 컴퓨팅 디바이스(예를 들어, 본 명세서에 기술된 바와 같은 서버 디바이스, 개인용 컴퓨터, 스마트폰, 태블릿 컴퓨터, 스마트 워치, 모바일 컴퓨팅 디바이스 또는 다른 클라이언트 컴퓨팅 디바이스)의 프로세서를 사용하여 실행되는 유형적 컴퓨터 실행가능 명령어의 형태의 하나 이상의 기능 블록, 모듈, 개별 기능 또는 루틴을 포함할 수 있다. 방법들(600 및 700)은 예시적 환경의 임의의 백엔드 서버(예를 들어, 지도 데이터 서버, 내비게이션 서버, 또는 임의의 다른 유형의 서버 컴퓨팅 디바이스), 클라이언트 컴퓨팅 디바이스 모듈의 일부로서 또는 예를 들어, 그러한 환경의 외부에 있는 모듈의 일부로서 포함될 수 있다. 도면은 설명의 편의를 위해 다른 도면을 참조하여 설명될 수 있지만, 방법(600 및 700)은 다른 객체 및 사용자 인터페이스와 함께 이용될 수 있다. 또한, 상기 설명은 특정 디바이스들(예를 들어, 서버 디바이스(36) 및 클라이언트 디바이스(10))에 의해 수행되는 방법들(600 및 700)의 단계들을 설명하지만, 이것은 단지 예시의 목적이다. 방법(600 및 700)의 블록은 하나 이상의 디바이스들 또는 환경의 다른 부분에 의해 수행될 수 있다.
본 명세서에 설명된 예시적 방법의 다양한 동작은 적어도 부분적으로, 관련 동작을 수행하도록 일시적으로 구성되거나(예를 들어, 소프트웨어에 의해) 영구적으로 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 일시적으로 또는 영구적으로 구성되든, 이러한 프로세서는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서로 구현된 모듈을 구성할 수 있다. 본 명세서에서 언급된 모듈은 일부 예시적 실시예에서 프로세서 구현 모듈을 포함할 수 있다.
유사하게, 본 명세서에 기술된 방법 또는 루틴은 적어도 부분적으로 프로세서 구현될 수 있다. 예를 들어, 방법의 동작 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서로 구현된 하드웨어 모듈에 의해 수행될 수 있다. 특정 동작의 성능은 단일 기계 내에 상주할 뿐만 아니라 여러 기계들에 배포된 하나 이상의 프로세서에 분산될 수 있다. 일부 예시적 실시예에서, 프로세서(들)는 단일 위치(예를 들어, 가정 환경, 사무실 환경 내에 또는 서버 팜으로서)에 위치될 수 있고, 다른 실시예에서 프로세서는 다수의 위치에 걸쳐 분산될 수 있다.
하나 이상의 프로세서는 또한 "클라우드 컴퓨팅"환경에서 또는 SaaS로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예를 들어, 전술한 바와 같이, 적어도 일부 동작은 (프로세서를 포함하는 기계의 예로서) 컴퓨터 그룹에 의해 수행될 수 있으며, 이들 동작은 네트워크(예를 들어, 인터넷) 및 하나 이상의 적절한 인터페이스(예를 들어, API)를 통해 액세스 가능하다.
또한, 도면은 단지 예시의 목적으로 예시적 환경의 일부 실시예를 도시한다. 통상의 기술자는 다음 논의로부터 본 명세서에 설명된 구조 및 방법의 대안적 실시예가 본 명세서에 설명된 원리를 벗어나지 않고 이용될 수 있음을 쉽게 인식할 것이다.
본 개시 내용을 읽었을 때, 통상의 기술자는 본 명세서에 개시된 원리를 통해 지도 피처를 동적으로 재스타일링하기 위한 추가적, 대안적인 구조적 및 기능적 구성을 이해할 것이다. 따라서, 특정 실시예 및 적용이 도시되고 설명되었지만, 개시된 실시예는 본 명세서에 개시된 정확한 구성 및 컴포넌트로 제한되지 않는다는 것을 이해해야 한다. 통상의 기술자에게 명백할 다양한 수정, 변경 및 변형이 첨부된 청구범위에 정의된 사상 및 범위를 벗어나지 않고 본 명세서에 개시된 방법 및 장치의 구성, 동작 및 세부 사항에서 이루어질 수 있다.

Claims (20)

  1. 디지털 지도 상에 내비게이션 길안내를 도시하기 위한 방법으로서,
    상기 디지털 지도에 포함된 지도 피처들을 기본 상세 레벨에서 제공하는 것을 포함하여, 지리적 영역의 디지털 지도를 생성하는 단계;
    하나 이상의 프로세서들에 의해, 상기 지리적 영역에 위치된 목적지로의 내비게이션 경로를 획득하는 단계;
    상기 하나 이상의 프로세서들에 의해, 상기 지리적 영역에 위치되고 상기 내비게이션 경로와 관련된 물리적 개체들에 대응하는 제1 복수의 지도 피처들을 식별하는 단계; 및
    상기 하나 이상의 프로세서들에 의해, 상기 제1 복수의 지도 피처들을 높은 상세 레벨에서 재-렌더링하는 것을 포함하여, 수정된 디지털 지도를 생성하는 단계를 포함하며, 상기 수정된 디지털 지도는 상기 높은 상세 레벨보다 낮은 상세 레벨에서 디스플레이된 지도 피처들을 포함하는 방법.
  2. 청구항 1에 있어서, 상기 제1 복수의 지도 피처들은 상기 내비게이션 경로에 포함된 도로 세그먼트들을 포함하는 방법.
  3. 청구항 2에 있어서,
    상기 하나 이상의 프로세서들에 의해, 상기 내비게이션 경로에 포함되지 않는 도로 세그먼트들에 대응하는 제2 복수의 지도 피처들을 식별하는 단계를 더 포함하며;
    상기 수정된 디지털 지도를 생성하는 단계는 상기 하나 이상의 프로세서들에 의해, 상기 제2 복수의 지도 피처들을 낮은 상세 레벨에서 재-렌더링하는 것을 포함하는 방법.
  4. 청구항 2에 있어서, 상기 제1 복수의 지도 피처들은 상기 목적지에 대응하는 건물을 더 포함하는 방법.
  5. 청구항 1에 있어서, 상기 내비게이션 경로에 대응하는 상기 디지털 지도 상에 오버레이를 디스플레이하지 않는 단계를 더 포함하는 방법.
  6. 청구항 1에 있어서,
    네트워크 서버로부터 클라이언트 디바이스로, 도로 기하 구조에 대한 기술(description) 및 상기 도로 기하 구조에 적용 가능한 복수의 시각적 스타일들에 대한 각각의 기술을 전송하는 단계를 더 포함하며, 상기 복수의 시각적 스타일들은 낮은 상세 레벨, 상기 낮은 상세 레벨보다 높은 기본 상세 레벨 및 상기 기본 상세 레벨보다 높은, 높은 상세 레벨에 대응하며; 및
    상기 수정된 디지털 지도를 생성하는 단계는 상기 네트워크 서버로부터 상기 클라이언트 디바이스로, 이전에 전송된 시각적 스타일들 중 어느 것이 상기 제1 복수의 지도 피처들에 적용될 것인지의 표시를 전송하는 것을 포함하는 방법.
  7. 청구항 6에 있어서,
    상기 지리적 영역의 지도 데이터에 대한 요청에 응답하여, 상기 네트워크 서버로부터 상기 클라이언트 디바이스로, 상기 지리적 영역 내의 지도 피처들의 기술 및 상기 도로 기하 구조에 적용 가능한 복수의 시각적 스타일들에 대한 각각의 기술을 전송하는 단계, 상기 복수의 시각적 스타일들은 상기 기본 상세 레벨에서 상기 지도 피처들을 렌더링하기 위한 상기 낮은 상세 레벨, 상기 기본 상세 레벨 및 상기 높은 상세 레벨에 대응하며; 및
    상기 목적지로의 내비게이션 길안내에 대한 요청에 응답하여, 상기 네트워크 서버로부터 상기 클라이언트 디바이스로, 상기 높은 상세 레벨에서 상기 제1 복수의 지도 피처들을 렌더링하고 상기 낮은 상세 레벨에서 상기 지리적 영역 내의 나머지 지도 피처들을 렌더링하기 위해 상기 지리적 영역 내에 위치되고 상기 내비게이션 경로와 관련된 물리적 개체들에 대응하는 상기 제1 복수의 지도 피처들의 기술을 전송하는 단계를 더 포함하는 방법.
  8. 청구항 1에 있어서, 상기 목적지에 대응하는 상기 디지털 지도 상에 오버레이 아이콘을 디스플레이하지 않는 단계를 더 포함하는 방법.
  9. 디지털 지도 상에 내비게이션 길안내를 도시하기 위한 서버 디바이스로서, 상기 서버 디바이스는:
    하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 결합되고 상기 하나 이상의 프로세서들에 의해 실행될 때 상기 서버 디바이스로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 메모리를 포함하며, 상기 동작들은:
    디지털 지도에 포함된 지도 피처들을 기본 상세 레벨에서 제공하는 것을 포함하여, 지리적 영역의 디지털 지도를 생성하는 동작;
    상기 지리적 영역에 위치된 목적지로의 내비게이션 경로를 획득하는 동작;
    상기 지리적 영역에 위치되고 상기 내비게이션 경로와 관련된 물리적 개체들에 대응하는 제1 복수의 지도 피처들을 식별하는 동작; 및
    상기 제1 복수의 지도 피처들을 높은 상세 레벨에서 재-렌더링하는 것을 포함하여, 수정된 디지털 지도를 생성하는 동작을 포함하며, 상기 수정된 디지털 지도는 상기 높은 상세 레벨보다 낮은 상세 레벨에서 디스플레이된 지도 피처들을 포함하는 서버 디바이스.
  10. 청구항 9에 있어서, 상기 제1 복수의 지도 피처들은 상기 내비게이션 경로에 포함된 도로 세그먼트들을 포함하는 서버 디바이스.
  11. 청구항 10에 있어서, 상기 동작들은:
    상기 내비게이션 경로에 포함되지 않는 도로 세그먼트들에 대응하는 제2 복수의 지도 피처들을 식별하는 동작; 및
    상기 제2 복수의 지도 피처들을 낮은 상세 레벨에서 재-렌더링하는 동작을 더 포함하는 서버 디바이스.
  12. 청구항 10에 있어서, 상기 제1 복수의 지도 피처들은 상기 목적지에 대응하는 건물을 더 포함하는 서버 디바이스.
  13. 청구항 9에 있어서, 상기 동작들은:
    도로 기하 구조에 대한 기술 및 상기 도로 기하 구조에 적용 가능한 복수의 시각적 스타일들에 대한 각각의 기술을 클라이언트 디바이스에 전송하는 동작, 상기 복수의 시각적 스타일들은 낮은 상세 레벨, 상기 낮은 상세 레벨보다 높은 기본 상세 레벨 및 상기 기본 상세 레벨보다 높은, 높은 상세 레벨에 대응하며; 및
    이전에 전송된 시각적 스타일들 중 어느 것이 상기 제1 복수의 지도 피처들에 적용될 것인지의 표시를 상기 클라이언트 디바이스에 전송하는 동작을 포함하는 서버 디바이스.
  14. 청구항 13에 있어서, 상기 동작들은:
    상기 지리적 영역의 지도 데이터에 대한 요청에 응답하여, 상기 지리적 영역 내의 지도 피처들의 기술 및 상기 도로 기하 구조에 적용 가능한 복수의 시각적 스타일들에 대한 각각의 기술을 상기 클라이언트 디바이스에 전송하는 동작, 상기 복수의 시각적 스타일들은 상기 기본 상세 레벨에서 상기 지도 피처들을 렌더링하기 위한 상기 낮은 상세 레벨, 상기 기본 상세 레벨 및 상기 높은 상세 레벨에 대응하며; 및
    상기 목적지로의 내비게이션 길안내에 대한 요청에 응답하여, 상기 높은 상세 레벨에서 상기 제1 복수의 지도 피처들을 렌더링하고 상기 낮은 상세 레벨에서 상기 지리적 영역 내의 나머지 지도 피처들을 렌더링하기 위해 상기 지리적 영역 내에 위치되고 상기 내비게이션 경로와 관련된 물리적 개체들에 대응하는 상기 제1 복수의 지도 피처들의 기술을 상기 클라이언트 디바이스에 전송하는 동작을 더 포함하는 서버 디바이스.
  15. 디지털 지도 상에 내비게이션 길안내를 도시하기 위한 클라이언트 디바이스로서, 상기 클라이언트 디바이스는:
    하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 결합되고 상기 하나 이상의 프로세서들에 의해 실행될 때 상기 클라이언트 디바이스로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 메모리를 포함하며, 상기 동작들은:
    기본 상세 레벨에서 제시된 지도 피처들을 포함하여 지리적 영역의 디지털 지도를 디스플레이하는 동작;
    상기 지리적 영역에 위치된 목적지로의 내비게이션 길안내에 대한 요청을 수신하는 동작;
    상기 지리적 영역에 위치되고 상기 목적지로의 내비게이션 경로와 관련된 물리적 개체들에 대응하는 제1 복수의 지도 피처들의 기술을 획득하는 동작;
    상기 디지털 지도 내에 상기 제1 복수의 지도 피처들을 높은 상세 레벨에서 디스플레이하는 동작; 및
    상기 디지털 지도 내에 다른 지도 피처들을 상기 높은 상세 레벨보다 낮은 상세 레벨에서 디스플레이하는 동작을 포함하는 클라이언트 디바이스.
  16. 청구항 15에 있어서, 상기 제1 복수의 지도 피처들은 상기 내비게이션 경로에 포함된 도로 세그먼트들을 포함하는 클라이언트 디바이스.
  17. 청구항 15에 있어서, 상기 디지털 지도 내의 다른 지도 피처들은 상기 기본 상세 레벨보다 낮은, 낮은 상세 레벨에서 디스플레이되는 클라이언트 디바이스.
  18. 청구항 15에 있어서, 상기 제1 복수의 지도 피처들은 상기 목적지에 대응하는 건물을 포함하는 클라이언트 디바이스.
  19. 청구항 15에 있어서, 상기 동작들은:
    서버 디바이스로부터, 지리적 영역 내의 지도 피처들의 기술 및 복수의 시각적 스타일들에 대한 각각의 기술을 수신하는 동작, 상기 복수의 시각적 스타일들은 낮은 상세 레벨, 상기 낮은 상세 레벨보다 높은 기본 상세 레벨 및 상기 기본 상세 레벨보다 높은, 높은 상세 레벨에 대응하며; 및
    상기 지리적 영역 내의 지도 피처들의 수신된 기술에 따라 상기 디지털 지도를 디스플레이하는 동작을 더 포함하는 클라이언트 디바이스.
  20. 청구항 19에 있어서, 상기 동작들은:
    상기 목적지로의 내비게이션 길안내에 대한 요청을 수신함에 응답하여, 서버 디바이스로부터, 상기 제1 복수의 지도 피처에 대응하는 도로 기하 구조의 기술 및 상기 전송된 시각적 스타일들 중 어느 것이 상기 제1 복수의 지도 피처들에 적용될 것인지의 표시를 수신하는 동작을 포함하는 클라이언트 디바이스.
KR1020207013577A 2018-09-25 2018-09-25 디지털 지도의 동적 재-스타일링 KR20200070320A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227038270A KR102527827B1 (ko) 2018-09-25 2018-09-25 디지털 지도의 동적 재-스타일링

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/052680 WO2020068054A1 (en) 2018-09-25 2018-09-25 Dynamic restyling of digital maps

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227038270A Division KR102527827B1 (ko) 2018-09-25 2018-09-25 디지털 지도의 동적 재-스타일링

Publications (1)

Publication Number Publication Date
KR20200070320A true KR20200070320A (ko) 2020-06-17

Family

ID=63963409

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207013577A KR20200070320A (ko) 2018-09-25 2018-09-25 디지털 지도의 동적 재-스타일링
KR1020227038270A KR102527827B1 (ko) 2018-09-25 2018-09-25 디지털 지도의 동적 재-스타일링

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227038270A KR102527827B1 (ko) 2018-09-25 2018-09-25 디지털 지도의 동적 재-스타일링

Country Status (6)

Country Link
US (1) US11353333B2 (ko)
EP (1) EP3797264B1 (ko)
JP (1) JP7086180B2 (ko)
KR (2) KR20200070320A (ko)
CN (1) CN111226095B (ko)
WO (1) WO2020068054A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220252422A1 (en) * 2021-02-09 2022-08-11 Here Global B.V. Method, apparatus, and system for constructing a high-resolution map for geospatial big data processing
CN117788679B (zh) * 2024-02-27 2024-05-03 腾讯科技(深圳)有限公司 地图数据生成方法、装置、电子设备及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4486175B2 (ja) * 1999-01-29 2010-06-23 株式会社日立製作所 立体地図表示装置および方法
AU2003223090A1 (en) * 2002-04-30 2003-11-17 Telmap Ltd. Template-based map distribution system
JP2004086508A (ja) * 2002-08-26 2004-03-18 Alpine Electronics Inc 3次元形状データに基づく動画の表示制御方法及びナビゲーション装置
KR100689376B1 (ko) * 2004-12-14 2007-03-02 삼성전자주식회사 네비게이션 시스템에서 맵 디스플레이 장치 및 방법
JP2011521280A (ja) * 2008-05-02 2011-07-21 トムトム インターナショナル ベスローテン フエンノートシャップ 地図ルートを強調するナビゲーションデバイス及びナビゲーション方法
JP2009031802A (ja) * 2008-08-28 2009-02-12 Pioneer Electronic Corp 情報表示装置および表示制御方法
US8493407B2 (en) 2009-09-03 2013-07-23 Nokia Corporation Method and apparatus for customizing map presentations based on user interests
EP2495532A1 (en) * 2011-03-01 2012-09-05 Harman Becker Automotive Systems GmbH Vehicle navigation device and method
JP5808932B2 (ja) 2011-04-11 2015-11-10 株式会社ナビタイムジャパン ナビゲーションシステム、ナビゲーション方法、および、プログラム
US20130024113A1 (en) * 2011-07-22 2013-01-24 Robert Bosch Gmbh Selecting and Controlling the Density of Objects Rendered in Two-Dimensional and Three-Dimensional Navigation Maps
US20130035853A1 (en) * 2011-08-03 2013-02-07 Google Inc. Prominence-Based Generation and Rendering of Map Features
US8681176B1 (en) 2011-09-20 2014-03-25 Google Inc. Rendering a map using style identifiers
JP5328959B2 (ja) * 2012-05-16 2013-10-30 株式会社デンソーアイティーラボラトリ 情報表示装置
US9041736B2 (en) * 2012-06-05 2015-05-26 Apple Inc. Method, system and apparatus for rendering a map according to a stylesheet
US20130346855A1 (en) * 2012-06-22 2013-12-26 Google Inc. Providing differentiated display of a map feature
US20140267282A1 (en) * 2013-03-14 2014-09-18 Robert Bosch Gmbh System And Method For Context Dependent Level Of Detail Adjustment For Navigation Maps And Systems
US10067950B1 (en) 2014-06-25 2018-09-04 Google Llc Systems and methods for efficiently organizing map styling information
US10030987B2 (en) * 2015-02-05 2018-07-24 Volkswagen Ag System and methodologies for visual relevancy-grading of a navigation map
US10094680B2 (en) * 2015-04-13 2018-10-09 Google Llc Dynamically controlling map viewport in view of user signals
US10217283B2 (en) * 2015-12-17 2019-02-26 Google Llc Navigation through multidimensional images spaces

Also Published As

Publication number Publication date
JP7086180B2 (ja) 2022-06-17
JP2020537741A (ja) 2020-12-24
KR102527827B1 (ko) 2023-05-02
US20210333120A1 (en) 2021-10-28
WO2020068054A1 (en) 2020-04-02
CN111226095B (zh) 2023-09-19
EP3797264A1 (en) 2021-03-31
KR20220151711A (ko) 2022-11-15
US11353333B2 (en) 2022-06-07
EP3797264B1 (en) 2023-02-15
CN111226095A (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
US11829592B2 (en) Integrating maps and street views
US9811879B2 (en) Keeping map labels consistent across multiple zoom levels
US9417777B2 (en) Enabling quick display transitions between indoor and outdoor map data
US8803901B1 (en) Map rendering using interpolation of style parameters across zoom levels
US9110573B2 (en) Personalized viewports for interactive digital maps
EP2761584B1 (en) Label positioning technique to reduce crawling during zoom activities
US9684947B2 (en) Indicating availability of indoor content on a digital map
US9495767B2 (en) Indexed uniform styles for stroke rendering
KR102677458B1 (ko) 디지털 맵 상의 표시자들의 시각적 속성 동적 변화
US9721363B2 (en) Encoding polygon data for fast retrieval and rendering
US8730264B1 (en) Determining when image elements intersect
US20130127852A1 (en) Methods for providing 3d building information
US20150130845A1 (en) Out-of-viewpoint indicators for relevant map features
KR102527827B1 (ko) 디지털 지도의 동적 재-스타일링
US10204431B1 (en) Polygon labeling by dominant shapes
JP6512425B2 (ja) 3次元地図表示システム
Zhao et al. Visualizing Distant Objects on Mobile Phones: Choice of Resizable Icons
CN118548911A (zh) 导航地图图像的输出方法、装置、电子设备及存储介质
JPWO2015029112A1 (ja) 地図表示システム及び地図表示方法及びプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination