I am currently pursuing a PhD at the Applied Geometric Algorithms group of the Eindhoven University of Technology in The Netherlands. On this page you can get a (high-level, informal) impression of what I'm working on. You can also take a look at my publications.

Mosaic maps

A cartogram is a type of thematic map. Let's say that we want to make a cartogram depicting the population of countries. The idea is that countries with many inhabitants become large on the map, and countries with only few inhabitants become small. Hence, the area of a region corresponds to its population.

There are many methods to make cartograms, that all have different properties. Since the areas of the regions need to be changed, every method must distort the shapes of the regions in some way. Some methods leave the detailed shapes intact but deform them to get the right areas. Other methods replace the regions entirely by simple shapes like rectangles.

Together with Bettina Speckmann, Kevin Buchin, Thom Castermans, Astrid Pieterse and Rafael Cano, I looked at another way to make cartograms, that we call mosaic maps. For such a cartogram we use a hexagonal grid (as used by several games, like Settlers of Catan). We represent every region on the map by a group of hexagonal tiles. To get a proper cartogram, we need the areas to correspond to the population. But the area of a region is just its number of tiles. So, for example, every hexagon could represent 2 million inhabitants. The advantage of such a method is that the number of hexagons per region can be counted, so that viewers can obtain the population count more precisely than by just guessing the area.

We found a way to create mosaic maps like these automatically using a two-step process. First we create a mosaic map that does not respect the regions' shapes at all: we only care for the correct connections between regions. So, if Germany borders Switzerland in the original map, we require that their groups of hexagons also touch. In the second step, we refine the drawing bit by bit by taking into account the desired shapes and sizes, until we get a nice drawing.

Log visualization

When you're going to build a house, you need to get a permit. So, you ask the county for one. The people responsible for handling permit requests then check some things and – if your proposal conforms to all regulations – issue the permit. To make sure that all requests are handled in the same manner, the county probably has some kind of process in place for handling requests.

Often it is not easy to get an impression of what happens in such a process. To gain some insight, we can observe the people at the county and write down everything that happens. Then, you get lists of events like

read request, check requirements, grant permit,
read request, check requirements, deny permit.

Now assume we are looking at a much more complicated process than this example, and we have observed thousands of events. In such a case we wouldn't like to go through all of this data by hand. For the final project of my master's, I investigated several ways to do this automatically.