I am playing with mapnik and trying to export multiple vector files as one pdf with multiple layers.
For the moment, my vectors get merged when rendering. Is there a way to keep each vector in a separate layer of my rendered pdf?
That's actually easier than what I expected.
The PDFPrinter needs to have its use_ocg_layers parameter set to True. The .finish() method implicitly calls the convert_pdf_pages_to_layers() method if use_ocg_layers is True.
The code looks like this in Python:
page = mapnik.printing.PDFPrinter(use_ocg_layers=True)
m = mapnik.Map(100,100)
mapnik.load_map(m, "my.xml", True)
m.zoom_all()
page.render_map(m, "my.pdf")
page.finish() # implicitly calls convert_pdf_pages_to_layers()