ChoroWare

ChoroWare is a tool designed to help cartographers and map users find class intervals for choropleth mapping. The initiative of ChoroWare is driven by a multiobjective view of choropleth, an idea that can be found in the original work of Jenks and Caspall (1971). There are many criteria that can be used to make a choropleth map. However, it is often recognized that it is difficult to find a criterion that can perfectly reflect the need of cartographers. Sometimes, Jenks optimum may be the best criterion, while other times equal interval is better. Therefore, one may wish to examine the trade-offs between the criteria and then find a set of class intervals that can meet his/her need.

We have developed a program that uses evolutionary algorithms to generate the solutions of multiobjective choropleth (a solution is a set of class intervals). The problem is: we may have thousands of good solutions but we do not know which is the one. To address this problem, we developed a visualization tool that can be used to help users go through the solutions and interactively compare these solutions and finally find the best one.

Following is a screen shot the visualization tool. There are five windows as described below.

Database shows the attributes of the polygons in the map.

shows the attributes of the polygons in the map. Solution Space is basically a graph showing the trade-off between any pair of criteria. The left part lists the criteria, as well as some evolutionary algorithm specifications; the right part is the graph. In the graph, solutions are displayed in white, and the solution that is currently used is marked as a red square. The user can specify which two criteria to be used as horizontal and vertical axes by selecting them from the left part using left and right button of a mouse.

is basically a graph showing the trade-off between any pair of criteria. The left part lists the criteria, as well as some evolutionary algorithm specifications; the right part is the graph. In the graph, solutions are displayed in white, and the solution that is currently used is marked as a red square. The user can specify which two criteria to be used as horizontal and vertical axes by selecting them from the left part using left and right button of a mouse. Front List is a table listing all solutions, where the highlighted row is the classification that is currently used.

is a table listing all solutions, where the highlighted row is the classification that is currently used. Value Path is a parallel coordinates graph, where the path of a line shows the values of all criteria. The red line shows the current classification. Since we usually have too many solutions, it is possible for a user to randomly sample a portion (e.g., 10% in this case) of the solutions and then only draw those sampled solutions here.

is a parallel coordinates graph, where the path of a line shows the values of all criteria. The red line shows the current classification. Since we usually have too many solutions, it is possible for a user to randomly sample a portion (e.g., 10% in this case) of the solutions and then only draw those sampled solutions here. Map shows the results of current classification used.

The user can change the classification of the map by either clicking a new point on the graph or clicking on a new row in Front List. The change will consequently reflected in the Map window.

ChoroWare is developed using Open Source technology, including GTK+/GDK and GNU Scientific Library. If you have any comments or suggestions to the development and/or applications of this software, please send me an email.

Last updated: August 18, 2006.