[Tilesathome] Osmarender colours and stylesheets
Jiri Klement
jiri.klement at gmail.com
Sun Aug 10 13:32:21 BST 2008
>> Stylesheets are a bit confusing but it seems that pixels in
>> stylesheets actually represent rendered pixels. Even if I'm wrong,
>> global transformation can be defined for svg file so 1 unit = 1
>> rendered pixel.
>
>This is not as used in osmarender. Line widths get smaller for higher
>zoom levels, often by factor 0.5 resulting in the same rendered width.
You're right, I got confused by sligtly obfuscated symbol definition before.
>What is a pixel in SVG anyway?
It depends on size of image, viewbox and rendered size. In case of
osmarender is every svg file big about 878.91*878.91 ((360 / number
of z12 tiles)*10000). Size of rendered image is 256 for z12, 512 for
z13, ...
So 1 rendered px should be:
3.42 units for z12
1.71 units for z13
I think it is possible to switch to 1 unit = 1 rendered pixel, but it
would mean to change orp/osmarender to convert all nodes/ways
coordinates and rewrite all stylesheets.
>> Frederik: I think I saw something about this not being implemented in
>> or/p? If not it shouldn't be too hard to fix, you can probably find
>> examples of how this used to be done by looking at some fairly old svn
>> revisions.
>
> Yes, there was a bit of code in the SVG that I did not understand and
> that wasn't obviously used. Maybe one can even produce .svg files that
> simply href external symbols?
It should be possible as href is just normal URI. Anyway the
osmarender code is quite simple:
- get list of all referenced symbols
- read svg file <symbolsDir>/<nameOfSymbol>.svg
- extract symbol from svg file (element with address
svg:svg/svg:defs/svg:symbol)
More information about the Tilesathome
mailing list