søndag den 5. juni 2011

Visualisere geografiske data med WebGL Globe


Af Doug Fritz af Google Data Arts Team

I dag er vi deler en ny Chrome eksperiment kaldet WebGL Globe. Det er en enkel, åben visualisering platform for geografiske data, der kører i WebGL-aktiverede browsere som Google Chrome. Kloden nedenfor viser verdens befolkning, og vi har oprettet en anden verden der viser Google-søgning trafik.


Den primære udfordring for dette projekt var at finde ud hvordan man kan trække flere tusinde 3D data pigge så hurtigt og gnidningsløst som muligt. For at gøre dette, vi henvendte os til Three.js, et JavaScript bibliotek til at bygge letvægts 3D-grafik. For hvert datapunkt, genererer vi en terning med fem ansigter - den nederste ansigt, som rører jorden, er fjernet for at forbedre ydeevnen. Vi så strække kuben i forhold til de data værdi og placer det på grundlag af bredde og længde. Endelig er vi fusionere alle de kuber i en enkelt geometri at gøre det mere effektivt at tegne.

Den anden udfordring i projektet var at animere kloden - vi ønskede det skal være sjovt for brugeren at manipulere. Takket være WebGL, vi er i stand til at vise tusindvis af bevægelige point ved høje frame rates ved at bruge brugerens Graphics Processing Unit (GPU) til 3D beregninger. Hver stat i verden har sin egen geometri og vi morph mellem dem med en knude shader, sparer værdifuld CPU-ressourcer. Derudover, for at gøre kloden pænt, tog vi fordel af mulighederne for GLSL og skabt to fragment shaders, en til at simulere atmosfæren og en anden til at simulere frontal belysning af planeten.

Nu da vi har frigivet på kloden, vi håber, at udviklere, som du vil oprette din egen. Hvad data vil du vise på det? Hvis du føler dig tilbøjelig, kan du lære mere om dataformat (repræsenteret i JSON) og få koden her. Hvis du opretter din egen verden, kan du også overveje at dele et link med os - på et tidspunkt i fremtiden, håber vi at sende en liste over interessante globusser, der er blevet fremlagt.

UPDATE 18:16: Fast link til koden i sidste afsnit.


Doug Fritz er en kreativ programmør i Googles San Francisco kontor. Doug siger, at han kan lide \ "forenkle det komplekse og complexifing den simple, for i virkeligheden er det hele et sted i midten \".

Indsendt af Scott Knaster, redaktør

Ingen kommentarer: