[Tilesathome] Osmarender Perl implementation
Frederik Ramm
frederik at remote.org
Fri Mar 7 12:24:30 GMT 2008
Hi,
> Nice ;-)
>
> Did you compare your re-implementation with one of the hideously
> complex
> tiles from Netherlands?
No, I used a reasonably but not overly complex tile from the
Edinburgh city area. But the bottleneck in processing is really not
the Osmarender part but the SVG rendering that comes after that. I
see a lot of potential for improvement there, i.e. or/p could try and
generate SVG that is easier to handle for the SVG renderer.
> Would generating JPG's / PNG's be out-of-scope for os/p? As far as I
> remember, the main problem with the Netherlands tiles was inkscape
> using
> multiple gigabytes of memory per tile.
Exactly. One could try to write code that, instead of generating SVG
instructions, created bitmaps directly. That would simplify some
things but complicate others. You would not have to write a full SVG
rendering engine but you'd have to find a good bitmap graphics lib to
support the task (you don't want to implement the drawing of dashed
lines by hand). It would be quite a big task I reckon.
I think it is more promising to improve or/p so that it writes
simpler SVG output - *especially* dropping all detail from the SVG
output that will not be visible anyway, i.e. path definitions that
are not used, stuff that is painted outside of the clipping area,
adjacent points in a path that we know will be indiscernible in the
final bitmap because they're so close. Once we manage to do the
clipping properly (i.e. not generate output for stuff outside the
clipping box) this will then enable us, if need be, to split a tile
in half, render each part separately, and combine the resulting bitmap.
Bye
Frederik
--
Frederik Ramm ## eMail frederik at remote.org ## N49°00.09' E008°23.33'
More information about the Tilesathome
mailing list