
Hi Andrzej, The apply tells mkgmap to add the tag area=yes to the members, and I think that's what you want. Note that the members of the mp-relation are not the members of the original OSM relation, they are the artifical ways. You are right, it turned out that MultiPolygonRelation creates 4 different ways for relation 4764899. Three have the tag mkgmap:stylefilter=polygon and are only passed through the polygons rules, one is passed through the lines rules, it has the tag mkgmap:stylefilter=polyline: 4611686018427387907 (4764899) - [highway=footway,mkgmap:stylefilter=polygon,mkgmap:cache_area_size=481.705810546875,mkgmap:mp_created=true] polygons 4611686018427387908 (4764899) - [highway=footway,mkgmap:stylefilter=polygon,mkgmap:cache_area_size=481.705810546875,mkgmap:mp_created=true] polygons 4611686018427387909 (4764899) - [highway=footway,mkgmap:stylefilter=polygon,mkgmap:cache_area_size=481.705810546875,mkgmap:mp_created=true] polygons 4611686018427387910 (4764899) - [mkgmap:stylefilter=polyline,highway=footway,mkgmap:mp_created=true] lines The comment for the last one : // Go through all original outer ways, create a copy, tag them // with the mp tags and mark them only to be used for polyline processing // This enables the style file to decide if the polygon information or // the simple line information should be used. I don't know why this is done, but it seems to be needed for something. The code for this was added with r1694, long before I started to look at mkgmap. Reg. highway=* and area=yes: I've also noticed that the default style ignores some combinations. Please post a patch. Gerd Date: Sat, 9 May 2015 15:06:59 +0200 From: popej@poczta.onet.pl To: mkgmap-dev@lists.mkgmap.org.uk Subject: Re: [mkgmap-dev] problem with highways as multipolygons Hi Gerd,
I agree that it looks strange, but it works when you use apply like this: type=multipolygon & highway=* { apply { set area=yes; } }
As I understand "apply" deals with relation's members, which aren't highways at all. I have already tried "apply" but this is simply wrong approach.
You may also ask for mkgmap:mp_created=true in the rules.
Does it mean that polyline is created form multipolygon and nothing else? I get about 600 objects in Poland which I would delete using this rule. All looks like good candidates for removal. And probably I should use complimentary rule in "polygons" file, to get proper support for these objects. Looks good for temporary solution.
I can't reproduce that the lines rules are applied, with my test file that contains the complete relation only the polygon rules are used. I assume your input file contains only a part of the relation?
See attached file with single relation. I get highway=footway as polyline. Here result of echotags: relation with added "area=yes" in style: 4764899 - [highway=footway,area=yes,type=multipolygon] highway in "lines" 4611686018427387910 (4764899) - [highway=footway,mkgmap:mp_created=true,mkgmap:stylefilter=polyline] Maybe you could create a new relation in MultiPolygonRelation.processElements()? Relation could include all tags form original relation and new polylines as members. This would allow for some processing in style. Note: default style deals with "highway=pedestrian & area=yes", but ignore "area" tag for most other types of highway. I think at least footway and stairs should be checked for "area". -- Best regards, Andrzej _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev