logo separator

[mkgmap-dev] [PATCH v1] Handling of boundary multipolygons

From WanMil wmgcnfg at web.de on Sun Apr 18 20:16:59 BST 2010

> On 17.04.2010 20:00, WanMil wrote:
>>> I am thinking about how to handle boundary multipolygons and want get
>>> some feedback and ideas from you.
>>> There are two possible ways to use boundary information:
>>> 1. Draw the boundaries as lines
>>> 2. Draw the boundaries as polygons with different colours for different
>>> administrative levels
>>> I think the 2nd option cannot be realized (at the moment). I see no way
>>> how to define a style that differently colours adjoining polygons with
>>> rather identical tags (e.g. boundary=adminstrative, admin_level=2).
>>> So let's concentrate on the 1st option.
>>> One way may be part of different boundary relations. (admin_level=2&&
>>> admin_level=3&& admin_level=4 ....). To be able to process all of them
>>> with the style system the way must be duplicated for each relation.
>>> The multipolygon handling of boundaries might work as follows:
>>> For all ways (role=outer and inner) part of the boundary relation
>>> - Clone the original way
>>> - Tag the cloned way with the boundary information of the mp
>>> - Remove all tags from the original way that are also contained in the
>>> mp (with the same value)
>>> - Split all closed ways (polygons) in two ways to ensure that only ways
>>> are tagged with the boundary information
>>> What do you think? If no one really complains I will start implementing
>>> this (and expect that it will be accepted when I am ready :-).
>>> In case other multipolygon type also require such a processing we might
>>> add a config file in future which types are handled in this way. So this
>>> is ready to be more generic.
>>> WanMil
>> Why talking so long? Implementation was quite easy so please try this
>> patch and post what you think about this patch.
>> I will post v2 with some more comments in the source code if it should
>> be committed.
>> WanMil
> Hallo WanMil
> Well I do think the patch is working as supposed. However that is not
> really what I find useful. Now on country boundaries there are sometimes
> 10 boundaries on top of each other - is this what you want to achieve?

Hi Felix,
yes that's exactly what the patch does and should do. Up to now the 
boundary information is available at many different places. For some 
boundaries the tags are in the relation. For some the tags are in the 
relation and some lines are additionally (and iconsistently) tagged with 
the boundary information. Other relations are not tagged and get their 
tags from the outer ways. And in all situations some ways contain other 
tags like highway=residential and so on. From my point of view the 
situation is quite chaotic.

The patch standardizes the above situation in the way that for each 
boundary a line is created with the boundary tags and these tags are 
removed from the source lines. So in the end I get distinct lines for 
each boundary. As you have observed this results in overlapping lines if 
you have multiple boundaries (which is usual).

So far so good. That's a good base to discuss what is really needed by 
you and other style implementors. My knowledge of the style system is 
quite basic so I don't know what's useful. But I am quite sure that's 
not the chaotic situation described above.


> I'ld much rather have only the boundary with the highest admin level -
> and have taken quite a bit of code into the style-file to make sure ONLY
> the boundary with the lowest admin_level is put inside the map. Your
> patch makes my style-file useless.
> I don't really understand what this patch is trying to achieve. There is
> a patch by Thilo Hanneman (I'm attaching it for you) that makes it
> possible to directly render relations from the relations file, I think
> that is more useful - or don't I understand something here that you
> intend to achieve???
> BTW - I'ld much rather have a patch that disables sea, if there are more
> than 500 highway=residential inside the sea polygone, or something
> similar to detect that nothing is flooding. Just day before yesterdays
> alp extract from Geofabrik had one tile inside flooded, and there is the
> dreaded flooding inside Germany as allways (well this one due to
> geofabrik cutting). Maybe you could write a patch for that problem. I
> get tons of comments on my website about sea flooding, no matter in how
> many places I write that this is not solvable and any comment regarding
> sea flooding will get into the trashbin...

More information about the mkgmap-dev mailing list