
I have found some glitches with multipolygons however, but I dont know if it is related to the patch or an existing problem.
Right, my fix doesn't target multipolygons at all. I tried lakes in Finland, and I saw multipolygon breakage as expected, although some improvements too.
Ah ok,
Here is another smaller example:
This drain http://www.openstreetmap.org/browse/way/69701523 is part of a landuse=residential mp http://www.openstreetmap.org/browse/relation/1100932
If I render only waterways, not residential areas, it puts a drain around the whole mp.
Good catch! This has nothing to do with Steves patch. To save memory mkgmap loads only those tags that are referenced in the style file. You have: mp 1100932: landuse = residential way 69701523: waterway = drain way 69701491: waterway = drain way 68635609: <no tags> way 69701470: <no tags> If you have no rule with landuse but a rule with waterway mkgmap loads the following: mp 1100932: <no tag> way 69701523: waterway = drain way 69701491: waterway = drain way 68635609: <no tags> way 69701470: <no tags> The mp algorithm thinks that the mp is not tagged. So it collects the tags from the outer ways => waterway=drain (outer ways without tags are ignored here. I don't remember why - maybe this should be corrected). So you get a line around your residentail area tagged with waterway=drain. What can we do to avoid such a problem? For multipolygons the loader should not throw away any tag - no matter if it is used or not. Otherwise it is not possible for the mp algorithm to avoid such a problem for sure. The memory penalty should not be so bad because the number of multipolygons is not so big in each tile.
Even if I don't put waterways in my polygon style at all. So this might be a glitch in the mp processing too?
I assume you have rules in your lines file for waterways? WanMil