Mapnik 4.0.3 Release Oct 30, 2024 | Artem Pavlenko
Mapnik 4.0.2 Release Aug 21, 2024 | Artem Pavlenko
Mapnik 4.0.1 Release Jul 30, 2024 | Artem Pavlenko
Mapnik 4.0.0 Release Jun 16, 2024 | Artem Pavlenko
Mapnik 3.1.0 Release Jan 08, 2021 | Artem Pavlenko
Mapnik 3.0.24 Release Jan 05, 2021 | Artem Pavlenko
Mapnik 3.0.23 Release Jan 18, 2020 | Artem Pavlenko
Mapnik 3.0.22 Release Jan 22, 2019 | Artem Pavlenko
Mapnik 3.0.21 Release Oct 08, 2018 | Artem Pavlenko
Mapnik 3.0.20 Release Apr 12, 2018 | Artem Pavlenko
Mapnik 3.0.19 Release Mar 06, 2018 | Artem Pavlenko
Mapnik 3.0.18 Release Jan 26, 2018 | Artem Pavlenko

latest news

It has been a while since the first release.

Jun 15, 2005

It has been a while since the first release. I took some time to assess future directions and plans for mapnik, did some research into existing free/non-free GIS projects and talked to some interesting people.

From the very beginning mapnik was a place for experimenting, trying new ideas and generally doing things a bit differently (and maybe better). Early on I decided not to link mapnik to existing free GIS projects/libraries. The majority of free GIS today is based around GDAL/OGR/UMN Mapserver etc. And while being a very useful bunch of tools indeed (I use them:-), they are, citing my son's book, 'good old steam engines from the past' in IMHO. :) Instead I launched into an ambitious attempt to write something which looks more to the future.

In addition, there has been so much great free software developed recently (boost, spirit, agg etc), that I couldn't help grabbing it.

Mapnik is still in its very early stages and actively looking for participants at every level. If you're interested, and like me you're into doing something new, I'd love to hear from you.

Apart from hacking I also added some new features to the project, based on my research.

What's new?

  • boost libraries

    I didn't hesitate to use more boost libraries (I was using boost.python already). Boost offers a number of cross-platform c++ 'goodies' that increase productivity and is a great source of learning (for me at least :). At the time of writing the latest mapnik is relying on filesystem, regex, spirit, python and more from boost.org.
  • Expressions based styling

    This is part of a general move toward compliance with OGC specifications. I decided to base mapnik's styling objects around SLD/Filter model (some geotools hacking) and as a result developed a 'macro-language' to encode filter expressions based on spirit. There are some missing features (notably 'spatial predicates'), yet it's functional enough to be useful.

    There is support for:

    1. simple arithmetics (+ , - , * , / )
    2. comparison (= , <> , > , < , >= ,<=)
    3. logical operators (and, or , not )
    4. regular expressions (Boost.Regex)

    Support for functions (min/max/abs etc) and 'spatial predicates' is in the pipeline.

  • AGG rendering

    Mapnik now uses the AGG library for rasterizing/rendering. I was already happily using some algorithms from AGG and decided to extend this.

  • New build system

    At this point mapnik is using scons as a configuration/build tool. Scons is a '..next-generation software construction tool, or make tool...'. All configuration files are written in Python and as a result are easy to learn, program and extend.

    Originally, mapnik was using GNU/Autotools to automate the build process, but I found myself spending far too much time fiddling with m4 macros, rather then writing any code:(.

    I looked at the Boost.Build (bjam) and scons as potential replacements, but lack of documentation put me off from using Boost.Build for the time being. 'Scons' is a clear winner (python!) for me. However I will keep an open mind regarding other possibilities (perhaps Boost.Build v2 will be the one?).

Copyright © 2024 Artem Pavlenko | Downloads | License | Media | Developer