Skip to main content

A Giant called Google...



    Wondering what you will be reading in this post today and what is "Google Giant"! Well, I was working on a simple project a couple of months back and that is the time when I was amazed and by the size of data that Google Maps servers might be having! As most of the readers (developers and enthusiast included) would know or might have noticed, Google maps are rendered by stitching small images together. You must have observed this on quite a number of occasions, when you see grey tiles when you have a slow internet connection in particular. It takes time for the images or tiles as we call them to be displayed.

    Let us try and estimate what could be the size of the Google Maps data! Before proceeding, let's make a few assumptions and considerations.
1. Let's consider the Google Street View maps only.
2. The zoom level that is considered for the calculations is 21 - the max zoom level allowed on Google Maps API.
3. All the numbers are just an estimate and not actual values.

    Google maps zoom level goes from 0 to 21, displaying 1 image at zoom level 0 and 4,398,046,511,104 (about 4 trillion i.e. 4x10^12) image or tiles at zoom level 21. 4,398,046,511,104 tiles at zoom level 21 represent the entire world surface which is about 510.072 million sq km (196.940 million sq mi). Lets say, about 70.9% of the world is water and 29.1% is land, which would mean about 3,118,214,976,373 tiles would all be blue in color. About 30% of the land area is under forest cover, which means about 383,949,460,419 tiles would be green in color. The remaining 895,882,074,312 will have multiple colors depending upon what part of the land is part of these tiles. If the numbers have gotten too large, let's tabulate them.

Sr. No. No. of tiles Color of tiles
1 3,118,214,976,373 Blue
2 383,949,460,419 Green
3 895,882,074,312 Multicolored

    Now that we have a clear picture of the number of tiles and the colors they would have, let's try and estimate the size of these tiles. Each tile or image is 256x256 pixels and each blue and green color tile/ image would then be around 4KB each. This means that the total size in KB of all the green and blue colored tiles/ images would be about 14,008,657,747,168KB; that's about 13,046.5TB. This is huge and still there are about 0.8 trillion tiles left whose size needs to be calculated.

    Let us go ahead and do that as well. Since these remaining tiles are multicolored, the size of each tile ranges in between 13 to 17KB. For our calculations, let's assume that the size of each of the multicolored tile is about 15KB. That would mean that the total size of these tiles is about 13,438,231,114,680KB; that's about 12,515TB.

    That means; if my math is not wrong; the size of all the Google Map tiles for Google Map Street View at zoom level 21 alone is about 25,500TB.
 
    This 25K TB space is required to save tiles only for one type of Google Map at the highest zoom. There are tiles at other zoom levels and also tiles of other map types - Satellite Map and the Terrain Map. The labels that appear in the Hybrid map type is also a separate layer on top of the Satellite map. That means about 25K TB more for the satellite map at zoom level 21 and about the same for hybrid map at the same zoom level. Plus about a 15K TB for the labels layer in hybrid map. If the approximation is to believed, Google has around 100 thousand TB space for the maximum zoom level of all the map types.

    Yes, it seems comical to attempt such a calculation where every step of the way requires an approximation. That's why in the end I end up with a such a wide chasm of error. And, of course, this rough analysis does not cover area distortion introduced by mapping the globe's points onto a two dimensional surface. But, there you have it - the story of "Google - A Giant".

Comments

  1. Replies
    1. I loved them too...I had those in mind, but when I actually put them in ink today, I too came to appreciate them all the more...:)

      Delete
    2. I can die ...happy to know that eternity exist! thank's Google

      Delete
    3. Excelent investment. Do you have considerer include at your job BI since an aplication GIS. Today exist the option BI include GIS but not GIS include BI.

      I wait that very soon you reach your Master

      Member GIS Linkedin

      Delete
  2. Exept... Google probably reuses the same blue and green tiles for all water and forests. So, this means the 13,046.5TB calculation you made is actually just 8KB. The total number of storage then drops to about half. =)

    ReplyDelete
    Replies
    1. What you are saying is quite possible Alex. Bu I still think there would be several copies of the same blue or green image that would be rendered. But yes. The size would definitely be diminished.

      Delete

Post a Comment

Please leave your comments here...

Recommended for You

Playing with the markers and info window bubbles...

    In the last few posts, we have seen some marker examples and some information window examples. Now, lets do something interesting combining these two things. Just writing that "This is an info window" in the information bubble is not very interesting! And I know this...Have gone through the same phase!     So, today we will do something interesting! We will display the latitude- longitude co-ordinates of the point that the user clicks on the map! Doing this is not at all complex! Copy paste the following code and you will see for yourself a map coming to life!     The output of the above code looks as seen in the result section above! If you have any queries regarding the above code please comment on the blog post or feel free to contact me at my mail ID .

Jquery Mobile Form - Radio buttons

    Radio buttons - popularly used in forms for single option selection, pose a problem in the mobile web world! The radio buttons being so small as they are, reduce the touch area and it becomes really difficult for selection. Jquery Mobile styles these radio buttons in such a way that they become touch friendly and gel with their overall framework design. Jquery Mobile styles the label for the radio buttons so that they are larger and clickable. A custom set of icons to represent the radio button is added to provide additional visual feedback.     The radio buttons can be used singularly or in a vertical group or can be even grouped horizontally. These radio buttons can be used along with data-mini="true" too, which renders the radio buttons in a smaller size. We will take a look at all this in the example that follows.     In the first implementation you will see, 3 singular radio buttons which are not attached to each other like in the secon...

CSS Text and Font

    In this post today, we will take a look at some of the most interesting CSS text and font properties listed below. text-transform white-space word-break word-spacing word-wrap font-variant Text-transform property:     Let's begin with the text-transform property. The filler text used in all the examples below has been taken from Andy Matthew's filler text generator which is a humorous replacement to the traditional boring lorem ipsum .     The text-transform property will turn your text to uppercase, lowercase and also will capitalize the first character of every word. So now you don't need any javascript to do your bidding. This transformation will be done irrespective of the special characters preceding and following the text characters. The following example will make things much more clear and editable of course =) White-space property:     The next property to explore is the white-space  proper...

Better Late, Than Never

Spatial Unlimited changes to The UI Dev After being hosted on blogger 😣 for the last 6 years 📆, this page has finally been moved to Github.io This means a few things for you, dear reader! You will be redirected to the new page shortly! ⏩ ⏩ ⏩ Once crapy HTML is now better looking Markdown ! 😍 😍 The entire blog is a Github repo ! 😍 😍 Spatial Unlimited is now The UI Dev 😍 😍

Form info window

         Today we will look at a Google Maps API v3 example to add a form in the information bubble! This is usually required when we wish to accept some data/information from the user! This data can be saved to a server in the form of an XML file or a database! The information can then be retrieved back at a later stage, when necessary!          In this example we will only look at form in the information bubble! The connectivity part with the server will be discussed in another post! So, today's code snippet is as seen below! <html> <head> <title> Google Maps API v3 - Adding marker and info window on Click and creating a form in the infowindow with the lat-lng information in it. </title> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var map;    //When using ev...