The Earth is big. It’s a challenge to build a map that can be viewed at world scale and zoomed all the way into street scale. The area viewed differs in these cases by more than one billion times. Obviously you can not display the same information in the entire scale range
There are at least two reasons that the data should be adapted to the scale. The first one is that you should try to keep the information density at a roughly constant level. Too much details clutter the display and makes the map hard to comprehend. Too few details gives room for improvement if you want to communicate more information. The other reason is performance. There is a limit to how much data can be presented until the map feels sluggish. Generally, points are rather cheap to display but polygons cost more.
I am in this blog not going to focus on the extremes but on how to make some data appropriate for a scale range that is a bit more narrow, a scale range that your data mostly will be used in. For scales outside of the range you think is appropriate for your data, you can turn that layer off and display other (aggregated or more detailed) data instead. Alternatively you can lock the display so that it can not be zoomed out or in outside your defined scale range.
Often the source data is too detailed and needs to be simplified. There are several kinds of simplifications (or generalizations), some examples are:
- Remove the least important objects
- Reduce the number of breakpoints in lines and polygons
- Simplify topology by dissolving areas and removing holes
- Change representation like simplifying an area to a point or many points to an area
What constitutes a good simplification? At the intended scale it should appear better than the original. When presenting too detailed data, borders seem frayed. A simplified map gives a more calm impression. So, higher resolution is not always better.
Note that images here might be resampled when presented, which unfortunately can hide some of the effects.
Another key feature of good simplification is that the data reduction should be as large as possible. Many simplification algorithms have problems simplifying data with a lot of details. The simplification used in Idevio GeoAnalytics can join together nearby areas and remove gaps where needed.
Several common tools handle area simplification quite bad. If simplification does not consider topology it introduces ugly gaps and overlaps between neighbor areas.
So far we have only discussed simplification of areas. Simplification of lines consist mostly of reducing the number of breakpoints. More advanced simplifications can also do things like collapse roundabouts and small road structures to a single point but that is a bit out of the scope for this blog. Point simplification consists mainly of selecting the most important ones and remove the others.
Another way to simplify data is to aggregate it. Aggregating areas together is done with the Dissolve operation. Dissolving might be appropriate when areas builds natural hierarchies, which sometimes is the case for postal areas. Cutting off the end of postal numbers to say 3 digits can give a nice aggregated level.
Points can be aggregated in existing areas like counties or to regular structures like rectangles or hexagons. The latter is called binning.
Good simplification is often difficult to use. There are a lot of parameters to adjust. In Idevio GeoAnalytics, it analyzes the data and sets appropriate parameters automatically so that you only need to decide if you want higher or lower resolution than the suggested one. Idevio GeoAnalytics is included in IdevioMaps and more information is available at https://bi.idevio.com/products/idevio-maps-for-qlik-sense.