Monday 21 July 2008

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. She is probably not able to identify a map showing both conflicts and level of poverty in Africa. The search engine is only able to return maps that are already made and tagged with appropriate keywords, and not to make this map “on-the-fly” using data from various sources. How can web resources be accessed by content rather than keywords?

The current methods for finding and using information on the web are often insufficient (Egenhofer, 2002). The Semantic Web is a vision for the future, in which information is given explicit meaning, making it easier for machines to automatically process and integrate information available on the Web (McGuiness and van Harmelen, 2004 and Berners-Lie et al., 2001). The Semantic Web is not a separate web, but an enhancement of the current one. The goal is to enable reasoning engines and web agents to respond to questions inductively.

A Geospatial Semantic Web (GSW) envisions a Web where discovery, query, and consumption of geospatial content are based on formal semantic specification (Liberman, 2006). The success of syntactically interoperable web services (e.g. OpenGIS web services) has created significant semantic gaps in what can be utilised. GSW tries to address this issue by expressing the meaning of content and concepts that are specifically geographic and temporal in nature.

Even though the search engine was able to extract the semantic meaning of the above query, it would probably not be detailed enough to give a desired result. What is an armed conflict? Which conflicts should be included or excluded? What is level of poverty? How can poverty be measured? How can this information be displayed on a map? What kind of map is the user requesting? How is it going to be used? What about temporality? From which time period is the user requesting data? Should the result be in the public domain or is the user willing to pay for the result?

A search engine could be extended by a “smart” web agent which could interpret the meaning of the request, and ask for clarifications if necessary. The agent could then gather the data from various web services, symbolise it and return the final map to the user. I've sketched a possible architecture below:

The web agent will first search for web services that can provide the necessary data and processing capabilities. When all services are located, the agent can construct an execution plan and invoke the web services in a sequence. The two services providing data (Armed Conflict Service and World Statistics Service) could be invoked simultaneously, as they are not dependent on each other. The agent will pass on the data descriptions to the Map Symbolisation Service. The service will use these descriptions together with the cartographic ontology to find the best way to symbolise the data. A symbology description is returned to the web agent. This description specifies that the poverty indicator should be visualised as a choropleth map with the conflicts layered on top. The symbology description references a Geographical Unit Service which provides the necessary polygon data needed for a choropleth map. Finally, the agent passes on the data to the Thematic Mapping Service together with the symbology descriptions. This service creates the map in a desired format, and returns it to the web agent and the user.

Feel free to implement! :-)


Muad'Dib said...

Hi Bjorn,

It's possible there is multiple sources of datas for a request.

So, the user have to choose between them before, then he also have to choose between several mode of vizualisation.

I don't think that it's a good thing to build map automaticaly cause ther is no "good map" and all maps lie ;-)

Another way possible to go quickly and keep the user choice is to offer to the user not a single result but a choice of different maps build with different datas and vizualisation choices.

Then the user choose the map giving the best answer to his demand.

Bjørn Sandvik said...

Hi Muad'Dib,

I agree. We need a plethora of data services from various sources representing different perspectives. The web agent could make a "best choice", but the user should be able to identify and change the source if more than one service is available.

By representing cartographic knowledge and best practices in an ontology, a web agent could generate a visualisation that suits the data and the purpose of the map. The user could then select a different visualisation technique if required.

Choice is good, but relevance is excellent!

Muad'Dib said...

Hi, it's David (info graphique), I don't see Google sign with my blogger alias...
But perhaps you recognize my very poor english ;-))

I think the user is the only one who can choice what result is relevant.

Cause as i say to my students, there is not only one good map, it depends on what you want to show.

The common user don't perfectly knows cartography so it's important to show that there is several solutions to map his request (3, 4 or more ?).

But why can't we imagine an auto-learning agent which be able to learn from our choice or community choice, in a cooperative way, to accurate his choices ?

Bjørn Sandvik said...

Hi David,

An auto-learning agent sounds like a good idea!


Anonymous said...

Hi Bjorn,

Your thematic mapping idea is really brilliant to me.

One thing that I have doubt in. Although English is widely used across the world but I believe most of the words/phrases are used in different way with different meanings. What is your opinion on this with thematic mapping?

Multiple choice and an auto-learning agent is definitely the ultimate goal! (but that sounds really scary - a self learning machine)