Go to previous pageGo to next page

1.3.1. Detail in context views

Purpose

Level-of-detail techniques vary the amount of detail shown across the whole map according to a single scale. The idea of detail-in-context views is to instead vary the scale across the map to show more detail in some places than in others. Effectively this means that parts of the map will appear to be zoomed in (the detail) and other parts zoomed out or at their original scale (the context). Between there will be a smooth transition. The advantage of the technique is that you can at once focus on a specific area, in LBS this will be your current location, while still being able to orientate yourself within a much bigger space.

Detail-in-context views can be thought of as types of map projections that transform coordinates of features on the map according their distance from the point of focus. The transformation itself is therefore a simple function of distance. The function can take many forms, four different functions are shown using a square grid to illustrate how the amount of magnification changes.

Functions for detail in context views

Linear (Carpendale 1999) Gaussian (Carpendale 1999)
Hyperbolic Tangent (tanh) (Keahey et al. 1996) Fisheye (Sarkar et al. 1992)

In what way do the different functions differ (Click here for more information)

Steps

Computing a detail in context transformation is in fact very simple. There are four steps:

  1. Define a point of focus, e.g. the user's location, and a radius from this point over which the transform should be applied. Outside of this the scale should be the base scale of the map. This radius being used is quite obvious in three of the examples shown.
  2. Convert the coordinates of all your geographic features into termpolar coordinates, with the termorigin centered at the point of focus. To achieve this means you will have to measure the angle and distance of each point of the objects being shown on the map from the focus. In the examples shown above these points are the terminterstices of the grid.
  3. Apply the transformation to each point using a specified magnification value. Only some of the coordinates will need to be transformed. To work out which ones you will need to check how far the point is from the focus. This is the distance component of the polar coordinate. Those which are farther than the radius of the transform, or exactly zero, can be left alone. Those which are less than the radius need to be transformed. Most transformation functions require the coordinates to be termnormalised over the radius. This means they take a value of zero at the focus and one at the radius length. Therefore, to normalise the distance simply divide it by the length of the radius. The function is then applied using the value of this distance. For example for hyperbolic tangent method this is simply tanh of the product of the magnification and the normalised distance, i.e. tanh(distance*magnification). Having applied the function you'll need convert back to the unnormalised distance by multiplying by the radius length.
  4. Convert your termpolar coordinates back to termcartesianones and draw the map objects.


Go to previous page
Go to next page