On Fri, 2008-03-14 at 00:05 +0100, Frederik Ramm wrote: > Hi, > > I'm currently working on a Perl re-implementation of Osmarender. It > is already almost feature complete; I've made an early announcement on > the [EMAIL PROTECTED] list: > > http://lists.openstreetmap.org/pipermail/tilesathome/2008-March/001903.html > > While the program generally aims to be 100% compatible to the XSLT > implementation (using identical rule files), one thing I want to > change is the way polygons with holes are drawn. I want to switch from > the default evenodd rule (that relies on the directions of ways) to > the nonzero rule, and use it like so (pseudo code, omitting all the > filtering and layering stuff): > > for each way with area tagging > if way is member of multipoly relation > if role is "inner" > ignore way > else > combine way and all "inner" members of relation > generate drawing instruction for combined path > end > else > generate drawing instruction for simple path > end > end > > The tags that determine how the way is drawn would always be those of > the "outer" way. Those of the "inner" way(s) would be completely ignored, > unless they, in turn, were "outer" ways in another relation (or unless > a non-area rule would apply to them). Tags on the relation would be > ignored as well.
>From a pure design perspective the cleanest approach would be (IMO) to have the tags only on the relation. Otherwise there is always the possibility for ambiguity in cases where the tags on the outer ways differ. Yes this is an error, but one which is bound to occur occasionally. It also enables other use cases like re-using a way along a border between 2 country polygons. >From the Mapnik(osm2pgsql) perspective, having the tags on the outer ways makes it easier for the code to identify that these may be part of a multipolygon. Jon _______________________________________________ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev