logo separator

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

From WanMil wmgcnfg at web.de on Sun May 2 15:24:07 BST 2010

> On 02.05.2010 15:08, WanMil wrote:
>>> 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?
>>> 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...
>> Felix,
>> I tried to understand what the patch does. I compiled a map with the
>> default style but the changed code section was never called. So I
>> suppose I am missing some style rules that trigger the patch.
>> Can you send me your style file so that I can try to understand the
>> patch and maybe extract the good parts of it so that we might commit it?
>> WanMil
> You can now directly use [0x?? road_speed=? .... resolution ??] from the
> relations file. Hence if there are several boundaries on the same line
> (as relations) you will be able to map them all. Without the patch you
> first have to "apply" (intermediary) keys.
> This means you have to put a copy of the boundary rules from the lines
> file to the relations file, of course if you don't do this, the patch
> has no effect.

Can you please send me your style file? (I am not a style guru and it 
would take some hours until I have set it up correctly)

More information about the mkgmap-dev mailing list