Why does Google map not use vector map rendering, but instead download raster images and then render them?

Source: Internet
Author: User

First, define some concepts and describe some facts:

What is raster data?
Raster Data is a data expression that splits two-dimensional planes into cells.

What is vector data?
Vector Data refers to the data expression of shapes and images in the basic entity element (primitive.

The Google map product line can be subdivided into the following three directions:
1. Web Map
2. Mobile Device Map
3. Map API

Data displayed on Google maps can be roughly divided into two types: baselayer and overlay)

About the basemap data:
1. The basemap data of the classic Web version of Google Maps is purely raster.
2. The basemap data of the Web-based WebGL version of Google map is a combination of the yargs.
3. mobile device version of Google map:
The current basemap data of the map on iOS is still based on the raster data.
Google Maps on Android support the combination of map data from the yagu starting from 5.0

Covering data:
1. In addition to the real-time traffic data, other cover data of google is always expressed in the form of vector data.

Map API:
1. Except for the static map generation API, the spatial data involved in other map API services are almost expressed in the form of vector data.
Bytes ------------------------------------------------------------------------------------
Then, I want to explain why google chose different data formats for different types of data?

1. Why does the initial basemap use Raster Data? More accurately, the Raster Data Based on the pyramid structure?
To be honest, tile is really a great thing. It directly kills those researchers in the GIS field. When the masters of the OGC Committee are still working on how the so-called WMS service can support more spatial semantics while introducing more complex standards for one version and one version, google Maps proves that tile is a very simple solution to provide basic geographic information services for the public. It has the following advantages:
1. Strong compatibility. For browsers, Google Maps can be displayed only by displaying images, supporting css, asynchronous transmission, DOM, and javascript.
2. the server load is also very low. Because the map is pre-rendered, user requests only cost I/O for the server, but have almost no CPU cost. Compared with WMS, real-time graph cutting is required, in terms of the real-time rendering mechanism, the load of this design is too low. Remember: There are memory databases that can reduce disk IO and browser cache to Reduce image requests.

2. Why does the covering layer Use Vector Data?
Almost all of the layers provided by google are dot and line layers. Although theoretically it supports the presentation of polygon vector data, for a long time, in fact, polygon vector data is rarely used (the building outline in the basemap is initially a part of the basemap raster data ).

Common vertex layers include key POI points and the pitting map generated by generic search.

// Update: 2012-06-19
Thanks to @ Jack Jiang for adding that an error is corrected. The Twist chart completes rendering on the server side, and the Raster Data + vector data is transmitted back to the client. The vector data is not used for rendering, instead, it is used to implement interaction between users when they click on the hemp point.
// End of update

The common line layers are driving routes and bus routes.

What are the characteristics of the above data?
1. Simple data
2. Fast update required

Those who have worked on the map rendering engine should know that basemap rendering is a very expensive operation and requires a long time to calculate. Therefore, generally, the data update frequency of the basemap is not very high. It is normal for months (not to say that it takes a few months to render the data ). As an Internet map product for the public, the POI information and route information may change every day. If the data is not updated in the basemap for several months, i'm afraid the user will throw your product with saliva. In addition, the format of POI data and route data is simple, So Google chose to transmit vector data and render it on the client, using VML or SVG

3. Why is a map on a mobile device using a yagu combination?
If you carefully analyze the offline map data packets of google Maps, you may find that there are still some small images, which are almost solid, however, it will include data on main roads and national borders.
Why is it not so thorough that all data is expressed in vector form directly? I think it is a compromise in engineering, because for images with almost solid colors, the use of raster forms is not much larger or even smaller than that of vector expressions (after compression ). Then, if your mobile phone is not so powerful that you cannot render all vector data quickly, at least you can see a semi-finished basemap.

So why do we need to normalize other basemap data?
I have already introduced several other places. Here is a summary:
1. reduce data traffic and more compact Vector Expression in more cases
2. more flexible. The software can use the Vector Data Client Rendering Method to Control the elements to be displayed on the graph with more flexibility.
3. supports faster data updates. when the data is expressed as a vector, the addition, deletion, and modification of the data are decoupled from the raster basemap. Therefore, there is no need to worry about re-rendering a large piece of data to modify the information of an important location, and data O & M will take a long breath.

Finally, Let's sum up, as google mentioned in the three shocking papers GFS, big table, and map reduce in the last year, there is no theoretical innovation in these articles, it's just engineering practice, whether it's Vector Theory, raster theory, the theory of alien or vector gate integration. It has been well developed by Google engineers for many years in academia, it was just a genius to integrate these models just right away, so that people were surprised that the original geographical information could be presented to the world in an elegant and concise manner, and profoundly influenced our lives. Salute to the great engineers!

Note:
Personal opinion. Welcome to the discussion.

References:
1. http://googlesystem.blogspot.com/2010/12/vector-based-google-maps-for-android.html

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.