As usual a status update about the recent improvements of libosmscout.
- I reworked the way index. Now way index again uses a tiled index instead of the quadtree index as implemented for areas. However now tile size depends on the individual type of the way – thus improving index scan performance.
- You can now add a minimum magnification for areas in the style sheet. This allows you to force the drawing engine to start drawing areas of a certain type starting from a certain magnification even if the area would be big enough to be visible on a smaller magnification. The style sheet now uses this for buildings to avoid map overloading (by moving display of building to a bigger zoom level than before).
- Added an IGNORE option for the type definition. This allows you to define types but ignore them in turn during import. This reduces the risk that automatic type detection mechanism guess wrong.
- I did a number of type definition and style sheet file improvements.
Over all this should improve the visual quality, in this case especially for low magnifications, and drawing speed. This also should avoid gaps in motorways as rendered before. See the screenshots (which also features the improved plate labeling algorithmus recently implemented).
Analysis shows that currently the number of vector points dominates drawing speed and memory consumption. In further steps I will try to reduce the number of points passed to the drawing engine.
Next steps are:
- A demo showing how to efficiently draw tiles.
- Rename the “area index” into “area area index”.
- Add an optimization flag to the type definition. Ways with this flag will be scanned and rebuild into longer ways with fewer points (optimized up to the certain magnification). Map drawing (if requested) will then prefer such data. This should further reduce drawing speed for low magnification tiles.