Mapnik 3.0.16 Release Nov 16, 2017 | Artem Pavlenko
Mapnik 3.0.12 Release Sep 08, 2016 | Artem Pavlenko
Mapnik 3.0.10 Release Feb 29, 2016 | Artem Pavlenko
Node Mapnik 3.5.0 Release Feb 29, 2016 | Sam Matthews
Mapnik 3.0.9 Release Nov 26, 2015 | Artem Pavlenko
Mapnik 3.0.7 and 3.0.8 Releases Oct 26, 2015 | Artem Pavlenko
Mapnik 3.0.6 Release Oct 08, 2015 | Artem Pavlenko
Mapnik 3.0.5 Release Sep 17, 2015 | Artem Pavlenko
Mapnik 3.0.4 Release Aug 26, 2015 | Artem Pavlenko
Introducing a Color Blind Filter Aug 14, 2015 | Blake Thompson
Mapnik 3.0.3 Release Aug 12, 2015 | Artem Pavlenko
Mapnik 3.0.2 Release Jul 31, 2015 | Blake Thompson

latest news

Mapnik development

Feb 07, 2006

Jean-Francois Doyon has developed *new* building scripts for mapnik. Very cool! We're planning to add support for more platforms and toolkits.

I re-worked mapnik's feature processing pipeline and as a result we can have multiple back-ends. At the moment only the AGG renderer is implemented but writing a new one should be very straightforward. For those interested in implementation details have a look at feature_style_processor

New design based on CRTP (Curiously Recurring Template Pattern) e.g.

struct MyCoolRenderer : public feature_style_processor <MyCoolRenderer> {    
  void process(xxx_symbolizer const& sym,        
  Feature const& feature)     {                 
    //do something    
}};

Also symbolizers are simple POD objects and not related to each other. In fact there are no virtual functions at all which is good :-) . Symbolizers are managed in boost::variant type and static visitation is used to dispatch calls to relevant 'process' methods in the Derived class. One improvement would be to 'trick' the compiler into generating missing methods from implementation to make it even more user-friendly.

Copyright © 2016 Artem Pavlenko | Downloads | License | Media