[Tilesathome] The non-rendering of glaciers
Ed Loach
ed at loach.me.uk
Mon Nov 10 19:38:19 GMT 2008
Perhaps a bit late now, but:
> It would be nice to get the name of the glacier rendered in the
> center
> of it but I didn't know how to implement this, the diagonal
> lines
> discussed previously might also be nice but I didn't know how
> do do
> those either.
For diagonal lines, looking at the access restrictions, you would have something like
fill: url(#access-private-pattern);
stroke: url(#access-private-pattern);
instead of what you currently have. You would need to replace the pattern name with your pattern name, e.g. glacier-pattern, and then define something like:
<svg:pattern id="access-private-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
<svg:path fill="none" stroke="#ff4040" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/>
</svg:pattern>
in the appropriate section (though you'd need to check the stroke colour - I've just copied what is in osm-map-features-z17 as an example).
I think the name should already appear in the middle of the glacier, at least at zoom level 17, if this bit applies:
<rule e="way" k="natural" v="*" layer="5">
<areaText k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
<areaText k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
</rule>
It's at the start of the section headed <!-- Area captions -->
It may be the name doesn't appear at lower zoom levels. I think landuse= name values don't appear until z17, and I guess there has to be some level where the extra detail first appears. You may have small landuse= or natural= areas that aren't really big enough to warrant a caption until higher zoom levels. There might be a case for glaciers to have their name appear at z16, if you don't get small glaciers that is, but you'd need to add a special rule for them rather than just add the names of everything natural (as in the above example), assuming that they don't already appear at z16 that is.
Sorry if this is a bit of a ramble. I'm only just learning how this all seems to work myself. I had a quick look at the trac database to see what sort of things were listed and thought #1098 to render parking_aisle thinner than highway=service and only show them at z17 (or z18 which I'm not sure is currently relevant) looked an easy one to learn with (and while I realise that it is assigned to someone I thought it could do no harm to have a look and offer them a patch if I got anywhere). But... that means extra tests for lower zoom levels not to render them the same as highway=service (indeed not render them at all) as well as the new rule in z17 and the new definition, and it looks like there are both casing and core definitions which also vary depending on whether the way is in a tunnel or on a bridge, and perhaps more. Jiri's post from the beginning of October now makes more sense, and yes it is difficult for beginners to work out the stylesheets at first. I'm back to reading the wiki to see if that gives any additional hints.
Ed
More information about the Tilesathome
mailing list