Skip to main content

Posts

Showing posts from June, 2008

Proportional symbols in three dimensions

Since I'm making my own Thematic Mapping Engine , I need to understand the math behind proportional symbol calculations. Originally, I thought I would need different equations for different geometric shapes, and my book in cartography gave me the same impression. But after reading this article , I realised that life was not that complicated. This tutorial is a summary of a discussion on the CartoTalk forum . I especially want to thank Dominik Mikiewicz (mika) for his valuable comments and figures. The CartoTalk forum is highly recommended! Equations for 1D, 2D and 3D proportional symbols: 1-dimensional symbols (height) This is how the height of bars or prisms is calculated in TME. Equation: symbolSize = (value / maxValue) * maxSize PHP: $symbolSize = ($value / $maxValue) * $maxSize JavaScript: symbolSize = (value / maxValue) * maxSize Bars or prisms show “real” values scaled down to fit on a map, and you can easily see the relations and which is higher than the other. I’m not cons...

What a colourful world

3D thematic mapping can be challenging, and I've been considering some of the problematic issues in a series of blog post ( 1 , 2 , 3 , 4 ). There has also been a discussion on the CartoTalk forum , and Rich Treves posted a response on his blog . I released a new version of the Thematic Mapping Engine today as a response to this discussion. The most noticeable new feature is the enhanced colour scale. It's difficult to make a symbol legend in KML, as symbol size varies with scale (zoom). Without a legend, it's very hard to assess the exact values. This is why I duplicate symbology by supporting a colour legend. You can now easily define a colour scale for all thematic mapping techniques. The colour legend informs the user about the range of values (min and max), and where the different symbols are positioned on this range. The colour scale can be unclassed or classed : Equal intervals : Each colour class occupies an equal interval along the value range. Quantiles : The cou...

Animating mobile phone subscribers...

Ok, this is probably in the " how to sacrifice accuracy for eye candy " category, but it's still fun! Here is Mobile phone subsribers (statistics from UNdata ) visualised using a proportional 3D mobile phone: Mobile phone subscribers in 2003 ( download KMZ ). 3D phone from Mikeyjm/ 3D Warehouse . I'm using volume as the scaled parameter, which I think is more accurate than using area or height. You can even change the colour of the cover... :-o Animated version (1980-2004): Download KMZ (NB! You need a quick computer!) I've added a 3D mobile phone and a 3D person (both from 3D Warehouse ) to the Thematic Mapping Engine , so you can make this visualisation yourself.

Why 3D is not working #4: Am I sacrificing accuracy for eye candy?

The last issue I want to address in my 3D series is the problems of perspective. I find this issue particulary challenging. “Same with estimating sizes of oblique-viewed 3D domes for proportional symbols. The problem is further magnified when the data is re-projected to an Earth globe view making the task of estimating heights/sizes of the polygons even harder (since the user has to mentally compensate for the curvature of the earth). In short their concern is we are sacrificing accuracy for eye candy.” ( Sean Gorman ) Yes, the use of proportional symbols on a 3D globe raises some serious questions. Here are my 3D Collada domes of world population : Download KMZ . At least, the dome shape makes it possible to calculate the volume of each object, as the volume should represent the statistical value. I'm not sure how to scale irregular objects properly, - like a 3D person. The main issue, as stated by Sean above, is how the user are going to estimate the volume of the domes when see...

Why 3D works #3: Mother Earth gives us a clue

Since I'm on a 3D choropleth jag , I want to address two common problems with prism maps; blocking and lack of north orientation. “Its possible that a high oil consumption of one country would obscure (or at least complicate the view if the 3D models are translucent) the consumption of a country located behind it, meaning I have to 'fly' around to see the value related to that country.” ( Rich Treves ) I agree with this statement, even though it's possible to guide the user in various ways: In my first and second blog post in this 3D series, I explained why I'm using two visual variables (colour and height) to represent the same statistical indicator. This is another good reason; colour might help the user in identifying hidden prisms. This prism map is created with the Thematic Mapping Engine , and shows life expectancy at birth (both sexes) in 2005. I'm not using a colour scale to represent the statistical value. The prism representing the low life expext...

Why 3D works #2: It’s all about prisms

It’s seems like people have a love/hate relationship with prism maps. Here are some of the arguments in the “don’t like” category together with my counter-arguments: “IMHO creating coropleth maps using prisms is not really *efficient* (but of course it’s spectacular) because it’s really hard (at least for me, maybe I’m too “plain”) to realize slight differences between non-contiguous areas. In fact you are using to techniques to present the same variable, color and prism height. As I see, the classic way to present a quantitative variable using the amount of brightness and just one value (color) is more efficient independently of using a 2D or a 3D environment.” ( XuRxO ) “If I wanted to find out the exact value of oil consumption for a particular country on the thematic map I can easily glance at the colors in the key to pinpoint the value. With consumption converted to height in Google Earth its difficult to read off the actual value.” ( Rich Treves ) “I was talking to some cartogr...

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 repr...

Proportional symbols in Thematic Mapping Engine

Thematic Mapping Engine (TME) is now supporting proportional symbols and choropleths in addition to prism maps. Three different types of proportional symbols are supported: 1. Images By selecting this option, you can choose between two images (so far) which are scaled according to a statistical value. This blog posts explains how this is achieved. This map shows number of mobile telephone subscribers in 2003. Same indicator, but with different image shape and colour. If you compare the result in the Google Earth browser plugin with the desktop program, you'll see a noticeable difference: The icons are much bigger in the plugin. The reason is different viewport sizes, and I consider this to be a Google Earth bug. I'm probably using the KML Icon element in a way that was not intended. Look at these images which are from the same KML file: There are two different ways adjusting the size of the planet in Google Earth. The left visualisation shows the earth in a zoomed out view....

Thematic mapping and the Google Earth plugin

Thanks for all the feedback after my initial release of Thematic Mapping Engine . Two features have been requested; data upload/import and support for the new Google Earth plugin . I've now added a Preview-button, which enables you to see thematic maps in the browser instead of switching between two applications. The Google Earth plugin seems to render big and complex KML files very well. The image above shows GDP per capita in 2005. A missing feature is support for KML time primitives . The TimeSpan and TimeStamp elements are not supported, and the plugin renders all the polygon features regardless of the time specified (above image). This will hopefully be fixed in a future release. With the new Google Earth plugin it's possible to create a highly interactive and explorative user interface for geovisualisation . The plugin can be combined with other visualisation gadgets in a way that is not possible in Google Earth. As applications move from the desktop to the web, ther...

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 ...

KMZ files on-the-fly with PHP ZIP extension

When I'm creating thematic maps with KML, I often end up with a series of files; legend images , icon images , 3D Collada objects and the KML file itself. The KML file is often large because of complex geometries repeated for several time steps . Fortunately, KML files and linked images and 3D objects can be zipped into one KMZ archive, which make file transfer easier and more efficient. I'm using the PHP ZIP extension to create KMZ files on-the-fly. Basically, a KMZ file has the same properties as a ZIP file . With the PHP extension you can open a new KMZ archive and add your KML code (named "doc.kml") and images/3D objects that are linked with the href element . For my last blog post , I created a KMZ archive ( download ) containing one KML file, one folder and three images. The original files are 1,418 kB in total while the KMZ file is only 153 kB - a lot of bandwidth saved! Links Google Earth Outreach: Packaging Content in a KMZ file IBM: How to create and ed...