logo separator

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

From WanMil wmgcnfg at web.de on Sun Apr 18 20:35:34 BST 2010

> 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.
> WanMil

I have one other idea that might be useful:

If the relations are more useful for style writers than the line 
information the specialized multipolygon code could ensure that the 
boundary tagging is always and completely in the relation. Boundary 
information from the lines would be removed.

Relation 1:
mp: type=multipolyon, boundary=administrative
way 1: role=outer, boundary=administrative, admin_level=4, name=ABC 
region, ...
way 2: role=outer, boundary=administrative, admin_level=4, 
highway=residential, name=ABC region
way 3: role=inner, boundary=administrative, admin_level=4, name=ABC 
region, ...

After processing:
mp: type=multipolyon, boundary=administrative, admin_level=4, name=ABC 
way 1: ...
way 2: highway=residential
way 3: ...

Relation 2:
mp: type=multipolygon, boundary=administrative, admin_level=5, 
name=Other region
way 1: role=outer, boundary=administrative, admin_level=5, ...
way 2: role=outer, boundary=administrative, admin_level=5, 
highway=residential, name=Weaverstreet
way 3: boundary=administrative, ...

After processing:
mp: type=multipolygon, boundary=administrative, admin_level=5, 
name=Other region
way 1: ...
way 2: highway=residential, name=Weaverstreet
way 3: ...

So with other words:
Style implementors can alway rely on the relation information and need 
not to filter out boundary information from the lines.


More information about the mkgmap-dev mailing list