Skip to main content

Why 3D works #1: Looking on the other side

I appreciate all the feedback I’ve got in emails, on this blog and on other blogs. Especially, I’m thankful for critical feedback as this is helping me in addressing important issues. Most of the critical comments are questioning the effectiveness of 3d globe visualisations, which are widely used on this blog.

We definitely need to think critically about the pros and cons of 3D visualisations. I want to give my response in a series of blog posts.

Rich Treves made a comment where he linked to his blog post “3D Rears its Ugly Head Again”. This is the first of his three arguments against 3D KML (Rich, excuse me for taking your arguments out of context!):

“I can't compare the Oil consumption of UK and Australia at the same time because they are on different sides of the globe.”

True, the ability to compare all countries is lost when thematic maps are rendered on a globe. Still there are various ways to address this issue:

1. I’m using two visual variables (colour and height) to represent the same statistical indicator. This makes country comparison easier when spinning the globe.

I could not find oil consumption statistics at UNdata, so I'm using "Infant Mortality Rate" instead (per 1,000 live births). You can make the map in the Thematic Mapping Engine, or download the KMZ file here. I think this is a good and effective 3D visualisation.

2. Values can be displayed on the globe, which makes country comparisons much more accurate.

I added this feature to the Thematic Mapping Engine yesterday. More info will come in a separate blog post.

3. Another option, which is now possible with the new Google Earth plugin, is to have two spinning globes in the same window.

Click here for a live example (based on the China Syndrome example from Google Code). If you rotate the left globe, the right globe will show you the view on the other side. I think it would be better to enable the user to rotate the two globes indepentantly.

4. A different approach is leave the globe, but hold on to 3D KML using a tool like UUorld, where you have 3D prisms on a flat world map.

Currently, there are no 3D KML renderers that are able to make such visualisations, but I’m sure there will be in the near future. Maybe a job for the UUorld guys? UUorld seems to use Plate Carrée (Equidistant cylindrical) projection. This is clearly not the best choice for thematic world maps, but it’s the same projection currently supported by KML (EPSG:4326).

In conclusion, country comparisons are problematic on a 3D globe, but it shouldn’t stop us from doing it!

Comments

Anonymous said…
While I agree with where Rich is coming from, the reality is even highly-educated scientists who should know better use inappropriate symbols for their maps'.

The biggest problems, in my opinion, are associated with interpolated rasters of density ('heat maps' and other names), which lead the viewer to make all sorts of invalid conclusions about the data they are viewing.
Hi Bjorn, your work is really amazing. I follow your blog since a couple of months.

We are talking about tools and, thus I don't want to start a flame war :).
I like GE but usually I develop with WorldWind Java and I think it is another good alternative.
Inspired on your posts I have created a new "Prism" object for WWJ. You can see in action at: http://theballoonproject.blogspot.com/2008/06/prism-themathic-maps-on-wwj.html
Bjørn Sandvik said…
Hi Antonio,
Thanks for your feedback. I think you're WWJ application looks very promising and I think it's always good to have open source alternatives. I didn't know that you could make prisms on a "flat" map with WWJ. Maybe WWJ is the backend of UUorld?

Do you know if WWJ has any KML support? It would be great if I could visualise my thematic maps with WWJ!
KML not for the moment, but integrate it (now is an OGC standard) into WWJ would be great.
Respect flat globes, yes the WWJ teams has developed different kind of globes: sphere and flat (with some different projection options).
I'm very busy but I would like to spend some time trying to read basic KML elements and draw it with WWJ.
Bjørn Sandvik said…
Antonio, please keep me updated if you're successful in integrating KML with WWJ. Libkml might be useful.
Anonymous said…
@Antonio, Nice work on the WWJ prism maps. Looks like there's a lot of potential there.

@Bjørn, I'm one of the developers at UUorld. To answer your question -- we don't use WWJ. Our engine has been written from scratch.
Anonymous said…
If people need KML outlines of administrative boundaries in the United States (everything that is TIGER), I have a free and open source program (TGR2KML version 2) at http://tnatlas.geog.utk.edu/. It will clip out major water polygons if you wish.

Along with a student, we have a thematic mapper page at http://ctasgis02.psur.utk.edu/tokml. Have a look.
rnoel said…
Hi Bjorn,

I haven't seen what you're doing before. Great work.

Popular posts from this blog

Creating a WebGL Earth with three.js

This blog post will show you how to create a WebGL Earth with three.js , a great JavaScript library which helps you to go 3D in the browser. I was surprised how easy it seemed when reading a blog post  by Jerome Etienne . So I decided to give it a try using earth textures  from one of my favourite cartographers, Tom Patterson . WebGL is a JavaScript API for rendering interactive 3D graphics in modern web browsers without the use of plug-ins. Three.js is built on top of WebGL, and allows you to create complex 3D scenes with a few lines of JavaScript. If your browser supports WebGL you should see a rotating Earth below: [ Fullscreen ] To be able to display something with three.js, you need three things: a scene, a camera and a renderer. var width  = window.innerWidth,     height = window.innerHeight; var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(45, width / height, 0.01, 1000); camera.position.z = 1.5; var rende...

Thematic Mapping Engine

It's time to introduce the Thematic Mapping Engine (TME). In my previous blog posts, I've shown various techniques of how geobrowsers can be used for thematic mapping. The goal has been to explore the possibilites and to make these techniques available to a wider audience. The Tematic Mapping Engine provides an easy-to-use web interface where you can create visually appealing maps on-the-fly. So far only prism maps are supported, but other thematic mapping techniques will be added in the upcoming weeks. The engine returns a KMZ file that you can open in Google Earth or download to your computer. My primary data source is UNdata . The above visualisation is generated by TME ( download KMZ ) and shows child mortaility in the world ( UNdata ). The Thematic Mapping Engine is also an example of what you can achieve with open source tools and datasets in the public domain: A world border dataset is loaded into a MySQL database . The same database contains tables with statistics ...

Creating 3D terrains with Cesium

Previously, I’ve used three.js to create 3D terrain maps in the browser ( 1 , 2 , 3 , 4 , 5 , 6 ). It worked great for smaller areas, but three.js doesn’t have built-in support for tiling and advanced LOD algorithms needed to render large terrains. So I decided to take Cesium for a spin. Cesium is a JavaScript library for creating 3D globes and 2D maps in the browser without a plugin. Like three.js, it uses WebGL for hardware-accelerated graphics. Cesium allows you to add your own terrain data, and this blog post will show you how. Impressed by the terrain rendering in @CesiumJS - with a 10m elevation model for Norway! Farewell Google Earth. pic.twitter.com/RQKvfu2hBb — Bjørn Sandvik (@thematicmapping) October 4, 2014 Compared to  the dying Google Earth plugin , it's quite complicated to get started with Cesium. The source code is well documented and the live coding Sandcastle is great, but there is a lack of tutorials  and my development slows down when ...