Also, from one of the talks on SOTM-EU 2014 [1], I learned that Mapnik, does not allow one to use a value from the database as color in the rendering.
[1] https://www.youtube.com/watch?v=850JJHQKp_s On Wed, Aug 20, 2014 at 6:07 PM, Peter Wendorff <[email protected]> wrote: > Okay, let me get a bit more verbose. > > I want to get Walmarts shown on the map in a different color. > Before there's a polygon with the following tags: > > shop=supermarket > building=yes > operator=WalMart > addr:street=whatever > addr:housenumber:42 > addr:city=YouLike > render=blue > > Another polygon is tagged > > shop=supermarket > building=yes > building:levels=2 > operator=WalMart > addr:street=another street > addr:city=some city > > Let's consider the usual rendering of the osm-carto (default mapnik) > stylesheet. > > without considering the render tag both buildings are drawn as buildings > (dark outlined polygon filled in slightly lighter gray) and a shopping > cart icon on top. > > Now let's consider the render-tag. > > Variant 1: just use it. You get an entirely inconsistent look, as I > myself wasn't interested in all WalMarts, but probably only those in one > particular town, so I only added the render tag to some objects. > Let two others add arbitrary, but different render ideas to other > objects and the map get's unusable as there's nothing like a map key any > more: all visuals on the map get more or less meaningless. > > Variant 2: Try to use the render tag, but in a consistent way. > In that case my stylesheet/renderer would have to figure out what is > meant by the render-tag. It may refer to supermarkets, to WalMarts, to > stuff in the whatever-street or in the city YouLike. Figuring out a rule > from that is incredibly hard and very error prone. > > Your last sentence might be the misunderstanding: > "As soon as rendering is defined for an element, it is used instead and > RENDER is normally ignored". > But even that is a tricky strategy. Let's stay at the WalMart-Example. > I want to have a special (!) rendering for WalMarts, so there is no > rendering defined for it before (as any rendering defined is a fallback > to a more generic case: supermarkets or even buildings). > It would therefore lead to cluttering map objects where it is not > necessary, or doesn't solve anything at all. Although it would break > down stylesheet innovation even more as you can render your very own > tags - as long as it isn't rendered on the map itself. > > Put the effort to add rendering for missing objects. This is harder to > achieve, yes; but it is the straightforward way, not a hack around, with > major drawbacks and side effects. > > regards > Peter > > Am 20.08.2014 um 14:46 schrieb André Pirard: > > On 2014-08-15 16:31, Peter Wendorff wrote : > >> not a good idea IMHO. > >> 1) what is the feature this tag should refer to? Consider a polygon that > >> is tagged as a building (building=yes) and a shop (shop=supermarked) and > >> a Walmart (operator=WalMart), and the mapper added RENDER=blue. What is > >> it that should be rendered blue? This object? Any supermarket? any > >> Walmart? > > I don't understand what you say very well. "added RENDER" to what? > > As I say RENDER would typically apply to "an area", to one object, not > > to "any". > > That is, you have building=yes + render=blue and that building gets blue. > > > >> Any building? How should any rendering decide if the default > >> rendering should be used or the one defined by the tag you propose? > > Did you read my sentence: > >>> As soon as rendering is defined for an element, it is used instead > >>> and RENDER is normally ignored. > > ? > > a.s.o. ... > > > > André. > > > > > >> 2) I want to get Walmarts shown on the map in a different color, thus > >> all Walmarts I want to see in the map get > >> > RENDER={mycolor-which-is-not-used-yet-in-the-zoomlevel-I'm-interested-in}. > >> Now the stylesheet maintainer uses that color for another object - > >> conflict, damn, fail. > >> 3) I want to get Walmarts rendered pink on osm-carto, green on HOT, > >> orange on the cyclemap - what should go to the render-tag (even if the > >> styles would follow your proposal? > >> > >> The only benefit I see in this proposal is just what you said: people > >> would stop tagging stuff just to get their map to display it the way > >> they want; but how do you ensure they don't tag stuff to be rendered > >> with the same style? How do you ensure the map stays usable? > >> > >> regards > >> Peter > >> > >> Am 15.08.2014 um 16:12 schrieb André Pirard: > >>> Hi, > >>> > >>> It's a well known fact that many people complain to tag in vain because > >>> what they tag doesn't show on the map (e.g. mini-golf vs tennis pitch), > >>> because they're told to open a rendering ticket which replies that only > >>> official tags are supported, and because they open a vote for an > >>> official tag and nobody signs. > >>> As a result they are accused of "tagging for the renderer" instead of > >>> 'being forced to tag for the renderer". > >>> > >>> The solution is simple however. A RENDER tag that, typically, would > >>> assign a color to an area. > >>> I'll let the rendering specialists define what else it can do. > >>> ⚠ ⚠ ⚠ RENDER only requests *by default* rendering. > >>> As soon as rendering is defined for an element, it is used instead and > >>> RENDER is normally ignored. > >>> > >>> For a better map, > >>> > >>> André. > >>> > > > > > > > > > > _______________________________________________ > > Tagging mailing list > > [email protected] > > https://lists.openstreetmap.org/listinfo/tagging > > > > > _______________________________________________ > Tagging mailing list > [email protected] > https://lists.openstreetmap.org/listinfo/tagging >
_______________________________________________ Tagging mailing list [email protected] https://lists.openstreetmap.org/listinfo/tagging
