Vector Tile Rendering for Interactive Mapping Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Interactive mapping systems face challenges in rendering vector graphics efficiently, particularly when dealing with thousands of vertices, as it requires significant processing power, leading to slow and unresponsive user interfaces, and server limitations prevent full vertex storage and rendering.
Innovation Solution
The system renders vector graphics as multiple tiles on the client device, using techniques like level of detail computation, median simplification, and geodesic vector graphics, allowing only visible tiles to be rendered and processed, reducing processor usage and bandwidth requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If vector graphics with thousands of vertices are rendered on the server, then rendering completeness is improved, but server processing power requirements increase and bandwidth usage increases
Solution Approach 1:
The vector graphic is divided into multiple tiles, each containing a subset of vertices. Only the tiles corresponding to the visible viewport are rendered and transmitted to the client, while other tiles remain on the server. This segmentation reduces the amount of data transmitted over the network while ensuring complete rendering of visible elements.
Solution Approach 2:
The patent extracts only the necessary portion of the vector graphic (visible tiles) from the complete set and transmits them to the client device. The remaining tiles stay on the server, eliminating the need to transmit unnecessary data and reducing bandwidth consumption.
2Manufacturing precision
If all vertices of the vector graphic are processed, then rendering accuracy is improved, but client processor usage increases leading to slow user interface
Solution Approach 1:
The vertex processing is segmented by tile boundaries. The client device only processes vertices contained within tiles that correspond to the visible viewport, while vertices in other tiles remain unprocessed on the server. This significantly reduces client processor usage while maintaining rendering accuracy for visible elements.
Solution Approach 2:
Instead of processing all vertices, the system performs partial processing only on the subset of vertices that are currently visible in the viewport. This partial action is sufficient to achieve the rendering goal without the excessive computational burden of processing the entire vector graphic.
3Loss of information
If the server stores and manages all vector graphic data, then data completeness is improved, but server storage requirements and processing overhead increase
Solution Approach 1:
The vector graphic data is segmented into multiple tiles and distributed between server and client storage. The server stores the complete set of tiles, while the client stores only the tiles currently needed for rendering. This reduces server processing overhead by allowing selective retrieval and transmission of only necessary tiles.
Solution Approach 2:
Different portions of the vector graphic data are stored in different locations based on their current need. Tiles that are currently visible are stored locally on the client device for immediate rendering, while other tiles remain on the server. This local quality approach optimizes both server and client resource utilization.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for rendering vector graphics as multiple tiles in an interactive mapping system. In one aspect, a method includes receiving map data in an interactive mapping system. A set of one or more vertices is that defines a vector graphic is processed, where each vertex defines a map location corresponding to map coordinates. For one or more portions of a vector graphic that coincide with a user viewport, one or more respective vector tiles is generated, where the user viewport defines a first region in which map coordinates can be displayed. On a user command, one or more new vector tiles is rendered at the client device using vertices that coincide with the user viewport at a second region, where the respective new portions did not previously coincide with the user viewport at the first region.


