KR20190114013A - 비-래스터 맵 데이터의 변경을 사용하는 렌더링 맵 이미지 - Google Patents

비-래스터 맵 데이터의 변경을 사용하는 렌더링 맵 이미지 Download PDF

Info

Publication number
KR20190114013A
KR20190114013A KR1020197028330A KR20197028330A KR20190114013A KR 20190114013 A KR20190114013 A KR 20190114013A KR 1020197028330 A KR1020197028330 A KR 1020197028330A KR 20197028330 A KR20197028330 A KR 20197028330A KR 20190114013 A KR20190114013 A KR 20190114013A
Authority
KR
South Korea
Prior art keywords
map
data
client device
image
vector
Prior art date
Application number
KR1020197028330A
Other languages
English (en)
Other versions
KR102101915B1 (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 KR20190114013A publication Critical patent/KR20190114013A/ko
Application granted granted Critical
Publication of KR102101915B1 publication Critical patent/KR102101915B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • 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
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/3867Geometry of map features, e.g. shape points, polygons or for simplified maps
    • 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
    • G01C21/3881Tile-based structures
    • 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]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/10Map spot or coordinate position indicators; Map reading aids
    • G09B29/106Map spot or coordinate position indicators; Map reading aids using electronic means
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2380/00Specific applications
    • G09G2380/10Automotive applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

클라이언트 장치에서, 선택된 지리적 영역에 해당하는 두 개의 상이한 맵 이미지를 렌더링하기 위한 맵 데이터를 제공하기 위하여, 맵 서버는 벡터 디스크립터를 제공하고, 이들 각각은 제1 맵 이미지를 렌더링하기 위하여 비-래스터에 따라 각각의 맵 요소의 기하 형상을 나타낸다. 그리고 나서, 맵 서버는 벡터 디스크립터를 클라이언트 장치로 제공한다. 선택된 지리적 영역에 대한 제2 맵 이미지가 클라이언트 장치에서 렌더링되는 표시를 수신하면, 맵 서버는 한 세트의 하나 이상의 벡터 디스크립터를 나타내는 변경 표시를 생성하고, 이들 각각은 제1 맵 이미지와 제2 맵 이미지 중 둘이 아닌 하나에서만 렌더링되는 각각의 맵 요소에 해당하고, 변경 표시를 클라이언트 장치로 제공하여, 클라이언트 장치가 벡터 디스크립터의 적어도 일부와 변경 표시를 사용하여 제2 맵 이미지를 렌더링할 수 있다.

Description

비-래스터 맵 데이터의 변경을 사용하는 렌더링 맵 이미지{RENDERING MAP IMAGES USING MODIFICATIONS OF NON-RASTER MAP DATA}
본 발명은 전자 맵 디스플레이 시스템과 같은 맵 렌더링 시스템에 관한 것이고, 좀 더 구체적으로는, 맵 이미지가 비-래스터(non-raster) 형식으로 제공되는 맵 데이터를 사용하여 렌더링되는 맵 렌더링 시스템에 관한 것이다.
본원에 제공된 배경기술 설명은 본 발명의 맥락을 일반적으로 나타내기 위함이다. 본 배경기술 단락에서 기술되는 범주 내에서 여기에 거명되는 발명자의 작업은 물론 출원 시점에 종래 기술로 간주 되지 않을 수 있는 설명의 태양은, 본 발명에 대한 종래 기술로서 명시적, 암묵적으로 인정되지 않는다.
오늘날, 지리적 영역의 맵은 모바일 폰, 차량 네비게이션 시스템, 휴대용 글로벌 포지셔닝 시스템(GPS) 유닛 및 컴퓨터를 포함하는, 매우 다양한 장치상에서 운영되는 소프트웨어 어플리케이션에 의해 디스플레이될 수 있다. 어플리케이션 및/또는 사용자 선호도에 의존하여, 맵은 지형학적 데이터, 거리 데이터, 도시 교통 정보, 트래픽 데이터등을 디스플레이할 수 있다. 또한, 일부 어플리케이션은 상호작용 모드에서 맵을 디스플레이하여, 사용자는 가령, 줌 레벨을 바꾸거나 새로운 위치에 "카메라"로 찍기 위하여 다양한 제어부(라디오 버튼, 스크롤바등)를 작동할 수 있다. 또한, 일부 경우에서 사용자는 어떤 정보의 디스플레이를 선택 또는 비선택할 수 있다. 예를 들어, 사용자는 적절한 제어부를 작동하여 자전거 도로의 디스플레이를 턴온할 수 있다.
맵 이미지를 렌더링하기 위하여, 일반적으로 장치는 전용 서버로부터 래스터 이미지를 수신한다. 예를 들어, 맵 서버는 인터넷상에서 작동할 수 있고, 구체화된 지리적 영역을 위하여, 다양한 클라이언트 장치로 포터블 네트워크 그래픽(PNG) 형식인 이미지를 제공할 수 있다. 래스터 이미지가 클라이언트 장치에서 비교적 렌더링하기에 용이한 반면, 래스터 이미지 데이터는 일반적으로 종합적인 맵을 위해서 대량의 저장 공간을 요한다. 또한, 클라이언트 장치에서 래스터 이미지를 효율적으로 조작하는 것은 어렵다. 예를 들어, 선택된 영역에 대해 줌을 하기 위하여, 새로운 래스터 이미지 데이터가 서버로부터 검색되거나 사용가능한 래스터 이미지가 품질에 있어서 주목할만한 손상을 가지면서 확대된다.
실시예에서, 맵 데이터를 클라이언트 장치로 제공하기 위한 컴퓨터-실행되는 방법은 선택된 지리적 영역에 대한 제1 맵 이미지를 클라이언트 장치에서 렌더링하기 위한 여러 벡터 디스크립터를 생성하는 단계 - 각각의 벡터 디스크립터는 벡터 그래픽 형식에 따라 각각의 맵 요소의 기하형상을 나타냄 - 를 포함한다. 본 방법은 벡터 디스크립터가 통신 네트워크를 통하여 클라이언트 장치로 전송되도록 하는 단계와, 선택된 지리적 영역에 대한 제2 맵 이미지가 클라이언트 장치에서 렌더링되는 표시를 수신하는 단계 - 제2 맵 이미지는 제1 맵 이미지와 상이함 - 와, 한 세트의 하나 이상의 벡터 디스크립터를 나타내는 변경 표시를 생성하는 단계 - 상기 벡터 디스크립터의 각각은 제1 맵 이미지 및 제2 맵 이미지 중 둘이 아닌 하나에서만 렌더링되는 각각의 맵 요소에 해당함 - 와, 벡터 디스크립터의 적어도 일부와 변경 표시를 사용하여 제2 맵 이미지를 렌더링하기 위하여, 변경 표시가 통신 네트워크를 통하여 클라이언트 장치로 전송되도록 하는 단계를 더 포함한다.
또 다른 실시예에서, 유형의 비일시적인 컴퓨터-리드 가능한 매체는, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가 선택된 지리적 영역에 대한 비-래스터 형식으로 맵 데이터를 생성하도록 하는 명령을 저장하는데, 상기 맵 데이터는 래스터 형식으로 제1 맵 이미지를 생성하고, 맵 데이터가 통신 네트워크를 통하여 클라이언트 장치로 전송된다. 또한, 하나 이상의 프로세서에 의해 실행될 때, 명령은 하나 이상의 프로세서가 클라이언트 장치로부터, 선택된 지리적 영역에 대한 제2 맵 이미지가 클라이언트 장치에서 렌더링되는 표시를 수신하도록 하고, 제1 맵 이미지에서 제2 맵 이미지로 변환하기 위하여 맵 데이터에 대한 하나 이상의 변경을 나타내는 변경 표시를 생성하며, 맵 데이터의 적어도 일부와 변경 표시를 사용하여 클라이언트 장치에서 래스터 형식으로 제2 맵 이미지를 렌더링하기 위하여, 변경 표시가 통신 네트워크를 통하여 클라이언트 장치로 전송되도록 한다.
또 다른 실시예에서, 맵 이미지를 생성하기 위한 컴퓨팅 장치 내의 방법은 선택된 지리적 영역에 대한 제1 맵 이미지를 렌더링하기 위하여 여러 벡터 디스크립터를 통신 네트워크를 통하여 수신하는 단계 - 각각의 벡터 디스크립터는 벡터 그래픽 형식에 따라 각각의 맵 요소의 기하형상을 나타냄 - 와, 복수의 벡터 디스크립터를 사용하여 제1 맵 이미지를 렌더링하는 단계를 포함한다. 또한, 본 방법은 선택된 지리적 영역에 대한 제2 맵 이미지를 렌더링하기 위하여 여러 벡터 디스크립터의 변경을 나타내는 변경 표시를 통신 네트워크를 통하여 수신하는 단계와, 벡터 디스크립터의 적어도 일부와 변경 표시를 사용하여 선택된 지리적 영역에 대한 제2 맵 이미지를 렌더링하는 단계를 포함한다.
또 다른 실시예에서, 통신 네트워크에서 작동하는 컴퓨팅 장치는 프로세서와, 상기 프로세서와 결합된 메모리와, 통신 네트워크를 통하여 통신하기 위한 네트워크 인터페이스와, 메모리에 저장된 여려 루틴을 포함한다. 제1 루틴은 프로세서상에서 실행되어, 선택된 지리적 영역에 해당하는 맵 데이터에 대한 요청이 상기 네트워크 인터페이스를 통해 전송되도록 한다. 제2 루틴은 프로세서상에서 실행되어, 상기 요청에 응답하여 네트워크 인터페이스를 통하여 수신된 복수의 벡터 디스크립터를 사용하여 제1 맵 이미지를 렌더링하는데, 복수의 벡터 디스크립터는 비-래스터 형식이다. 제3 루틴은 프로세서상에서 실행되어, 선택된 지리적 영역에 해당하는 변경 데이터에 대한 요청이 상기 네트워크 인터페이스를 통하여 전송되도록 한다. 제4 루틴은 프로세서상에서 실행되어, 복수의 벡터 디스크립터의 적어도 일부와 변경 데이터를 사용하여 제2 맵 이미지를 렌더링한다.
도 1은 실시예에 따라서, 서버가 맵 이미지를 렌더링하기 위하여 맵 데이터를 클라이언트 장치 맵 데이터로 제공하고, 이후에 원래 제공된 맵 데이터 및 변경 데이터의 일부 또는 전부를 사용하여 동일한 지리적 영역에 대한 또 다른 맵 이미지를 렌더링 하기 위한 변경 데이터를 제공하는 시스템의 블록 다이어그램이고,
도 2는 도 1의 시스템에서 작동하는 클라이언트 장치에서 어떤 지리적 영역에 해당하는 두 개의 맵 이미지를 렌더링하기 위한 정보의 예시적인 교환을 나타내는 상호작용의 다이어그램이고,
도 3은 도 1의 시스템에서 실행될 수 있는 이전에 제공된 맵 데이터와 함께 추가적인 맵 특징을 렌더링하기 위하여, 클라이언트 장치로의 예시적인 정보 전송을 나타내는 상호작용의 다이어그램이고,
도 4는 도 1의 시스템에서 실행될 수 있는 이전에 제공된 맵 데이터에 포함된 맵 특징의 속성을 변경하기 위하여, 클라이언트 장치로의 예시적인 정보 전송을 나타내는 상호작용의 다이어그램이고,
도 5는 도 1의 시스템에서 실행될 수 있는 이전에 제공된 맵 데이터에 포함된 맵 특징을 삭제하기 위하여, 클라이언트 장치로의 예시적인 정보 전송을 나타내는 상호작용의 다이어그램이고,
도 6은 도 1의 시스템에서 실행될 수 있는 이전에 제공된 맵 데이터에 포함되고 복수의 맵 요소와 연관된 맵 특징을 변경하기 위하여, 클라이언트 장치로의 예시적인 정보 전송을 나타내는 상호작용의 다이어그램이고,
도 7은 도 1의 시스템에서 작동할 수 있는 맵 서버에서 여러 맵 이미지에 대한 맵 데이터를 생성하기 위한 예시적인 방법의 흐름 다이어그램이고,
도 8은 도 1의 시스템에서 작동할 수 있는 맵 서버에서 이전에 제공된 맵 데이터의 변경의 디스크립션을 생성하기 위한 예시적인 방법의 흐름 다이어그램이고,
도 9는 도 1의 시스템에서 작동할 수 있는 클라이언트 장치에서 맵 이미지를 렌더링하기 위한 예시적인 방법의 흐름 다이어그램이고,
도 10A는 도 1의 시스템에서 작동하는 클라이언트 장치에서 디스플레이될 수 있는 예시적인 기본 맵이고, 및
도 10B는 상호작용의 사용자 인터페이스를 통하여 사용자가 도 10A의 기본 맵을 디스플레이하는 클라이언트 장치에서 교통 맵 타입을 선택한 후에 디스플레이될 수 있는 예시적인 교통 맵이다.
아래에 논의되는 시스템 및 방법의 실시예에서, 맵 서버는 맵 이미지를 렌더링하기 위한 맵 데이터를 클라이언트 장치로 효율적으로 제공한다. 일부 실시예에 따르면, 맵 서버는 어떤 지역 또는 지리적 영역에 해당하는 제1 맵 이미지(가령, 기본 맵 이미지)를 렌더링하기 위하여 맵 데이터를 클라이언트 장치로 제공하고, 맵 서버는 동일한 지역에 해당하는 서로 다른 제2 맵 이미지(가령, 트래픽 맵 이미지)를 렌더링하기 위하여, 변경 데이터를 클라이언트 장치로 제공한다. 그리고 나서, 클라이언트 장치는 제1 맵 이미지를 렌더링하기 위해 이전에 제공된 맵 데이터와 변경 데이터를 사용하여 제2 맵 이미지를 렌더링 할 수 있고, 맵 서버는 제1 맵 이미지와 제2 이미지 모두를 렌더링하는데 사용되는 맵 데이터를 클라이언트 장치로 반드시 한 번 이상 제공할 필요가 없다. 시나리오에 의존하여, 변경 데이터는 이전에 제공된 맵 데이터에 하나 이상의 추가, 이전에 제공된 맵 데이터 하나 이상의 부분의 삭제 또는 이전에 제공된 맵 데이터의 하나 이상의 부분의 변경을 포함할 수 있다.
실시예에서, 맵 서버는 비-래스터 형식으로 맵 데이터를 제공하고, 클라이언트는 맵 데이터의 일부 또는 전부를 해석하여 각각의 래스터 이미지로서의 제1 맵 이미지 및 제2 맵 이미지를 생성한다. 맵 데이터는 추가적으로 텍스트 데이터를 포함하여 개별적 또는 집합적인 맵 요소(map element)로 디스플레이될 맵 라벨을 명시할 수 있다. 제1 맵 이미지를 렌더링하기 위하여, 클라이언트 장치는 통신 네트워크를 통하여 맵 서버로부터 맵 데이터를 요구할 수 있고, 이에 응답하여 맵 서버는 벡터 그래픽 형식(vector graphics format)에 따라 맵 콘텐츠를 기술하는 맵 데이터를 제공할 수 있다. 맵 데이터는 (가령, 점들 및 상기 점들을 연결하는 경로의 수학적 기술을 사용하여) 다양한 기하학적인 모양을 명시할 수 있고, 이들 모양이 도로, 건물, 공원, 물 줄기등과 같은 다양한 맵 요소를 렌더링하기 위하여 어떻게 위치되어야 하는지를 나타낼 수 있다. 예를 들어, 라인 세그먼트(line segment)의 래스터 이미지를 구성하는 각 픽셀을 명시하는 것 보다는, 라인 세그먼트의 벡터-기반 디스크립션(vector-based description)은 라인 세그먼트의 두 종점을 명시할 수 있고, 두 종점은 직선에 의해 연결되는 것을 나타낼 수 있다. 맵 요소의 벡터-기반 디스크립션은 본원에서 벡터 디스크립터(vector descriptor) 또는 간단히 벡터로 언급될 수 있고, 한 세트의 하나 이상의 벡터 디스크립터는 벡터 데이터로 언급될 수 있다. 더욱이, 일부 시나리오 내의 개별적인 맵 요소(가령, 빌딩) 또는 여러 맵 요소의 집합(가령, 빌딩들, 공원, 자전거 도로 및 대학 캠퍼스의 보행자 통로)은 맵 특징(또는 간단히 특징)을 정의할 수 있다. 실시예에서, 맵 특징은 맵 서버와 맵 클라이언트가 식별을 위해 사용하는 고유 식별자에 할당된다. 일반적으로, 맵 특징은 하나 이상의 벡터 디스크립터를 사용하여 기술될 수 있다.
클라이언트 장치는 가령, 각각의 사용자 명령에 응답하여 제1 맵 이미지 및 제2 이미지를 렌더링하기 위하여 맵 데이터를 요청할 수 있다. 사용자 명령은 서로 다른 맵 타입, 서로 다른 줌 레벨등의 선택을 나타낼 수 있다. 예시적인 시나리오에 따르면, 사용자는 지리적 영역 및 도로, 거리, 주요 랜드마크등을 나타내는 맵의 타입과 같은 기본 맵 타입을 선택한다. 클라이언트 장치는 맵 이미지의 렌더링을 위한 요청을 생성하고, 상기 요청을 맵 서버로 전송하는데, 이에 응답하여 벡터 그래픽 형식(또는 클라이언트 장치에서 래스터 이미지를 렌더링하기에 적절한 다른 비-래스터 형식)으로 맵 데이터를 제공한다. 맵 데이터는 몇몇의 벡터 디스크립터 및 일부 경우에 스타일 데이터, 라벨 데이터등과 같은 추가적인 데이터를 포함할 수 있다. 좀 더 구체적으로, 라벨 데이터는 정보 교환용 미국 표준 부호(American Standard Code for Information Interchange (ASCII)) 형식, 유니코드 형식(Unicode format) 또는 다른 적절한 문자 형식 내의 문자를 포함할 수 있다. 그리고 나서, 클라이언트 장치는 맵 데이터를 해석하여 맵 이미지를 렌더링 하고 맵 이미지를 디스플레이 장치상에 디스플레이한다. 상기 시나리오를 계속 진행하기 위하여, 그리고 나서 사용자는 동일한 지리적 영역에 대한 교통 맵을 선택할 수 있고, 이에 응답하여, 클라이언트 장치는 교통 맵에 해당하는 새로운 맵 이미지가 생성되는 표시를 생성할 수 있고, 상기 표시를 맵 서버로 전송할 수 있다. 일 실시예에 따르면, 클라이언트 장치는 새로운 타입의 맵 데이터(가령, 맵 데이터를 "영역(R)의 교통 맵에 제공함")에 대한 요청을 생성하고, 맵 서버는 클라이언트 장치와 이전의 통신을 확인하여 어떤 종류의 맵 데이터가 이전에 클라이언트 장치로 보내어졌는지, 그래서 클라이언트 장치에서 이미 사용가능한지를 결정한다. 또 다른 실시예에서, 클라이언트 장치는 새로운 타입의 맵 데이터(가령, "나는 이미 동일한 줌 레벨에서 영역(R)의 기본 맵에 대한 맵 데이터를 가지고 있다는 것을 고려할 때, 맵 데이터를 영역(R)의 교통 맵에 제공함")를 요청은 물론, 선택된 영역에 대하여 어떤 종류의 맵 데이터가 클라이언트 장치에서 이미 사용가능한지를 명시한다. 이러한 경우에 맵 서버는, 있다면 어떤 맵 데이터가 이전에 클라이언트 장치로 보내졌는지를 알 필요가 없다. 좀 더 일반적으로, 맵 서버와 클라이언트간의 트랜잭션의 내역은 맵 서버 및/또는 클라이언트 장치에 의해 유지될 수 있다.
그리고 나서, 맵 서버는 클라이언트 장치에서 이미 사용가능한 맵 데이터내에서 어떤 맵 요소 및 라벨이 추가되는지, 삭제되는지 또는 수정되는지를 결정할 수 있다. 예를 들어, 맵 서버는 어떤 영역 및 어떤 줌 레벨에 대한 기본 맵이 동일한 영역 및 동일한 줌 레벨에 대한 교통 맵과 어떻게 다른지를 결정할 수 있고, 적절한 변경 표시를 생성한다. 예를 들어, 변경 표시는 기본 맵 이미지에 포함되지 않는 지하철 노선을 렌더링하기 위한 벡터 디스크립터를 포함할 수 있다. 그리고 나서, 맵 서버는 변경 표시뿐만 아니라 기본 맵 이미지를 렌더링하기 위해 제공된 맵 데이터를 적어도 일부 사용하여, 교통 맵 이미지를 렌더링하기 위해 클라이언트 장치로 변경 표시를 제공한다.
맵 이미지를 렌더링하기 위한 맵 데이터가 클라이언트 장치로 효율적으로 제공되는 이들 및 다른 예시적인 시나리오는 첨부된 도면을 참조하여 더욱 논의된다. 일부 도면은 다른 요소를 더욱 명확히 나타낼 목적으로 어떤 요소의 생략하여 간단화될 수 있다. 일부 도면에서 이러한 요소의 생략은 기재된 해당 설명에 명확히 기술되어 있을 때를 제외하고는, 임의의 예시적인 실시예에서 특별한 요소의 존재 또는 부존재를 반드시 나타낼 필요는 없다.
우선, 도 1을 참조하면, 맵 데이터를 전송하기 위한 기술이 시스템(10)에서 실행될 수 있다. 실시예에서, 시스템(10)은 맵 서버(12), 네트워크(16)를 통하여 맵 서버(12)에 통신적으로 결합되는 클라이언트 장치(14) 및 맵 서버(12)와 통신적으로 결합되는 맵 데이터베이스(18)를 포함한다. 네트워크(16)은 인터넷과 같은 원거리 네트워크(WAN), 근거리 네트워크(LAN) 또는 임의의 다른 타입의 네트워크일 수 있다. 실시예에 의존하여, 맵 데이터베이스(18)는 도 1에 도시되는 바와 같이, 네트워크(16) 또는 또 다른 통신 링크를 통하여 맵 서버(12)에 결합될 수 있다. 간결성을 위하여, 맵 서버(12)의 단지 하나의 예시, 클라이언트 장치(14) 및 맵 데이터베이스(18)가 도 1에 도시된다. 그러나, 다른 실시예에서, 시스템(10)은 복수의 맵 서버(12), 복수의 클라이언트 장치(14) 및/또는 복수의 맵 데이터베이스(18)를 포함할 수 있다.
맵 서버(12)는 프로세서(20) 및 가령, 프로세서(20) 상에 직접(가령, 컴파일된 코드) 또는 간접적으로(가령, 프로세서(20) 상에서 실행되는 또 다른 어플리케이션에 의해 해석되는 스크립트와 같이) 실행될 수 있는 컴퓨터 명령 형태인 맵 컨트롤러(30)를 저장하는 컴퓨터-리드 가능한 메모리(22)를 포함할 수 있다. 컴퓨터-리드 가능한 메모리(22)는 휘발성 메모리(가령, 랜덤 액세스 메모리 또는 RAM) 및 실시예에서, 가령 하드 디스크와 같은 영구 메모리를 포함하여, 컴퓨터 명령 및 컴퓨터 명령이 런타임에 작동하는 데이터를 저장할 수 있다. 실시예에서, 맵 컨트롤러(30)는 다양한 맵 요소 및/또는 맵 콘텐츠로서 클라이언트 장치(14)로 제공되는 하나 이상의 맵 요소를 포함하는 맵 특징에 대한 벡터 데이터를 생성하는 동적 특징 컨트롤러(32)를 포함한다. 또한, 동적 특징 컨트롤러(32)는 동일한 지리적 지역에 해당하는 또 다른 맵 이미지에 대한 맵 이미지의 벡터-기반 디스크립션에서의 차이를 결정하고, 적절한 변경 표시를 생성하며, 클라이언트 장치(12)로 변경 표시를 제공하도록 구성될 수 있다. 다시 말해, 맵 이미지의 완전한 벡터-기반 디스크립션을 제공하기 보다는, 동적 특징 컨트롤러(32)는 이전에 제공되었던 또 다른 맵 이미지의 벡터-기반 디스크립션의 변경의 디스크립션을 효율적으로 제공할 수 있다.
변경 표시를 생성하기 위하여, 실시예에 따르면, 동적 특징 컨트롤러(32)는 어떤 맵 이미지에 해당하는 벡터 데이터의 직렬화된 표현과 또 다른 맵 이미지에 해당하는 벡터 데이터의 직렬화된 표현을 비교한다. 예를 들어, 동적 특징 컨트롤러(32)는 줌 레벨(Z)에서 영역(R)에 대한 기본 맵에 대한 벡터 데이터를 요구할 수 있고, 이에 응답하여, 맵 서버(18)는 일련의 벡터 디스크립터(V 1 , V 2 , V 5 , ... V N )을 제공할 수 있다. 또 다른 시간에, 동적 특징 컨트롤러(32)는 줌 레벨(Z)에서 영역(R)에 대한 교통 맵에 대한 벡터 데이터를 요구할 수 있고, 맵 서버(18)는 이에 응답하여 일련의 벡터 디스크립터(V 1 , V 3 , ... V L )를 제공할 수 있다. 두 세트의 벡터 디스크립터에 기초하여, 동적 특징 컨트롤러(32)는 줌 레벨(Z)에서 영역(R)에 대하여, (ⅰ) 기본 맵과 교통 맵 모두 벡터 스크립터(V 1 )에 해당하는 맵 요소를 포함하고, (ⅱ) 교통 맵은 아니고 기본 맵은 벡터 디스크립터 (V 2 V 5 )에 해당하는 맵 요소를 포함하며, (ⅲ) 기본 맵은 아니고 교통 맵은 벡터 디스크립터(V 3 )에 해당하는 맵 요소를 포함한다는 것을 결정한다. 동적 특징 컨트롤러(32)는, 기본 맵 이미지를 렌더링하기 위해 이전에 제공된 벡터 데이터를 사용하여 교통 맵 이미지를 생성하기 위하여 벡터 디스크립터(V 2 V 5 )는 이전에 제공된 벡터 데이터로부터 삭제되는 반면, 벡터 변경자(V 3 )는 이전에 제공된 벡터 데이터에 추가되는 것을 나타내기 위한 변경 표시를 생성할 수 있다. 좀 더 구체적으로, 동적 특징 컨트롤러(32)는, 하나 이상의 추가 표시 및 하나 이상의 제거 표시를 포함하는 변경 표시를 생성할 수 있고, 이들 각각은 연산(가령, 추가, 삭제) 및 피연산(가령, 벡터 디스크립터, 맵 특징 또는 맵 요소)을 식별할 수 있다.
또한, 일부 실시예에서, 동적 특징 컨트롤러(32)는, 제1 맵 이미지와 제2 맵 이미지 모두를 생성할 때, 어떤 맵 요소가 렌더링되어도, 맵 요소의 하나 이상의 특성은 제2 맵 이미지 렌더링에서 맵 요소를 재사용하기 위해 변경되어야 한다는 것을 결정할 수 있다. 예를 들어, 맵 요소의 일부 또는 전부는, 동일한 지역에서 다른, 부분적으로 또는 전체적으로 오버래핑된 맵 요소에 대한 이들 맵 요소의 포지셔닝(positioning)을 나타내는 각각의 뎁스 값(depth value)과 연관될 수 있다. 좀 더 구체적인 예로서, 벡터 디스크립터(V i )에 해당하는 도로 세그먼트를 묘사하는 맵 요소는 기본 맵 이미지내의 뎁스(D 1 )에서 렌더링 되나, 교통 맵 이미지내의 뎁스(D 2 )에서 렌더링될 수 있다. 이 시나리오에서, 동적 특징 컨트롤러(32)는, 이전에 클라이언트 장치(14)로 제공된 벡터 디스크립터(V i )와 연관된 뎁스가 뎁스(D 2 )로 업데이트되어야 한다는 것을 나타내는 변경 표시를 생성할 수 있다.
여전히 또한, 벡터 데이터에 추가하여, 동적 특징 컨트롤러(32)는, 변경 표시의 일부로서 또는 대안적으로, 별개의 표시로서, 라벨 데이터를 추가 또는 변경된 맵 특징에 제공할 수 있다. 라벨 데이터는 일부 실시예에서, 임의의 적절한 형식으로 문자, 맵 특징의 식별자 또는 해당 라벨이 속하는 맵 특징의 그룹을 포함할 수 있다.
일부 실시예에서, 벡터 데이터에 추가하여, 맵 컨트롤러(30)는, 벡터 데이터가 어떻게 렌더링되어야 하는지를 나타내는 스타일 데이터를 제공할 수 있다. 좀 더 특별하게, 스타일 데이터는 라인 두께(가령, 픽셀에서의 너비), 라인 색, 하나 이상의 채움 색(fill color)등과 같은 시각적 특징 또는 특성을 기술할 수 있다. 실시예에서, 스타일 데이터에는 벡터 데이터에 적용될 수 있는 다양한 시각적 스타일이 제공된다. 또한, 맵 서버는, 클라이언트 장치가 맵 요소의 다양한 벡터-기반 디스크립션(본원에서 벡터 디스크립션 또는 단단히 벡터라고도 언급됨)에 적용되어야하는 시각적 스타일일 어느 것인지 명시할 수 있다. 또한, 일부 실시예에서, 맵 서버는 지형, 교통, 트래픽, 자전거 도로등과 같은 특정 맵 스타일에 대한 맵 요소의 벡터-기반 디스크립션에 어떤 시각적 스타일이 적용되는지를 나타낸다. 이를 위해, 각각의 고유 스타일 식별자에 의해 각각 식별되는 여러 스타일이 정의될 수 있다.
맵 컨트롤러(30)는 비-래스터 형식으로 어떤 지리적 영역 및 줌 레벨에 대한 벡터 데이터와 같은 맵 데이터를, 실시예에 의존하여 단일 전자 메세지 또는 일련의 메세지들로 클라이언트 장치(14)에 제공할 수 있다. 또한, 실시예에서, 맵 컨트롤러(30)는 한 세트의 맵 타일(map tile) 디스크립터로서 맵 데이터를 생성하는데, 각 맵 타일 디스크립터는 맵 타일 즉, 어떤 크기(가령, 256 바이 256 픽셀)의 맵 이미지의 부분을 기술한다. 개별적 맵 타일에 의해 표현된 지리적 영역의 크기는 맵 타일이 연관된 줌 레벨에 의존할 수 있어서, 낮은 줌 레벨에서의 단일 맵 타일은 높은 줌 레벨에서의 단일 맵 타일보다 더 넓은 지리적 지역을 도시한다. 맵 컨트롤러(30)는 벡터 그래픽 형식에 따라 각각의 맵 타일 디스크립터를 생성할 수 있고, 도 1의 클라이언트 장치(14)와 같은 클라이언트 장치는 각 타일에 대한 래스터 이미지를 국부적으로 생성할 수 있다.
도 1을 계속 참조하면, 클라이언트 장치(14)는 명령을 실행하기 위한 프로세서(50) 및 명령과 데이터를 저장하기 위한 메모리(52)를 포함할 수 있다. 또한, 클라이언트 장치(14)는 입력 장치(54) 및 출력 장치(56)를 포함하여, 각각 사용자로부터 입력을 받고, 사용자로 출력을 제공할 수 있다. 입력 장치(54)는 하나 이상의 키보드, 마우스 및 터치스크린을 포함할 수 있고, 출력 장치(56)는 디스플레이 또는 터치스크린 또는 가령, "일반적인" (출력 전용) 스크린과 같은 모니터 장치를 포함할 수 있다. 클라이언트 장치(14)는 장치 드라이버, 운영 시스템(OS) 이벤트 핸들러(event handler)등과 같은 다양한 소프트 구성을 포함하여, 상호작용하는 사용자 인터페이스를 실행하기 위하여 입력 장치(54) 및 출력 장치(56)를 제어할 수 있다. 또한, 프로세서(50) 상에서 실행되는 소프트웨어 어플리케이션은 이들 소프트웨어 구성을 사용하여 어플리케이션-특정 사용자 인터페이스를 제공할 수 있다.
실시예에 의존하여, 클라이언트 장치(14)는 데스크탑 컴퓨터, 랩탑 컴퓨터와 같은 개인용 컴퓨터 또는 태블릿 PC, 워크스테이션, 스마트폰과 같은 휴대용 통신 장치 또는 어떤 다른 컴퓨팅 장치일수 있다. 실시예에서, 클라이언트 장치(14)는 어떤 컴퓨팅 및/또는 저장 기능에 대하여 또 다른 컴퓨팅 장치에 의존하는 소위 씬 클라이언트(thin client)이다. 예를 들어, 이러한 일 실시예에서, 메모리(52)는 RAM과 같은 휘발성 메모리만을 포함하고, 프로그램 및/또는 영구 메모리를 가진 저장 유닛은 클라이언트 장치(14)의 외부에 있다. 또 다른 실시예에서, 메모리(52)는 휘발성 메모리 구성과 영구 메모리 구성을 모두 포함한다.
브라우저 어플리케이션(60)은 프로세서(50)상에 실행되는 한 세트의 컴퓨터-리드 가능한 명령을 포함할 수 있다. 일반적으로, 브라우저 어플리케이션(60)은 가령, 텍스트, 이미지, 내장형 비디오등과 같은 콘텐츠 및 하이퍼텍스트 마크업 언어(HTML)과 같은 마크업 언어인 명령을 포함하는 웹 페이지에 액세스하고, 마크업 언어인 명령에 따라 출력 장치(56)상의 콘텐츠를 렌더링한다. 이를 위해, 브라우저 어플리케이션(60)은 하이퍼텍스트 트랜스퍼 프로토콜(HTTP), 파스 HTML 콘텐츠에 따르고, 보안 소켓 계층(SSL) 프로토콜에 따른 데이터를 인코딩하며, 전자 증명서등을 요청 및 확인하는 데이터 패킷을 생성 및 프로세싱하기 위한 기능은 물론 네비게이션, 렌더링과 관련된 다양한 사용자 명령을 수신하고 웹 페이지 데이터를 관리하기 위한 사용자 인터페이스 기능을 실행할 수 있다. 일부 실시예에서, 브라우저 어플리케이션(60)은 웹 페이지내에 제공되는 스크립팅 언어(가령, 자바스크립트)인 명령을 해석하도록 구성된다.
동적 맵 렌더링 엔진(62)은 브라우저 어플리케이션(60)의 구성으로서 실행될 수 있다. 그러나, 다른 실시예에서, 맵 렌더링 엔진(62)과 유사한 소프트웨어 모듈은 스탠드어론 어플리케이션 또는 또 다른 어플리케이션의 구성으로서 실행될 수 있다. 실시예에 의존하여, 동적 맵 렌더링 엔진(62)은 플러그인(가령, 브라우저 어플리케이션(60)의 기능을 확장하고, 프로세서(50)상에 실행되는 한 세트의 컴파일된 명령), 스크립트(가령, 런타임에 브라우저 어플리케이션(60)에 의해 해석되는 스크립팅 언어인 한 세트의 명령), 또는 또 다른 적절한 소프트웨어 구성일 수 있다. 하나의 예시적인 시나리오에 따르면, 동적 맵 렌더링 엔진(62)은, 사용자가 조작하는 클라이언트 장치(14)가 내장된 상호작용의 맵을 포함하는 웹 페이지에 방문할 때 다운로드 된다. 좀 더 구체적으로, 웹 페이지는 온라인 맵 서버 및 어떤 지리적 위치로의 제1 하이퍼링크는 물론, 상기 제1 하이퍼링크에 따른 온라인 맵 서버로부터 수신된 렌더링 맵 데이터에 요구되는 동적 맵 렌더링 엔진(62)의 카피로의 제2 하이퍼링크를 포함할 수 있다.
동적 맵 렌더링 엔진(62)은 가령, 브라우저 어플리케이션(60)의 사용자 인터페이스를 통하여 상호작용의 제어부를 제공할 수 있다. 상호작용의 제어부에 의해 사용자는 지리적 영역 또는 지역, 맵 타입(가령, 기본, 트래픽, 교통), 줌 레벨 등을 선택할 수 있다. 예시적인 시나리오에 따르면, 사용자는 우선 지리적 영역의 기본 맵을 요청하고, 이후에 동일한 영역의 맵의 또 다른 타입을 요청한다. 동적 맵 렌더링 엔진(62)은 사용자 명령에 응답하여, 벡터 그래픽 형식으로 맵 데이터를 요청 및 수신할 수 있다.
동작 중에, 동적 맵 렌더링 엔진(62)은 맵 서버(12)로부터 벡터 데이터(및, 일부 실시예에서, 스타일 데이터)를 수신하고, 수신된 벡터 데이터를 사용하여 해당 맵 이미지를 렌더링하여, 브라우저 어플리케이션(60)에 의해 할당된 어떤 영역 내에 맵 이미지가 디스플레이되도록 할 수 있다. 예를 들어, 브라우저 어플리케이션(60)은 맵 이미지를 디스플레이하기 위하여 HTML5 캔버스 요소(HTML5 Canvas element)를 만들 수 있다. 또한, 동적 맵 렌더링 엔진(62)은 또 다른 맵 이미지를 렌더링 하기 위해 수신된 벡터 데이터에 하나 이상의 변경을 나타내는 변경 표시를 맵 서버(12)로부터 수신할 수 있다.
간결성을 위하여, 클라이언트 장치(14)는 하나의 프로세서(50)로 도시된다. 그러나 클라이언트 장치(14)는 다른 실시예에서, 가령, 출력 장치(56)상에 이미지 렌더링을 가능하게 하도록 구성된 그래픽 프로세싱 유닛(GPU)과 같은 추가적인 프로세싱 유닛(미도시)을 포함할 수 있다. 또한, 일 실시예에서, 브라우저 어플리케이션(60)은 맵 이미지를 효율적으로 생성하기 위하여 그래픽 기능의 라이브러리(library of graphics functions)를 사용할 수 있다. 예를 들어, 메모리(52)는 그래픽을 렌더링 하기 위한 기능을 가진 OpenGL® 또는 Direct3D®과 같은 플러그인을 저장할 수 있는데, 클라이언트(14)상에 실행되는, 브라우저 어플리케이션(60)을 포함하는 다양한 어플리케이션은 어플리케이션 프로그래밍 인터페이스(API)를 통하여 상기 플러그인에 액세스할 수 있다. 또 다른 실시예에서, 메모리(52)는 가령, WebGL과 같은 브라우저 어플리케이션에 특히 적합한 플러그인을 저장한다. 또한, 일부 실시예에서, 메모리(52)는 출력 장치(56)를 통하여 이미지의 효율적인 렌더링을 가능하게 하는 추가적인 소프트웨어 구성을 저장한다. 예를 들어, 메모리(52)는 Adobe® Flash®플러그인 또는 O3D 플러그인을 포함할 수 있다.
일반적으로, 동적 맵 렌더링 엔진(62)은 임의의 적절한 어플리케이션을 작동시킬 수 있다는 점이 주지된다. 예를 들어, 클라이언트 장치(70)는 가령, 스마트폰과 같은 휴대용 장치일 수 있는데, 동적 맵 렌더링 엔진(62)은 맵핑 어플리케이션(74)에서 작동한다. 브라우저 어플리케이션(60)과 마찬가지로, 맵핑 어플리케이션(74)은 메모리(72)에 저장되고 클라이언트 장치(70)의 하나 이상의 프로세서(미도시)상에서 실행될 수 있는 한 세트의 명령을 포함할 수 있다. 일부 실시예에서, 맵핑 어플리케이션(74)은 (가령, 해당 브라우저 API를 통하여) 클라이언트 장치(70)상에서 실행되는 브라우저 어플리케이션에 의해 제공된 네트워킹 기능을 사용한다. 또 다른 실시예에서, 맵핑 어플리케이션(74)은 맵 서버(12)에 액세스하기 위하여, TCP, IP, HTTP등을 지원하는 통신 스택과 같은 브라우저 기능의 적어도 일부를 포함한다.
다음으로, 도 1의 시스템 또는 유사한 환경에서의 맵 서버 및 클라이언트 장치의 동작을 더 잘 나타내기 위하여, 여러 시나리오가 도 2-6에 도시된 상호작용 다이어그램을 참조하여 고려된다. 특히, 어떤 영역에 대한 두 개의 맵 이미지를 렌더링하기 위한 맵 서버와 클라이언트 장치간의 예시적인 정보의 교환은 도 2를 참조하여 논의되고, 뒤이어 여러 특정 시나리오의 논의가 이어진다. 이는 추가적인 맵 요소를 렌더링하기 위하여 변경 표시를 제공하는 것(도 3), 맵 특징 또는 요소가 렌더링된 뎁스를 변경하기 위하여 변경 표시를 제공하는 것(도 4), 이전에 제공된 맵 데이터에 포함된 맵 특징 또는 요소를 삭제하기 위하여 변경 표시를 제공하는 것(도 5) 및 여러 맵 요소와 연관된 복합 맵 특징을 변경하기 위하여 변경 표시를 제공하는 것(도 6)이다.
도 2를 참조하면, 예시적인 메세지 교환(100)은, (가령, 도 1의 클라이언트(14)와 같은) 클라이언트 장치내에 포함되거나, 아니면 연관된 사용자 인터페이스(102), 클라이언트 장치에서 작동하는 동적 맵 렌더링 엔진(104) 및 (도 1의 맵 서버(12)와 같은) 서버(106)를 포함한다. 다시 도 1을 참조하면, 동적 맵 렌더링 엔진(104) 및 서버(106)는 구성(62 및 12)에서 각각 실행될 수 있는 반면, 사용자 인터페이스는 브라우저(60)에 의해 제공될 수 있다.
사용자 명령에 응답하여, 사용자 인터페이스(102)는 어떤 영역(R 1 )에 대하여 기본 맵 데이터에 대한 요청(110)을 생성하고 동적 맵 렌더링 엔진(104)으로 요청을 제공할 수 있다. 요청(110)은 가령, 구성(102 및 104)가 실행되는 클라이언트 장치 내부로 전자 메세지로서 송신될 수 있다. 동적 맵 렌더링 엔진(104)은 결국, 통신 네트워크를 통하여 서버(106)로 전송될 기본 맵 데이터에 대한 요청을 생성할 수 있다. 요청(112)은 글로벌 포지셔닝 서비스(GPS) 좌표 또는 임의의 다른 적절한 방식을 사용하여 영역(R 1 )을 명시할 수 있다. 또한, 요청(112)은 맵 타입 표시를 포함하여, 기본 맵을 렌더링하기 위하여 맵 데이터가 요청된다는 것을 명시할 수 있다. 여전히 또한, 일부 실시예에서, 요청(102)은 영역(R 1 )에 대한 임의의 벡터-기반 맵 데이터가 구성(102 및 104)을 실행하는 클라이언트 장치에서 이미 사용가능하게 되는지를 나타낸다.
요청(112)에 응답하여, 서버(106)는 기본 맵 이미지를 렌더링 하기 위하여, 벡터 그래픽 형식과 같은 비-래스터 형식으로 맵 데이터를 포함하는 응답(114)을 생성할 수 있다. 예시적인 시나리오에 따르면, 응답(114)은 이전에 제공된 임의의 벡터 데이터를 필요로 하지 않는 영역(R 1 )에 대한 기본 맵 이미지의 벡터-기반 디스크립션을 포함한다. 다시 말해, 응답(114)은 영역(R 1 )에 대한 기본 맵 이미지의 완전한 디스크립션을 포함한다. 응답(114)은 하나 이상의 타일 디스크립터(T 1 , T 2 , ... T N )와 같은 임의의 적절한 방식으로 조직화된 맵 데이터를 포함할 수 있다. 일반적으로, 맵 데이터는 하나의 타일을 포함하여, 임의의 수의 타일로 제공될 수 있다. 각각의 타일에 대하여, 응답(112)은 다양한 특징(F 1 , F 2 등)를 기술할 수 있고, 이들 각각은 적절한 벡터 그래픽 형식에 따라 하나 이상의 벡터 디스크립터를 사용하여 명시될 수 있다(상기 나타난 바와 같이, 특징은 하나의 맵 요소 또는 그룹의 맵 요소와 연관될 수 있음). 특징은 빌딩 또는 좀 더 복잡한 맵 요소의 그룹핑과 같은 간단한 맵 요소에 해당할 수 있다. 일부 실시예에서, 응답(114)은 미래의 식별성에서의 사용을 위하여 맵 특징에 대한 고유 식별자를 제공할 수 있다. 일부 실시예에서, 응답(114)은 맵 요소의 다양한 시각적 속성을 명시하는 스타일 데이터를 추가적으로 포함한다.
동적 맵 렌더링 엔진(104)은 기본 맵 이미지를 렌더링하고, 기본 맵 이미지를 사용자 인터페이스(102)로 제공하며, 해당 이벤트(116)를 생성하고, 수신된 맵 데이터(및, 사용가능하면 스타일 데이터)를 미래의 사용을 위하여 메모리에 저장할 수 있다. 실시예에서, 동적 맵 렌더링 엔진(104)은 맵 데이터가 기본 맵과 연관된다는 표시를 추가적으로 저장한다.
도 2의 시나리오에서, 나중에 사용자는 지리적 좌표를 바꾸지 않으면서 맵 타입을 기본에서 교통으로 바꾸도록 결정하고, 사용자 인터페이스(102)를 통하여 적절한 제어를 활성화시킨다. 이에 응답하여, 사용자 인터페이스(102)는 교통 맵 데이터에 대한 요청(120)을 생성하고, 요청(120)을 동적 맵 렌더링 엔진(104)으로 전송하며, 결국 서로 다른 맵 이미지가 클라이언트 장치에서 렌더링되는 서버(106)로 표시(121)를 제공한다. 실시예에서, 표시(121)는 요청(112)과 유사한 교통 맵 데이터에 대한 요청이다. 또 다른 실시예에서, 표시(121)는 교통 맵 이미지를 렌더링하기 위하여, 이전에 제공된 맵 데이터를 변경하기 위한 변경 데이터를 명시적으로 요청한다.
실시예에서, 서버(106)는 일련의 전자 메세지(1221 ... 122N)로서 클라이언트 장치로 변경 표시를 제공한다. 그러나, 또 다른 실시예에서, 변경 표시는 단일 메세지로서 제공된다. 각각의 메세지(1221 ... 122N)는 해당 타일(T 1 ... T N )에 대한 벡터 데이터가 어떻게 변경되는지의 표시를 포함할 수 있다. 그러나, 일부 시나리오에서, 응답(114)에 기술된 일부 타일(T 1 ... T N )만 변경된다. 예를 들어, 기본 맵의 일부로서 또는 교통 맵의 일부로서 디스플레이될 때, 물 줄기를 나타내는 맵 타일은 동일한 외관을 가질 수 있다.
변경되는 각각의 타일에 대하여, 메세지(122i)는 하나 이상의 변경 디스크립터(M 1 , M 2 , ... M M )를 제공할 수 있다. 일반적으로, 변경 디스크립터는 이전에 제공된 맵 데이터에 추가될 맵 요소에 대한 벡터 디스크립터를 명시하고, 이전에 제공된 맵 데이터에서 삭제될 맵 요소를 식별하며, 이전에 제공된 맵 데이터에서 맵 요소의 특성에 대한 새로운 값을 명시하는 것 등을 할 수 있다. 실시예에서, 각각의 변경 디스크립터(M 1 , M 2 , ... M M )는 추가, 삭제, 변경, 뎁스 변경등과 같은 수행될 연산을 식별하고, 또한, 맵 특징에 대한 벡터 디스크립터 또는 추가될 맵 요소, 맵 특징의 식별자 또는 삭제될 맵 요소등과 같은 하나 이상의 피연산자 또는 파라미터를 포함한다.
메세지(1221 ... 122N)를 수신하면, 동적 맵 렌더링 엔진(104)는 응답(114)에서 제공된 벡터 데이터 및 메세지(1221 ... 122N)에서 제공된 변경 표시 중 일부 또는 전부를 사용하여, 요청된 교통 맵 이미지에 대한 타일을 맵 렌더링한다. 좀 더 구체적으로는, 동적 맵 렌더링 엔진(104)은 이전에 제공된 벡터 디스크립터를 해석하고, 메세지(1221 ... 122N)에 따라 변경되어서, 래스터 교통 맵 이미지를 렌더링하고, 교통 맵 이미지가 사용자 인터페이스(102)를 통하여 렌더링되도록 하는 이벤트(126)를 생성할 수 있다. 또한, 동적 맵 렌더링 엔진(104)은 변경된 맵 데이터를 메모리내에 저장할 수 있다. 실시예에서 동적 맵 렌더링 엔진(104)은 원래 제공된 맵 데이터 및 서로 다른 버전의 맵 데이터로서 변경된 맵 데이터를 모두를 저장한다.
도 3에 도시된 예시적인 메세지 교환(150) 동안에, 맵 서버(106)는 각각의 메세지(1521 ... 152N)을 통하여 동적 맵 렌더링 엔진(104)으로 추가적인 맵 특징의 벡터 디스크립터를 제공한다. 추가적인 맵 특징은 사용자 인터페이스(102) 및 동적 맵 렌더링 엔진(104)을 실행하는 클라이언트 장치에서 새로운 맵 이미지를 렌더링하기 위하여, 이전에 제공된 맵 데이터의 일부 또는 전부가 사용된다. 실시예에서, 메세지(1521 ... 152N)는 어떤 맵 타일에 추가를 기술한다. 다른 실시예에서, 메세지(1521 ... 152N)는 임의의 특정 타일과 연관되지 않는다.
각각의 메세지(1521 ... 152N)는 벡터 그래픽 형식 또는 다른 적절한 비-래스터 형식으로, 하나 이상의 맵 요소를 가진 맵 특징의 디스크립션을 포함할 수 있다. 또한, 메세지(152)는 해당 맵 특징이 대략 동일한 위치에 배치되는 또 다른 맵 특징 또는 요소에 대하여 어떻게 렌더링되는지 명시하는 뎁스 표시를 포함할 수 있다. 예를 들어, 메세지(1521 ... 152N) 중 하나를 통하여 추가된 새로운 맵 특징은 철로의 부분일 수 있고, 이전에 제공된 것은 도로의 부분인 맵 특징을 포함할 수 있다. 새로운 맵 특징과 이전에 제공된 맵 특징의 각각의 뎁스 표시에 의존하여, 철로의 부분은, 철로 트랙과 도로 교차점에서 도로 상에 또는 아래에 렌더링 될 수 있다.
메세지(1521 ... 152N)를 수신하면, 동적 맵 렌더링 엔진(104)은 새로운 맵 이미지를 렌더링 할 수 있고, 새로운 맵 이미지가 사용자 인터페이스(102)에서 디스플레이되도록 하기 위하여 이벤트(156)를 생성할 수 있다. 실시예에서, 동적 맵 렌더링 엔진(104)은 또한, 맵 데이터의 새로운 버전에 따라 메모리 내에 증가된 맵 데이터를 저장한다.
도 4를 참조하면, 서버(106)가 이전에 제공된 맵 데이터에 포함된 어떤 맵 특징이 새로운 뎁스에서 새로운 맵 이미지에 렌더링되도록 결정할 때, 예시적인 메세지 교환(200)이 발생할 수 있다. 서버(106)는, 고유 특징 식별자에 의해 식별되는 맵 특징에 대하여, 맵 특징이 렌더링되는 새로운 뎁스를 나타내는 변경 표시(202)를 생성하고 동적 맵 렌더링 엔진(104)으로 전송할 수 있다. 또 다른 실시예에서, 변경 표시(202)는 여러 맵 특징 또는 요소를 위하여 새로운 뎁스 값을 나타낸다. 변경 표시(202)를 수신하면, 동적 맵 렌더링 엔진(104)은 변경 표시(202)를 고려하여 새로운 맵 이미지를 렌더링할 수 있고, 새로운 맵 이미지가 사용자 인터페이스(102)에서 디스플레이되도록 하기 위하여 이벤트(204)를 생성할 수 있다.
또한, 서버(106)가 이전에 제공된 맵 데이터에 포함된 어떤 맵 특징이 새로운 맵 이미지에 렌더링되지 않도록 결정할 때, 도 5의 예시적인 메세지 교환(250)이 발생할 수 있다. 서버(106)는 가령, 고유 특징 식별자를 사용하여 맵 특징을 식별하는 변경 표시(252)를 생성하고, 동적 맵 렌더링 엔진(104)으로 전송할 수 있다. 또 다른 실시예에서, 변경 표시(252)는 맵 요소의 적절한 식별자를 사용하여 개별적인 맵 요소를 식별한다. 또한, 일부 실시예에서, 변경 표시(252)는 삭제될 여러 맵 특징 또는 요소를 식별한다. 변경 표시(252)를 수신하면, 동적 맵 렌더링 엔진(104)은 변경 표시(252)를 고려하여 새로운 맵 이미지를 렌더링할 수 있고, 새로운 맵 이미지가 사용자 인터페이스(102)에서 디스플레이되도록 하기 위하여 이벤트(254)를 생성할 수 있다.
도 6은, 서버(106)가 여러 서브-특징 또는 요소를 가진 복합 맵 특징을 변경하기 위하여 변경 데이터를 동적 맵 렌더링 엔진(104)으로 제공하는 동안의 예시적인 메세지 교환(300)을 도시한다. 예를 들어, 맵 특징(F 1 )은 서브 특징(F 1-1 , F 1-2 , F 1-3 , F 1-4 F 1-5 )를 포함할 수 있다. 기본 맵의 일부로서의 맵 특징(F 1 )을 렌더링할 때, 각각의 서브-특징(F 1-1 , F 1-2 , F 1-3 , F 1-4 F 1-5 )이 사용될 수 있다. 그러나, 교통 맵의 일부로서 맵 특징 (F 1 )을 렌더링할 때, 맵 특징(F 1 )은 서브-특징(F 1-1 F 1-2 )만으로 렌더링 될 수 있다. 실시예에서, 서버(106)는 맵 특징(F 1 )이 삭제되어야 한다는 것을 나타내는 메세지(302)를 생성한다. 도 5를 참조하여 상기 논의된 예시적인 시나리오와 마찬가지로, 메세지(302)는 맵 특징(F 1 )의 고유 식별자를 포함할 수 있다. 그리고 나서, 서버(106)는 서브-특징(F 1-1 F 1-5 )을 각각 추가하기 위하여, 메세지(304 및 306)를 생성한다. 도 3의 예시적인 시나리오와 마찬가지로, 메세지(304 및 306)은 벡터 그래픽 형식과 같은 비-래스터 형식으로 해당 맵 특징 또는 요소의 디스크립션을 포함할 수 있다. 메세지(302, 304 및 306)을 수신하면, 동적 맵 렌더링 엔진(104)은 새로운 버전의 맵 특징(F 1 )으로 새로운 맵 이미지를 렌더링할 수 있고, 새로운 맵 이미지가 사용자 인터페이스(102)에서 디스플레이되도록 하기 위하여 이벤트(310)를 생성할 수 있다.
다음으로, 도 1의 시스템 또는 유사한 환경에서 작동하는 컴퓨팅 장치에서 실행될 수 있는 여러 예시적인 방법이 도 7-9를 참조하여 논의된다. 이들 방법은 임의의 적절한 프로그래밍 언어로 개발되고, (하나 이상의 하드 디스크 드라이버와 같은) 유형의, 비일시적인 컴퓨터-리드 가능한 매체 상에 저장된 컴퓨터 프로그램으로서 실행될 수 있고, 하나 이상의 프로세서상에서 실행될 수 있다. 예를 들어, 도 7 및 8의 방법은 맵 서버(12)에서 실행될 수 있고, 도 9의 방법은 클라이언트 장치(14)에서 실행될 수 있다. 도 7-9의 방법이 서버 또는 개인용 컴퓨터(PC)와 같은 개별적인 컴퓨터상에서 실행될 수 있어도, 여러 컴퓨터를 사용하여, 가령 클라우드 컴퓨팅 환경과 같은 분산된 방식으로 이들 방법의 적어도 일부를 실행할 수도 있다.
도 7을 참조하면, 여러 맵 이미지를 위한 맵 데이터를 생성하기 위한 예시적인 방법(350)은 가령, 맵 서버(12)의 맵 컨트롤러(30) 및 서버(106)의 유사한 구성에서 실행될 수 있다. 실시예에 따르면, 어떤 영역에 대한 제1 맵 이미지를 렌더링하기 위한 벡터 디스크립터는 블록(352)에서 생성된다. 벡터 디스크립터는 벡터 그래픽 형식에 따를 수 있고, 각각의 맵 요소를 기술할 수 있다. 일부 실시예에서, 벡터 디스크립터는 하나 이상의 맵 요소를 각각 포함하는 맵 특징에 따라 그룹화될 수 있다. 또한, 일부 실시예에서, 벡터 디스크립터는, 텍스트-기반 라벨 데이터, 아이콘 또는 도로 쉴드(road shield)등과 같은 심볼을 효율적으로 렌더링 또는 다시-렌더링하기 위한 스타일 데이터를 또한 포함하는 비-래스터 맵 데이터의 일부로서 제공될 수 있다.
다음으로, 블록(354)에서, 벡터 디스크립터는 클라이언트 장치로 제공된다. 예를 들어, 벡터 디스크립터는 가령 도 1의 네트워크(16)와 같은 통신 네트워크를 통하여 하나 이상의 전자 메세지로서 전송될 수 있다.
블록(356)에서, 동일한 영역에 대한 제2 맵 이미지를 렌더링하기 위하여 데이터에 대한 요청이 수신된다. 일부 시나리오에서, 요청은 가령, 도 2의 상호작용의 다이어그램에서 도시된 바와 같이, 클라이언트 장치에서 서로 다른 맵 타입을 선택하는 사용자에 응답하여 전송된다. 이전에 제공된 벡터 디스크립터로의 하나 이상의 변경의 디스크립션을 포함하는 변경 표시는 블록(358)에서 생성되고, 블록(360)에서 클라이언트 장치로 제공된다.
또 다른 시나리오에서, 블록(356)에서 수신된 요청은 동일한 영역 및 동일한 맵 타입에 해당하는 맵 이미지는 렌더링 되는 새로운 줌 레벨을 선택하는 사용자에 응답하여 전송된다. 예를 들어, 블록(352)에서 생성된 벡터 디스크립터는 지리적 영역(R)에 대한 기본 맵 타입의 줌 레벨(Z 1 )에서 여러 타일을 기술할 수 있다. 사용자가 줌 레벨(Z 2 )을 선택하고, 데이터에 대한 적절한 요청이 블록(356)에서 발행된 후에, 변경 표시가 블록(358 및 360)에서 각각 생성되고 클라이언트 장치로 제공될 수 있다. 클라이언트 장치는 줌 레벨(Z 2 )에서 해당 맵 요소를 렌더링 하기 위하여 벡터 디스크립터의 일부 또는 전부를 재설계할 뿐만 아니라, 이전에 제공된 벡터 디스크립터를 변경 표시에 따라 추가, 삭제 또는 변경할 수 있다. 좀 더 구체적인 예시로서, 블록(354)에서 제공된 벡터 디스크립터는 줌 레벨(Z 1 )에서 공원의 벡터-기반 디스크립션을 포함할 수 있고, 동일한 공원의 벡터-기반 디스크립션은, 변경된 맵 이미지의 일부로서 줌 레벨(Z 2 )에서 공원을 다시-렌더링하는데 사용될 수 있다.
도 8을 참조하면, 이전에 제공된 맵 데이터의 변경의 디스크립션을 생성하기 위한 예시적인 방법(400)은 가령, 맵 서버(12)의 맵 컨트롤러(30) 또는 서버(106)의 유사한 구성에서 실행될 수 있다. 실시예에서, 방법(400)의 적어도 일부 단계는 상기 논의된 방법(350)의 블록(356-360)에서 실행된다.
블록(402)에서, 맵 이미지는 클라이언트 장치에서 업데이트될 것이라는 표시가 수신된다. 이전에 제공된 벡터 디스크립터에 대한 추가가 식별되고, 블록(404)에서 해당 디스크립션이 생성된다. 블록(406)에서, 이전에 제공된 벡터 디스크립터의 일부의 삭제가 색별되고, 변경의 해당 디스크립션이 생성된다. 상기 논의된 바와 같이, 일부 시나리오에서 어떤 맵 특징의 변경은 서브-특징의 일부의 삭제 및 추가로서 표현된다. 벡터 데이터에 대한 변경의 디스크립션과 같은 변경 표시는 단일 전자 메세지 또는 여러 전자 메세지에서 클라이언트 장치(408)로 전송된다.
도 9는 가령, 동적 맵 렌더링 엔진(62 또는 104)내에서 실행될 수 있는 맵 이미지를 렌더링하기 위한 예시적인 방법(450)의 흐름 다이어그램이다. 블록(452)에서, 어떤 지역 또는 영역에 대한 벡터 디스크립터가 수신되고, 블록(454)에서, 제1 맵 이미지는 수신된 벡터 디스크립터를 사용하여 렌더링된다. 이를 위해, 수신된 벡터 데이터는 래스터 이미지를 생성하도록 해석될 수 있다.
다음으로, 블록(456)에서, 제2 맵 이미지를 렌더링하기 위한 요청이 가령, 브라우저 어플리케이션의 인터페이스와 같은 사용자 인터페이스로부터 수신된다. 제2 맵 이미지는 동일한 영역에 대한 것일 수 있으나, 상기 논의된 바와 같이 서로 다른 맵 타입 또는 줌 레벨에 해당할 수 있다. 블록(452)에서 수신된 벡터 디스크립터에 대한 하나 이상의 변경의 디스크립션과 같은 변경 표시는 블록(458)에서 수신된다. 그리고 나서, 제2 맵 이미지는 블록(452)에서 수신된 벡터 디스크립터 및 블록(458)에서 수신된 변경의 디스크립션의 일부 또는 전부를 사용하여 렌더링된다. 상기 논의된 바와 같이, 대체로 벡터 데이터에 대한 변경은 추가, 삭제, 변경, 뎁스의 변화등을 포함할 수 있다.
상기 논의된 기술의 예시적인 활용을 추가로 도시하기 위하여, 도 10A 및 10B가 동일한 지리적 영역에 해당하고, 기본 맵 타입과 교통 맵 타입에 따라 각각 도시된다. 도 10A에 도시된 기본 맵의 맵 이미지(500)는 도로 및 공원과 같은 복수의 맵 요소의 렌더링(500)을 포함할 수 있다. 도 10B에 도시되는 바와 같이, 교통 맵의 맵 이미지는 맵 이미지(500)의 해당 부분 상에 중첩된 지하철 노선(504)뿐만 아니라, 맵 이미지(500)의 맵 요소를 포함할 수 있다. 실시예에 의존하여, 지하철 노선(504)은 단일 맵 특징 또는 여러 맵 특징으로서 정의될 수 있는데, 각각은 트랙의 섹션의 각각에 해당한다. 또한, 지하철 심볼(506)은 맵 이미지(500)의 부분상에 렌더링될 수 있다. 실시예에 의존하여, 지하철 심볼(506)은 가령, 추가된 맵 특징 또는 요소로서, 라벨로서 또는 아이콘으로서 제공될 수 있다. 실시예에서, 지하철 심볼(506)은, 표준 아이콘을 생성하는 서버로부터 래스터 형식으로 표준 지하철 심볼을 검색하는데 사용될 수 있는 유니버셜 리소스 로케이터(URL)로서 구체화된다.
도 10A의 맵 이미지가 클라이언트 장치에서 렌더링된 이후에 클라이언트 장치에서 도 10B의 맵 이미지를 생성하기 위하여, 맵 서버는 지하철 노선(504)에 해당하는 하나 이상의 맵 특징을 벡터 형식으로 기술하는 변경 표시만 제공할 수 있다. 실시예에서, 또한, 변경 표시는 지하철 노선(504)이 도 10A의 맵 이미지에 도시된 도로상에 나타나게 하기 위한 뎁스 표시를 제공한다. 또한, 실시예에서, 변경 표시는 라벨 또는 아이콘으로서 지하철 심볼(506)의 디스크립션을 추가로 포함한다.
다음의 추가적인 고려사항은 상기 논의에 적용된다. 본 명세서 전반에 걸쳐, 복수의 예는 단수의 예로 기술되는 구성, 동작 또는 구조를 충족할 수 있다. 하나 이상의 방법의 개별적인 동작이 도시되고, 별개의 작동으로서 기술되더라도, 하나 이상의 개별적인 작동은 동시에 수행될 수 있고, 동작이 도시된 순서로 수행되는데 아무것도 요하지 않는다. 예시적인 배치에서 별개의 구성으로 나타난 구조 및 기능은 결합된 구조 또는 구성으로서 실행될 수 있다. 마찬가지로, 단일 구성으로 나타난 구조 및 기능은 별개의 구성으로서 실행될 수 있다. 이들 및 다른 변형예, 변경예, 추가예 및 개선예는 본원의 주제의 범위내에 있다.
어떤 실시예는 논리 또는 복수의 구성, 모듈 또는 메카니즘을 포함하면서 본원에서 기술된다. 모듈은 소프트웨어 모듈(가령, 기계-리드 가능한 매체 또는 전송 신호로 구체화된 코드) 또는 하드웨어 모듈로 구성될 수 있다. 하드웨어 모듈은 어떤 동작을 수행할 수 있는 유형의 유닛이고, 어떤 방식으로 배치 또는 배열될 수 있다. 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(가령, 스탠드어론, 클라이언트 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(가령, 프로세서 또는 프로세서의 그룹)은 본원에서 기술되는 바와 같이, 어떤 동작을 수행하기 위해 작동하는 하드웨어 모듈과 같이, 소프트웨어(가령, 어플리케이션 또는 어플리케이션 일부)로 구성될 수 있다.
구체적으로 다른 진술이 없는 한, "프로세싱", "컴퓨팅", "계산하는", "결정하는", "제시하는", "디스플레이하는"등과 같은 단어를 사용하는 본원에서의 논의는, 하나 이상의 메모리(가령, 휘발성 메모리, 비-휘발성 메모리 또는 이들의 조합), 저항 또는 정보를 수신, 저장, 전송 또는 디스플레이하는 다른 기계 구성내의 물리적(가령, 전자적, 자기적 또는 광학적) 양으로서 표현되는 데이터를 조작 또는 전송하는 기계(가령, 컴퓨터)의 행동 또는 프로세스를 언급할 수 있다.
본원에서 사용되는 바와 같이, "하나의 실시예" 또는 "일 실시예"에 대한 임의의 언급은 실시예와 관련되어 기술되는 구체적인 요소, 특징, 구조 또는 특징이 적어도 하나의 실시예에 포함되는 것을 의미한다. 본 명세서 내의 다양한 위치에서, 절 "하나의 실시예에서"의 출현은 반드시 동일한 실시를 전부 언급하는 것은 아니다.
일부 실시예는 그 파생어와 함께 "결합되는" 및 "연결되는" 표현을 사용하여 기술될 수 있다. 예를 들어, 일부 실시예는 두 개 이상의 요소가 직접적인 물리적 또는 전기적 접촉인 것을 나타내기 위하여, 용어 "연결되는"을 사용하여 기술될 수 있다. 그러나, 용어 "결합되는"은 두 개 이상의 요소가 서로 직접적인 접촉이 아니라, 서로 상호-협력 또는 상호작용인 것을 의미할 수도 있다. 실시예는 이러한 맥락으로 제한되지 않는다.
본원에서 사용되는 바와 같이, 용어 "포함하다","포함하는", "포함하는", "가지다", "가지는" 또는 그들의 임의의 다른 변형들은 비-배타적인 포함을 커버하는 것으로 의도된다. 예를 들어, 요소들의 목록을 포함하는 프로세스, 방법, 아티클 또는 장치가 반드시 그들 요소에만 한정될 필요는 없고, 명백히 나열되지 않거나 이러한 프로세스, 방법, 아티클 또는 장치에 내재하는 다른 요소들을 포함할 수 있다. 또한, 반대되는 진술을 명확히 하지 않는 한, "또는"은 포함적인 또는 을 언급하는 것이지 배타적인 또는 을 언급하는 것은 아니다. 예를 들어, 조건 A 또는 B는 다음의 임의의 하나에 의해 만족된다: A가 진실(또는 존재)이고 B는 거짓(또는 부존재), A가 거짓(또는 부존재)이고 B가 진실(또는 존재) 및 A와 B 모두 진실(또는 존재)이다.
추가로, "한" 또는 "하나"의 사용은 본원의 실시예의 요소 및 구성을 기술하기 위해 사용된다. 이는 단지 편리함 때문에 행해지고, 본 발명의 일반적인 의미를 주기 위함이다. 이러한 표현은 하나 또는 적어도 하나를 포함하는 것으로 읽어야 하며, 다른 의미인 것이 명백하지 않다면, 단수도 복수를 포함한다.
본 발명을 읽으면, 기술 분야에서의 당업자는 본원에서 개시된 원리를 통하여 맵 데이터를 생성하기 위한 시스템 및 프로세스에 대한 추가적이고 대안적인 구조적 및 기능적 디자인을 여전히 이해할 것이다. 따라서, 특정 실시예와 어플리케이션이 설명되고 기술되면서, 개시된 실시예는 본원에 개시된 정밀한 구조 및 구성에 한정되지 않는다는 것을 이해해야 한다. 기술분야에서의 당업자에게 명백해질 다양한 변경예, 변화예 및 변형예는, 첨부된 청구항에서 정의된 사상 및 범위로부터 벗어나지 않으면서, 본원에 개시된 방법 및 장치의 배열, 동작 및 세부사항에서 만들어질 수 있다.

Claims (9)

  1. 컴퓨터로 구현되는, 통신 네트워크를 통하여 클라이언트 장치로 맵 데이터를 제공하기 위한 맵 서버에서의 방법에 있어서, 상기 방법은:
    클라이언트 장치에서 제1 맵 이미지를 디스플레이하기 위해, 2 이상의 타일들의 세트로 조직화된 벡터 형식으로 제1 맵 데이터를 생성하는 단계, 상기 제1 맵 이미지는 일정 줌(zoom) 레벨에서의 일정 위치로 패닝(panning)된 카메라의 시점(perspective)에 대응하며, 상기 맵 데이터는 (i) 상기 세트에서 동일한 타일과 연관된 복수의 개별적으로 렌더링가능한 맵 요소(renderable map element)들, 각 맵 요소는 각각의 물리적 엔티티를 기술하며, 및 (ii) 상기 복수의 맵 요소들 중 제1 요소를 오버랩핑하는 상기 복수의 맵 요소들 중 제2 요소와 관련하여 상기 복수의 맵 요소들 중 제1 요소가 렌더링되는 초기 순서를 특정하는 뎁스(depth) 표시를 포함하며;
    통신 네트워크를 통해 상기 제1 맵 데이터를 상기 클라이언트 디바이스에 제공하는 단계;
    상기 맵 서버에서, 상기 제1 맵 데이터와 제2 맵 데이터 사이의 차이를 특정하는 벡터 형식으로 변경 데이터를 생성하는 단계, 상기 제2 맵 데이터는 동일한 줌 레벨에서 동일한 위치로 패닝된 카메라의 동일한 시점에 대응하는 제2 맵 이미지를 디스플레이하기 위한 것이며, 상기 복수의 맵 요소들 중 상기 제1 요소가 상기 복수의 맵 요소들 중 상기 제2 요소와 관련하여 렌더링되는 새로운 순서를 특정하는 새로운 뎁스 표시를 제공하는 것을 포함하며; 및
    상기 제1 맵 데이터와 상기 변경 데이터를 사용하여 상기 제2 맵 이미지를 생성하기 위해 상기 통신 네트워크를 통해 상기 변경 데이터를 상기 클라이언트 장치에 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서, 상기 변경 데이터를 생성하는 단계는:
    상기 제1 맵 이미지의 일부로서 렌더링되지 않고, 상기 제2 맵 이미지의 일부로서 렌더링되는 맵 요소를 식별하는 단계;
    상기 변경 데이터의 일부로서, 상기 식별된 맵 요소에 대응하는 벡터 디스크립터를 제공하는 단계; 및
    상기 변경 데이터에서, 상기 식별된 맵 요소가 상기 제공된 벡터를 사용하여 렌더링되는 것을 표시하기 위하여, 상기 식별된 맵 요소에 대응하는 추가 표시를 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 청구항 1에 있어서, 상기 변경 데이터를 생성하는 단계는:
    상기 제1 맵 이미지의 일부로서 렌더링되고, 상기 제2 맵 이미지의 일부로서 렌더링되지 않는 맵 요소를 식별하는 단계, 상기 식별된 맵 요소는 상기 제1 맵 이미지를 렌더링하기 위해 상기 클라이언트 장치에 전송된 복수의 벡터 디스크립터들 중 하나에 대응하며;
    상기 변경 데이터에서, 상기 식별된 맵 요소에 대응하는 상기 복수의 벡터 디스크립터들 중 하나의 식별자를 제공하는 단계; 및
    상기 변경 데이터에서, 상기 식별된 맵 요소가 렌더링되지 않을 것을 표시하기 위하여, 삭제 표시를 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 청구항 1에 있어서, 상기 변경 데이터를 생성하는 단계는:
    복수의 맵 요소들을 포함하는 맵 피처(feature)를 식별하는 단계, 상기 맵 피처는 상기 복수의 맵 요소들의 제1 서브세트로 제1 맵 이미지의 일부로서 렌더링되고, 복수의 맵 요소들의 제2 서브세트로 제2 맵 이미지의 일부로서 렌더링되며, 상기 복수의 맵 요소들의 제1 서브세트는 제1 맵 이미지를 렌더링하기 위하여 클라이언트 장치로 전송되는 복수의 제1 벡터 디스크립터들 중 하나에 대응하는 적어도 하나의 맵 요소를 포함하며;
    상기 변경 데이터의 일부로서, 상기 맵 피처의 식별자를 제공하는 단계;
    상기 변경 데이터의 일부로서, 상기 맵 피처의 상기 복수의 맵 요소들의 제2 서브세트에서 각 맵 요소에 대해 각각의 벡터 디스크립터들을 제공하는 단계;
    상기 변경 데이터에서, 상기 식별된 맵 피처가 상기 복수의 맵 요소들의 제1 서브세트로 렌더링되지 않을 것을 표시하기 위해 삭제 표시를 제공하는 단계; 및
    상기 변경 데이터에서, 상기 식별된 맵 피처가 상기 복수의 맵 요소들의 제2 서브세트로 렌더링되는 것을 표시하기 위해 추가 표시를 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 청구항 1에 있어서, 각 맵 요소는 도로와 빌딩 중 하나인 것을 특징으로 하는 방법.
  6. 청구항 1에 있어서, 상기 제1 맵 이미지는 제1 맵 타입에 대응하고, 상기 선택된 지리적 영역에 대한 상기 제2 맵 이미지가 클라이언트 장치에서 렌더링되는 표시를 수신하는 단계는:
    상기 클라이언트 장치로부터, 상기 제2 맵 이미지가 상기 클라이언트 장치에서 렌더링되는 것에 따라 제2 맵 타입의 표시를 수신하는 단계를 포함하며, 상기 제1 맵 타입은 기본 맵, 지형 맵, 교통 맵 및 트래픽 맵 중 하나이고, 그리고 제2 맵 타입은 기본 맵, 지형 맵, 교통 맵 및 트래픽 맵 중 다른 하나인 것을 특징으로 하는 방법.
  7. 청구항 1에 있어서,
    상기 클라이언트 장치로부터 상기 제1 맵 데이터에 대한 제1 요청을 수신하는 단계; 및
    상기 클라이언트 장치로부터 상기 제2 맵 데이터에 대한 제2 요청을 수신하는 단계를 포함하며,
    상기 제1 맵 데이터와 상기 변경 데이터는 상기 제1 요청 및 상기 제2 요청 각각에 응답하여 제공되는 것을 특징으로 하는 방법.
  8. 청구항 1에 있어서,
    상기 제1 맵 이미지와 상기 제2 맵 이미지 각각은 동일한 크기의 복수의 타일들로 이루어지며,
    상기 변경 데이터를 생성하는 단계는 상기 복수의 타일들 중 2 이상에 대해, 상기 타일과 연관된 상기 복수의 벡터 디스크립터들의 서브세트에 대한 변경의 각각의 목록을 생성하는 단계를 포함하며, 상기 변경의 각각의 목록은 별개의 전자 메세지로 통신 네트워크를 통하여 클라이언트 장치로 전송되는 것을 특징으로 하는 방법.
  9. 통신 네트워크에서 동작하는 컴퓨팅 장치로서, 상기 컴퓨팅 장치는:
    하나 이상의 프로세서들;
    상기 하나 이상의 프로세서들에 연결된 디스플레이 장치; 및
    상기 하나 이상의 프로세서들에 연결된 유형적 컴퓨터 판독가능 메모리를 포함하며, 상기 메모리는 청구항 1 내지 8 중 어느 한 항에 기재된 방법을 구현하도록 구성된 명령어들을 저장하는 것을 특징으로 하는 컴퓨팅 장치.
KR1020197028330A 2011-09-26 2012-09-25 비-래스터 맵 데이터의 변경을 사용하는 렌더링 맵 이미지 KR102101915B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/244,741 2011-09-26
US13/244,741 US8928691B2 (en) 2011-09-26 2011-09-26 Rendering map images using modifications of non-raster map data
PCT/US2012/057104 WO2013049054A1 (en) 2011-09-26 2012-09-25 Rendering map images using modifications of non-raster map data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147010883A Division KR102028623B1 (ko) 2011-09-26 2012-09-25 비-래스터 맵 데이터의 변경을 사용하는 렌더링 맵 이미지

Publications (2)

Publication Number Publication Date
KR20190114013A true KR20190114013A (ko) 2019-10-08
KR102101915B1 KR102101915B1 (ko) 2020-04-17

Family

ID=47910808

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147010883A KR102028623B1 (ko) 2011-09-26 2012-09-25 비-래스터 맵 데이터의 변경을 사용하는 렌더링 맵 이미지
KR1020197028330A KR102101915B1 (ko) 2011-09-26 2012-09-25 비-래스터 맵 데이터의 변경을 사용하는 렌더링 맵 이미지

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147010883A KR102028623B1 (ko) 2011-09-26 2012-09-25 비-래스터 맵 데이터의 변경을 사용하는 렌더링 맵 이미지

Country Status (9)

Country Link
US (2) US8928691B2 (ko)
EP (2) EP2761499A4 (ko)
JP (2) JP6771858B2 (ko)
KR (2) KR102028623B1 (ko)
CN (2) CN103946836B (ko)
AU (2) AU2012316227B2 (ko)
CA (1) CA2849997C (ko)
DE (1) DE202012013441U1 (ko)
WO (1) WO2013049054A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681176B1 (en) 2011-09-20 2014-03-25 Google Inc. Rendering a map using style identifiers
US8928691B2 (en) 2011-09-26 2015-01-06 Google Inc. Rendering map images using modifications of non-raster map data
US8635021B2 (en) * 2012-05-04 2014-01-21 Google Inc. Indicators for off-screen content
US9052197B2 (en) 2012-06-05 2015-06-09 Apple Inc. Providing navigation instructions while device is in locked mode
US8983778B2 (en) 2012-06-05 2015-03-17 Apple Inc. Generation of intersection information by a mapping service
US9418672B2 (en) 2012-06-05 2016-08-16 Apple Inc. Navigation application with adaptive instruction text
US9482296B2 (en) 2012-06-05 2016-11-01 Apple Inc. Rendering road signs during navigation
US9886794B2 (en) 2012-06-05 2018-02-06 Apple Inc. Problem reporting in maps
US9230556B2 (en) 2012-06-05 2016-01-05 Apple Inc. Voice instructions during navigation
US9418466B2 (en) 2012-06-06 2016-08-16 Apple Inc. Geospatial representation of data-less map areas
US20130328861A1 (en) 2012-06-06 2013-12-12 Apple Inc. Generation of Road Data
US9395193B2 (en) 2012-06-10 2016-07-19 Apple Inc. Scalable and efficient cutting of map tiles
US9863780B2 (en) 2012-06-10 2018-01-09 Apple Inc. Encoded representation of traffic data
US9235906B2 (en) 2012-06-10 2016-01-12 Apple Inc. Scalable processing for associating geometries with map tiles
US11935190B2 (en) 2012-06-10 2024-03-19 Apple Inc. Representing traffic along a route
WO2014076525A1 (en) 2012-11-16 2014-05-22 Data2Text Limited Method and apparatus for expressing time in an output text
WO2014076524A1 (en) * 2012-11-16 2014-05-22 Data2Text Limited Method and apparatus for spatial descriptions in an output text
US9360339B2 (en) 2013-01-14 2016-06-07 Sap Se Rendering maps with canvas elements
US8698824B1 (en) * 2013-04-12 2014-04-15 Google Inc. Computing systems, devices and methods for rendering maps remote from a host application
WO2014186459A2 (en) * 2013-05-15 2014-11-20 Google Inc. Efficient composition and rendering of graphical elements
US9396508B2 (en) * 2013-05-15 2016-07-19 Google Inc. Use of map data difference tiles to iteratively provide map data to a client device
US9122943B1 (en) * 2013-06-27 2015-09-01 Amazon Technologies, Inc. Identifying rendering differences between label rendering engines
USD781318S1 (en) 2014-04-22 2017-03-14 Google Inc. Display screen with graphical user interface or portion thereof
US9934222B2 (en) 2014-04-22 2018-04-03 Google Llc Providing a thumbnail image that follows a main image
USD781317S1 (en) 2014-04-22 2017-03-14 Google Inc. Display screen with graphical user interface or portion thereof
US9972121B2 (en) 2014-04-22 2018-05-15 Google Llc Selecting time-distributed panoramic images for display
USD780777S1 (en) 2014-04-22 2017-03-07 Google Inc. Display screen with graphical user interface or portion thereof
US10599570B1 (en) 2014-06-20 2020-03-24 Google Llc Expiration of offline map data
CN104240273B (zh) * 2014-09-18 2017-12-12 百度在线网络技术(北京)有限公司 栅格图片的处理方法及装置
US10007677B1 (en) 2014-12-04 2018-06-26 Google Llc System and method for geospatial indexing
US9958278B2 (en) * 2015-01-14 2018-05-01 Telenav, Inc. Navigation system with scalable display mechanism and method of operation thereof
CN106033451B (zh) * 2015-03-17 2019-07-30 北京神州泰岳软件股份有限公司 一种小区话务量的密度图即时渲染方法及装置
US9710486B2 (en) * 2015-04-17 2017-07-18 Nokia Technologies Oy Determination of a filtered map interaction descriptor
US10514271B2 (en) * 2015-06-06 2019-12-24 Apple Inc. Mapping application with transit mode
US9702724B2 (en) 2015-06-06 2017-07-11 Apple Inc. Mapping application with transit mode
US10401180B2 (en) 2015-06-07 2019-09-03 Apple Inc. Frequency based transit trip characterizations
KR102395023B1 (ko) * 2015-06-30 2022-05-06 현대오토에버 주식회사 그래픽 기반의 웹 벡터 지도 표시 시스템 및 방법
FR3038995B1 (fr) 2015-07-15 2018-05-11 F4 Dispositif interactif a affichage personnalisable
US10313765B2 (en) * 2015-09-04 2019-06-04 At&T Intellectual Property I, L.P. Selective communication of a vector graphics format version of a video content item
FR3042620B1 (fr) * 2015-10-16 2017-12-08 F4 Dispositif web interactif a affichage personnalisable
US10255293B2 (en) * 2015-10-16 2019-04-09 Oracle Internatinoal Corporation Generating virtual map tiles according to an ad hoc specification
US10467347B1 (en) 2016-10-31 2019-11-05 Arria Data2Text Limited Method and apparatus for natural language document orchestrator
US10535121B2 (en) * 2016-10-31 2020-01-14 Adobe Inc. Creation and rasterization of shapes using geometry, style settings, or location
CN108225344A (zh) * 2016-12-22 2018-06-29 沈阳美行科技有限公司 一种地图系统、生成和使用方法及其应用
CN108225343A (zh) * 2016-12-22 2018-06-29 沈阳美行科技有限公司 一种地图信息系统、生成和使用方法及其应用
CN108225342A (zh) * 2016-12-22 2018-06-29 沈阳美行科技有限公司 一种地图数据系统、生成和使用方法及其应用
CN107562861A (zh) * 2017-08-29 2018-01-09 武汉智丽丰信息科技有限公司 一种基于WebGL的WebGIS三维模型系统
CN110362298B (zh) * 2018-04-09 2023-11-17 北京蓝亚盒子科技有限公司 一种基于浏览器的目标对象绘制方法、装置和浏览器
CN109345946B (zh) * 2018-07-27 2020-11-03 创新先进技术有限公司 地图数据显示方法、装置、电子设备及计算机存储介质
KR102082203B1 (ko) * 2018-12-14 2020-02-28 주식회사 아이비스 지도표시 장치 및 지도표시 방법
CN111782307A (zh) * 2019-04-03 2020-10-16 阿里巴巴集团控股有限公司 地图的渲染方法、样式切换方法、相关装置和导航客户端
CN110032614B (zh) * 2019-04-18 2020-02-07 成都四方伟业软件股份有限公司 基于wasm的地图矢量渲染方法和装置
WO2020247034A1 (en) * 2019-06-03 2020-12-10 Microsoft Technology Licensing, Llc Coarse relocalization using signal fingerprints and session-specific identifiers
US11568586B2 (en) 2019-06-10 2023-01-31 Mappedin Inc. System and method for tracing polygons in design files
CA3089432A1 (en) * 2019-09-03 2021-03-03 Mappedin Inc. System and method for semantic segmentation of a source geometry
CN113538627B (zh) * 2021-08-04 2024-03-29 北京赛目科技股份有限公司 一种地图描述文件的生成方法及装置
US20230168106A1 (en) * 2021-11-29 2023-06-01 Here Global B.V. Method, apparatus, and system for providing mock map data for map design validation and documentation
CN116976280B (zh) * 2023-09-22 2023-12-01 北京国科恒通科技股份有限公司 基于矢量图标的电网gis图元渲染方法及装置
CN117215592B (zh) * 2023-11-07 2024-02-20 芯瞳半导体技术(山东)有限公司 渲染程序生成方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966135A (en) * 1996-10-30 1999-10-12 Autodesk, Inc. Vector-based geographic data
JP2004157013A (ja) * 2002-11-06 2004-06-03 Nissan Motor Co Ltd 地図画像表示装置及び地図画像表示プログラム
US20080109159A1 (en) * 2006-11-02 2008-05-08 Yahoo! Inc. Method of client side map rendering with tiled vector data

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2609744B2 (ja) 1989-07-14 1997-05-14 株式会社日立製作所 画像表示方法及び画像表示装置
US5519809A (en) 1992-10-27 1996-05-21 Technology International Incorporated System and method for displaying geographical information
JP3622094B2 (ja) 1995-10-05 2005-02-23 株式会社日立製作所 地図更新支援装置および地図情報の編集方法
US6577714B1 (en) 1996-03-11 2003-06-10 At&T Corp. Map-based directory system
US6199015B1 (en) 1996-10-10 2001-03-06 Ames Maps, L.L.C. Map-based navigation system with overlays
JPH11232433A (ja) * 1998-02-17 1999-08-27 Kokusai Kogyo Co Ltd 地図表示制御システム
US7308117B2 (en) 2000-02-04 2007-12-11 National Science And Technology Development Agency System and method for manipulating information and map for geographical resource management
US7148898B1 (en) 2000-03-29 2006-12-12 Sourceprose Corporation System and method for synchronizing raster and vector map images
AU2002216670A1 (en) 2000-11-17 2002-05-27 Links Point, Inc. Systems and methods for representing and displaying graphics
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
EP1502080B1 (en) 2002-04-30 2013-05-22 Telmap Ltd. Navigation system using corridor maps
KR20040001185A (ko) * 2002-06-27 2004-01-07 삼성전자주식회사 부분 상세 지도를 제공하는 지도 표시 장치 및 그 방법
GB0303888D0 (en) 2003-02-19 2003-03-26 Sec Dep Acting Through Ordnanc Image streaming
US7844417B2 (en) 2003-02-21 2010-11-30 First American Real Estate Solutions, Llc GIS-based rapid population assessment tool
US7865301B2 (en) 2004-03-23 2011-01-04 Google Inc. Secondary map in digital mapping system
CA2560386C (en) 2004-03-23 2013-09-24 Google Inc. A digital mapping system
US7792331B2 (en) 2004-06-29 2010-09-07 Acd Systems, Ltd. Composition of raster and vector graphics in geographic information systems
US20060041375A1 (en) 2004-08-19 2006-02-23 Geographic Data Technology, Inc. Automated georeferencing of digitized map images
US20060074660A1 (en) 2004-09-29 2006-04-06 France Telecom Method and apparatus for enhancing speech recognition accuracy by using geographic data to filter a set of words
US7403851B2 (en) 2004-09-30 2008-07-22 Navteq North America, Llc Method of operating a navigation system to report effects of updated portions of a geographic database
EP1681656A1 (en) * 2005-01-18 2006-07-19 Oculus Info Inc. System and method for processing map data
US20070210937A1 (en) 2005-04-21 2007-09-13 Microsoft Corporation Dynamic rendering of map information
US7777648B2 (en) 2005-04-21 2010-08-17 Microsoft Corporation Mode information displayed in a mapping application
US20060271281A1 (en) 2005-05-20 2006-11-30 Myron Ahn Geographic information knowledge systems
US20060293847A1 (en) 2005-06-22 2006-12-28 Marriott Graham H Interactive scaling feature having scalability in three dimensional space
US8296388B2 (en) 2005-07-18 2012-10-23 Microsoft Corporation Cross-application encoding of geographical location information
US7706971B2 (en) 2005-07-21 2010-04-27 The Boeing Company System and method for data mapping and map discrepancy reporting
JP5337338B2 (ja) * 2005-07-29 2013-11-06 ヤフー株式会社 地図重ね合わせシステムおよび方法
US7933897B2 (en) 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
US7724985B2 (en) 2005-10-27 2010-05-25 Hewlett-Packard Development Company, L.P. Device storing vector image with embedded image style identifier, and methods and utilities for formatting a device image with image style attributes
WO2007056449A2 (en) 2005-11-07 2007-05-18 Google Inc. Mapping in mobile devices
US20070208498A1 (en) 2006-03-03 2007-09-06 Inrix, Inc. Displaying road traffic condition information and user controls
US8560946B2 (en) 2006-03-22 2013-10-15 Vistracks, Inc. Timeline visualizations linked with other visualizations of data in a thin client
US20070226314A1 (en) 2006-03-22 2007-09-27 Sss Research Inc. Server-based systems and methods for enabling interactive, collabortive thin- and no-client image-based applications
WO2007146967A2 (en) 2006-06-12 2007-12-21 Google Inc. Markup language for interactive geographic information system
US8010407B1 (en) 2006-11-14 2011-08-30 Google Inc. Business finder for locating local businesses to contact
US8749585B2 (en) * 2007-03-29 2014-06-10 Microsoft Corporation Adding custom content to mapping applications
US8892455B2 (en) 2007-09-28 2014-11-18 Walk Score Management, LLC Systems, techniques, and methods for providing location assessments
US20090113296A1 (en) 2007-10-26 2009-04-30 Microsoft Corporation Displaying a map and associated symbolic context information
US20090254841A1 (en) 2007-11-12 2009-10-08 Move Sales, Inc. Apparatus, method, and computer program product for characterizing user-defined areas
CN101246597A (zh) * 2007-11-30 2008-08-20 北京师范大学 大规模矢量地图数据渐进传输和动态重建的方法
AU2008334980B2 (en) 2007-12-13 2013-02-14 Intergraph Software Technologies Company System and method for editing cartographic data
EP2078926B1 (en) 2008-01-14 2013-10-16 BlackBerry Limited System and method for dynamically downloading and displaying map data
US8504945B2 (en) 2008-02-01 2013-08-06 Gabriel Jakobson Method and system for associating content with map zoom function
US20100073391A1 (en) 2008-09-25 2010-03-25 Yahoo! Inc. Informational content presentation via backdrop images
US8587617B2 (en) 2009-02-04 2013-11-19 Raytheon Company Apparatus and method for map zooming
CN101923542A (zh) * 2009-06-12 2010-12-22 如临其境创意(上海)有限公司 一种用于网络多维空间数据表达的MDDRQ-Tree索引结构
US20100321399A1 (en) * 2009-06-18 2010-12-23 Patrik Ellren Maps from Sparse Geospatial Data Tiles
WO2011006172A1 (en) 2009-07-10 2011-01-13 Georeplica, Inc System of identifying and advertising organizations or other entities by overlaying image files on mapping applications
EP2290322B1 (en) 2009-08-25 2017-03-01 BlackBerry Limited Method and Device for Generating and Communicating Geographic Route Information between Wireless Communication Devices
US8510045B2 (en) 2009-12-22 2013-08-13 Steven L. Rueben Digital maps displaying search-resulting points-of-interest in user delimited regions
US9068844B2 (en) 2010-01-08 2015-06-30 Dp Technologies, Inc. Method and apparatus for an integrated personal navigation system
US8699991B2 (en) 2010-01-20 2014-04-15 Nokia Corporation Method and apparatus for customizing map presentations based on mode of transport
US20110191014A1 (en) 2010-02-04 2011-08-04 Microsoft Corporation Mapping interface with higher zoom level inset map
US8874129B2 (en) 2010-06-10 2014-10-28 Qualcomm Incorporated Pre-fetching information based on gesture and/or location
US8681176B1 (en) 2011-09-20 2014-03-25 Google Inc. Rendering a map using style identifiers
US8928691B2 (en) 2011-09-26 2015-01-06 Google Inc. Rendering map images using modifications of non-raster map data
US9396508B2 (en) 2013-05-15 2016-07-19 Google Inc. Use of map data difference tiles to iteratively provide map data to a client device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966135A (en) * 1996-10-30 1999-10-12 Autodesk, Inc. Vector-based geographic data
JP2004157013A (ja) * 2002-11-06 2004-06-03 Nissan Motor Co Ltd 地図画像表示装置及び地図画像表示プログラム
US20080109159A1 (en) * 2006-11-02 2008-05-08 Yahoo! Inc. Method of client side map rendering with tiled vector data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AI Bo 외, "Progressive transmission of vector map on the web", The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol.XXXVII. Part B2. Beijing 2008, 2008* *

Also Published As

Publication number Publication date
AU2017251816B2 (en) 2017-11-30
CN103946836B (zh) 2019-01-18
EP3660704B1 (en) 2021-08-18
EP2761499A4 (en) 2015-04-15
CN110081891A (zh) 2019-08-02
CN103946836A (zh) 2014-07-23
US20130076784A1 (en) 2013-03-28
CA2849997A1 (en) 2013-04-04
JP2015501439A (ja) 2015-01-15
JP6789200B2 (ja) 2020-11-25
EP2761499A1 (en) 2014-08-06
JP2018066995A (ja) 2018-04-26
KR20140075758A (ko) 2014-06-19
KR102028623B1 (ko) 2019-10-04
CN110081891B (zh) 2023-02-17
DE202012013441U1 (de) 2017-01-17
US9830064B2 (en) 2017-11-28
AU2012316227B2 (en) 2017-07-27
JP6771858B2 (ja) 2020-10-21
US8928691B2 (en) 2015-01-06
US20150128090A1 (en) 2015-05-07
WO2013049054A1 (en) 2013-04-04
KR102101915B1 (ko) 2020-04-17
CA2849997C (en) 2020-02-18
AU2017251816A1 (en) 2017-11-16
AU2012316227A1 (en) 2014-04-10
EP3660704A1 (en) 2020-06-03

Similar Documents

Publication Publication Date Title
KR102028623B1 (ko) 비-래스터 맵 데이터의 변경을 사용하는 렌더링 맵 이미지
AU2019204746B2 (en) Managing map elements using aggregate feature identifiers
US9396508B2 (en) Use of map data difference tiles to iteratively provide map data to a client device
US9424673B2 (en) Efficient composition and rendering of graphical elements
US10533871B2 (en) Rendering a map using style identifiers

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right