/**
* Read, parse, filter, build geometry and slice it
*
* Overview
* --------
*
* 1. Read Relations, Ways and Nodes.
* 2. Filter them by tags
* 3. Build geometry (find nodes for relations and ways)
* 4. Slice geometry (boundaries and ways) into stripes.
* So join phase may be performed in a parallel way.
*
* Details
* -------
*
* * Entry point of split process is me.osm.gazetter.striper.Slicer.run
*
* * me.osm.gazetter.striper.Slicer runs reading and filtering, and for
* red and filtered objects slices geometry into smaller peaces.
*
* * me.osm.gazetter.striper.readers are responsible for xml stream parsing,
* they reads xml, create POJOs and calls
* me.osm.gazetter.striper.readers.PointsReader.PointsHandler,
* me.osm.gazetter.striper.readers.WaysReader.WaysHandler
* and me.osm.gazetter.striper.readers.RelationsReader.RelationsHandler accordingly.
*
*
* * me.osm.gazetter.striper.builders are responsible for filtering xml data
* parsed by me.osm.gazetter.striper.readers and building features like
* boundaries highways etc. and their geometry.
*
* * After me.osm.gazetter.striper.builders have built a feature it calls
* their me.osm.gazetter.striper.builders.handlers and passes builded feature.
*
* */
package me.osm.gazetter.striper;