Google introduced a new way this week for developers to use geospatial data through its Chrome Experiments initiative.
As a start, the Google Arts team created a globe that shows the world population and Google search volume by language.
For each data point, we generate a cube with five faces - the bottom face, which touches the globe, is removed to improve performance. We then stretch the cube relative to the data value and position it based on latitude and longitude. Finally, we merge all of the cubes into a single geometry to make it more efficient to draw.
He further describes how they animated the globes:
Thanks to WebGL, we're able to display thousands of moving points at high frame rates by using the user's graphics processing unit (GPU) for 3D computations. Each state of the globe has its own geometry and we morph between them with a vertex shader, saving precious CPU resources. Additionally, to make the globe look nice, we took advantage of the possibilities of GLSL and created two fragment shaders, one to simulate the atmosphere and another to simulate frontal illumination of the planet.
Developers are encouraged to make their own globes. The data format is represented in JSON. The the code is available here.
This feels like a taste of what we expect to see at Google I/O this coming week. Google shows its real strength when it starts showing how data can be shaped to make discoveries. That approach fits well into application development and the further use of data in next generation information architectures.Discuss