mapnik/mapnik — Issue #930: Discuss the creation of output plugins
Author: kunitoki
Created: 2011-10-24 10:16:41+00:00
State: open

I hope it should be a good design philosophy to think about a global refactoring of such pieces.

The idea is to move the real rendering (agg/cairo) and metawriters code in output plugins, allowing one to create more of them (adding more graphics backends for example) without actually mess with the mapnik internals too much, or tight the writing code with internal storage and definition of drawing/output styles.

Even when not using real shared libraries for this, again would be better to organize those piece of code that work with outputting data in their own folders, just to keep the codebase lighter.

For example, i would need to implement a sort of "transformators", which takes data from a datasource, but instead of rendering an image, or outputting a json, it should manipulate the geometries / attributes in various ways. Probably possible with python, but would be cool if people would shed some light here.