How Google maps the world
Credit: Bryan Christie
1. High-Resolution Imagery
As it passes overhead at an altitude of 450 kilometers, DigitalGlobe's QuickBird satellite photographs the planet's surface. The satellite can take "snapshots" roughly 16.5 kilometers square or record "strips," which measure 16.5 by 330 kilometers. The average resolution is roughly 60 square centimeters per pixel if the satellite is looking straight down, or less if it is looking at an angle. But because the satellite makes only 15 orbits per day, and because there is huge competition for its camera, most regions of the planet have not been photographed at high resolution. (Just try looking at Hazelton, WV, in Google Earth.) Lower-resolution data is provided by other satellites, like the Landsat-7, which has imaged the entire planet at a resolution of 15 meters. Information about an image's absolute position is captured with the help of GPS.
2. Ground Station and Postprocessing
The satellite stores the image, then sends it down to DigitalGlobe's ground station in either Norway or Alaska when it passes overhead. The data then travels to a data center in Colorado, where differences in photographic angle are corrected, and the images are mapped onto a 3-D digital elevation model. This process, called orthorectification, prevents features on the tops of hills and mountains from being smeared out or placed in the wrong locations. Finally, the image is resampled so that its pixels will be aligned with the latitude-longitude grid. (The digital elevation model is what lets Google Earth "tilt" the ground for realistic views of the Grand Canyon [video] and Mount Everest [video].)
3. Aerial Photography
Many areas of high interest, like Boston and San Francisco, are also photographed by aircraft; clearly visible in the resulting photos are car sunroofs, lampposts, and even people. As it does during satellite photography, GPS provides absolute-position information; aerial photographs may be further aligned using landmarks. Some towns, such as Bergen, Norway, have taken their own photographs and given them to Google so that vacationers and real-estate investors can get a better view.
4. Digital Pyramids
Google stores data from DigitalGlobe and other sources in a massive geographical database arranged by latitude and longitude. Multiple images of each part of the world are then generated, at varying resolutions, and these images are arranged into "pyramids" of data. Google's servers can thus send an image of a particular location, at a particular magnification, to a Google Maps or Google Earth user, with very little delay.
5. www.google.com/maps
Running inside a Web browser, the Google Maps client application contains more than 200 kilobytes of compact and obfuscated JavaScript that is downloaded when the browser first displays the map. The application determines which piece of which pyramid should be displayed next and requests it using a standard HTTP "get" command--the same command that's used to download Web pages and images from any Web server. The images are stored in the browser's cache and displayed when the user scrolls to the requested area, zooms in, or zooms out. The browser automatically throws away images from the cache when they are no longer needed.
Comments
Post a Comment