Package uk.me.parabola.mkgmap.filters

Filtering at map levels

See:
          Description

Interface Summary
MapFilter Used for filtering the elements that are added to the levels.
MapFilterChain Used to set up a filter chain for adding map elements to an area of the map at a given level.
 

Class Summary
BaseFilter A base filter to use that has empty implementations of methods that are not always used.
DouglasPeuckerFilter This is a filter that smooths out lines at low resolutions.
FilterConfig Configuration for filters.
LineMergeFilter  
LineSizeSplitterFilter A filter to make sure that a line does not have a greater dimension that would cause an overflow of a TRE area which can only have 15 bits of size.
LineSplitterFilter A filter that ensures that a line does not exceed the allowed number of points that a line can have.
PolygonSizeSplitterFilter Split polygons for physical size (rather than number of points).
PolygonSplitterBase  
PolygonSplitterFilter Split polygons so that they have less than the maximum number of points.
PreserveHorizontalAndVerticalLinesFilter  
RemoveEmpty Filter for removing empty elements and degenerate elements, for example lines or shapes with just one point.
RoundCoordsFilter  
SizeFilter This is a filter that dismisses elements too small for the current resolution
SmoothingFilter This is a filter that smooths out lines at low resolutions.
 

Package uk.me.parabola.mkgmap.filters Description

Filtering at map levels

The general representation that is built up in the mkgmap.general package is at the full level of detail that is available in the OSM file. The map however is in different layers at different levels of detail. There are also limitations of the format or the devices that need to be taken care of.

So when we are building up the garmin layers, we send the general representation through a series of filters to fix things up before being placed into a layer. This can involve spliting up lines and shapes, removing points from lines to produce a lower resolution versions and droping elements altogether.