Skip to main content

Posts

Showing posts from 2008

Merry Christmas and Happy New Year!

I need a vacation from blogging and computers, so I'm going to take one. Have a great Christmas and a Happy New Year! I'll be back in 2009. (The population prism map is from Edmar Moretti's Brazilian version of the Thematic Mapping Engine. The highest prism is São Paulo, with its metropolitan area ranking seventh among the largest urban areas in the world.)

Michael Jones, Google Earth Chief Technologist, in live webcast at AGU Fall meeting today

The lecture is titled The Spread of Scientific Knowledge from the Royal Society to Google Earth and Beyond and will be given at 6:30 pm San Francisco time .  Watch AGU webcast

Thematic mapping at Googleplex

After I handed in my MSc thesis in August, Google invited me to San Francisco to present my work. Yesterday, I gave a tech talk at Googleplex about the Thematic Mapping Engine ( now open-source ) and how KML and Google Earth could be improved to better support popular thematic mapping techniques . My slides are available on SlideShare . My talk was filmed and will probably appear online. I was a bit nervous during the presentation, so its not my best performance  :-& Anyway, I really enjoyed the discussions with the geo developers, the lunch talks, and the guided tour around Googleplex. Thanks Google! The next event is the AGU 2008 Fall Meeting starting on Monday. I'm an invited speaker at the Virtual Globes at AGU session on Thursday. 

Thematic Mapping Engine: Source code and technical documentation now available

Many people have asked, - and today, I've released the source code of the Thematic Mapping Engine  (TME) under a GPLv3 license . The engine takes statistical data, spatial features and thematic mapping parameters as input and returns a KMZ file. This file can be viewed in Google Earth, or other geobrowsers supporting the KML standard. TME can be accessed from a web interface or a PHP script.  TME web interface With the TME web interface, thematic maps can be created in a web browser, without a single line of code. This is achieved through an interactive web form where the user can select between statistical indicators and various thematic mapping techniques. Mapping parameters, like the colour and size, can be readily changed. The form returns a KMZ file which can be visualised directly in the web browser using the new Google Earth plug-in, or downloaded to a computer.  TME Application Programming Interface (API) The Thematic Mapping Engine can also be used as an application progra...

Thematic mapping techniques - a summary

Thematic maps have become a primary mechanism for summarising and communicating the increased volumes of geographically related information. This blog post is a short summary of the most common thematic mapping techniques. Jaques Bertin (1967) established a graphic system of visual variables , which represents an universally recognized theory of the cartographic transcription of geographical information (Koch, 2001). Visual variables describe the perceived differences in map symbols that are used to represent geographical phenomena (Slocum et al., 2005). Bertin’s system has been subsequently modified by various cartographers, and the visual variables presented below are based on Slocum et al. (2007), which add 3-D symbolisation. (Image from InfoVis:Wiki ) Cartographers commonly distinguish between point , line , area and volume symbolisation (Robinson et al., 1995; Slocum et al., 2005). These distinctions may be summarised as follows: A point symbol refer to a particular location ...

New Ext JS extension for Google Earth API

I've made a new Ext JS extension for Google Earth API available on Google Code. Example ( code ) Documentation Download (version 1.1) Enjoy! :-)

Visualizing Scientific Data Using KML and Virtual Globes

The 2008 American Geophysical Union (AGU) 2008 Fall Meeting will take place 15-19 December in San Francisco. The topic of this year's Virtual Globes at AGU session is Visualizing Scientific Data Using KML and Virtual Globes : Since NASA World Wind (2004) and Google Earth (2005) brought the concept of a Virtual Globe into the general public's consciousness, our concept of how to view the planet we live on has permanently changed. Similar to the way the internet changed the way we store, access and sort information, Virtual Globes are reshaping our perspective of how best to visualize geospatial data. One the key components of this evolution has been emergence of Keyhole MarkUp Language (KML) as the preferred code for adding and controlling content in these technologies. Now recognized by the Open Geospatial Consortium (OGC) as an international standard, KML is now increasingly supported by a range of platforms, including Google Earth and Maps, NASA World Wind, ESRI ArcGIS Expl...

Globalis and the Google Earth Plug-in

Globalis is an interactive world atlas developed by UN Association of Norway . The atlas contains a large collection of international statistics , world maps (provided by GRID-Arendal ), satellite imagery , country profiles and information about ongoing conflicts around the world . It is possible to do country comparsions ( example 1 , example 2 ), country rankings , and statistical maps . The atlas is currently available in Norwegian , Swedish and Danish . We are going to make most of this information available as KML files. So far you can download various KMLs to Google Earth. We are not satisfied with this solution as the KML specification has limited capabilities of controlling the Google Earth interface, and the user has to switch between two applications. I'm therefore trying to utilise the new Google Earth Plug-in. This example , based on the Earth Atlas , shows how the Google Earth Plug-in can be included in the Globalis interface. The user can switch between 5 differe...

Earth Atlas: Creating a KML tree with Ext JS

A new version of Earth Atlas is now available ( earthatlas.info ). Earth Atlas demonstrates how a Google Earth-like user interface can be created in the web browser. This is achieved by combining the Google Earth API and the Ext JS library. Earth Atlas has no server-side dependencies, - the data layers are provided by loading various KML files.    The main changes since the initial release : The layers available in the Google Earth Plug-in (borders, roads, buildings and terrain) can be switched on and off.  Various options can be set (status bar, grid, overview map, scale legend, atmosphere and mouse navigation) The KML structure (list view) is displayed in the left panel when external files are referenced ( see example ).    

Introducing Earth Atlas

Earth Atlas is a prototype web application showing how KML files can be visualised directly in the web browser. The Google Earth API and the Ext JS library are used to create a responsive user interface. Earth Atlas contains KML files from the Thematic Mapping Engine , a few KML SuperOverlays as alternate background maps, and KML files from external sources. Other KML/KMZ files can be visualised by adding a link in the left panel, or directly in the Earth Atlas URL: http://earthatlas.info/?kml=http://www.nature.com/nature/googleearth/avianflu1.kml First release today - to be continued!

Displaying KML/KMZ files in Google Maps

KML/KMZ files can be overlaid on Google Maps, either on the Google Maps website , or by using the GGeoXML class of the Google Maps API ( see example ). Google Maps Google Maps API Google Earth The KMZ file ( download ) displayed above was generated by the Thematic Mapping Engine . Only a subset of the KML standard is so far supported by Google Maps. The shaded plygons are properly displayed, but not the screen overlays (title and legend) and balloons. The different placement of the zoom bar in Google Maps and Google Earth makes it difficult to display the same KML/KMZ file in multiple viewers. I'm impressed by the speed of Google Maps. The above KMZ file contains complex geometries of almost 200 countries of the world. Web browsers are not optimized for vector graphics, as illustrated on this page . To avoid this problem, Google seems to use its powerful servers to generate image map tiles on-the-fly from the KML geometries. A bug in the map tile generator was discovered when disp...

Thematic mapping in Norway

I'm about to recover from my workaholism after an extremely busy year in Edinburgh. I've spent the last weeks hiking and biking in the Norwegian mountains. The holidays are over, now it's back to work. This blog post shows how statistical data on a subnational level can be visualised with KML. I could not find UK data due to lack of data access and restrictive licensing rules. Luckily, Statistics Norway considers official statistics as "a tool for democracy": "Official statistics and analyses based on statistics shall provide the general public, businesses and the authorities with information about the structure and development of society. Such information strengthens democracy and forms the basis for a sustainable economic, social and environmental development. To this end, official statistics must be produced on an impartial basis, be of a high quality and made available for the common good of society ." ( This is Statistcs Norway ) StatBa...

Using KML for Thematic Mapping

The work is done! Today I could finally hand in my MSc GIS thesis: "Using KML for Thematic Mapping". From the abstract: The use of geobrowsers has increased considerably over the last few years. Thematic mapping has a long history in cartography, but the new geobrowsers (like Google Maps and Earth) tend not to focus on this aspect of geographical information representation. This paper examines how Keyhole Markup Language (KML) can be used for thematic mapping. KML is not targeted towards thematic mapping, but it is possible to use KML elements in ways that were probably not intended. Current possibilities for making proportional symbol maps, chart maps, choropleth maps and animated maps with KML will be presented. These experiments show that KML and geobrowsers offer great potential for thematic mapping, but that there are significant issues that need to be resolved. Thanks to everyone who has given me valuable feedback and advice during these months! Stay tuned!

Why the direction of polygon coordinates matters in KML

If you use the World borders shapefile provided on the site to create a KML prism maps , you will experience a problem. The same problem is likely to occur if you extract polygon features from other shapefiles. The prism map will look like this in Google Earth: The prisms are not colourised properly. The reason turned out to be the clockwise orientation of the polygon vertices (winding order). 3-D implementations of KML use the vertex winding order for determining the direction in which it faces. This is necessary to display the correct lighting on curved surfaces. For the prisms to be displayed properly the vertex order has to be anti-clockwise. The prisms will be colourised properly by simply changing the direction of the coordinates. The light has been switched back on. The vertex order was changed by this PHP function: function kmlReverseCoordinates($coordinates) {   $coordinates = explode(" ", $coordinates);   $coordinates = array_reverse($coordinates); ...

Thematic mapping on the Semantic Web

Thematic maps are widely used to analyse spatial phenomena in the world. With the rapid development of Internet and GIS technology, people have access to a variety of thematic maps. Nonetheless, these web-based systems often restricts their contents to maps already edited and stored in databases, rather than allowing users to collect data form different sources and create thematic maps meeting their demands. Imagine if a person has a hypothesis about a correlation between number of conflicts and level of poverty in Africa. She wants to see "a map showing the relationship between armed conflicts in Africa and the level of poverty". If she types this into the Google search engine today she might get some useful results, but not the map she is requesting. The search engine is not able to extract the meaning of the query. The results she gets contain all the words she typed in, but the meaning of “relationship” in her request is often about other issues than conflicts and poverty...

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