logo separator

[mkgmap-dev] splitter: relations to be checked with keep-complete=true

From WanMil wmgcnfg at web.de on Sun Dec 16 21:07:17 GMT 2012

>>> A relation with route=ferry should be handled, because there are some
>>> (many ?) ferry-routes are tagged as such a relation and member are empty
>>> ways.
>> Can you give an example of such a route and how you work with it in
>> mkgmap? Why must all parts of the relation be complete in a tile?
> This example has no empty way, but only a waterway=seaway and two
> route=ferry-relation
>
> http://www.openstreetmap.org/browse/way/124862398
>
> I'm using in relations-file:
> type=route & route=ferry { apply { set route=ferry ; set
> rrk_name='$(rrk_name),${name}' | '${name}' } }
>
> and in lines:
> route=ferry & name=* { set mkgmap:ferry=yes } [0x1b road_class=3
> road_speed=2 resolution 16]
> route=ferry & name!=* { set mkgmap:ferry=yes ; set name='${rrk_name}' }
> [0x1b road_class=3 road_speed=2 resolution 16]
>

You are copying tags from the relation to ways and the ways are 
converted as lines. That gives the need of complete ways but it doesn't 
matter if the relation is incomplete and some members not intersecting 
the tile bounding box are missing.

So I can add a third rule to make it more clear:
* subrelations: can be ignored by splitter
* relations: only relations with type multipolygon, restriction and 
through_route must be complete. boundary relations are ignored.
* member of relations: An element (way or a node) is part of a tile and 
the element belongs to a relation. This relation must also be put in the 
tile but the relation itself needn't be complete which means one or more 
members can be missing.

Agree?

WanMil


> There is one problem unsolved:
>
> If way is tagged with a name and rrk_name is different (e.g. second
> ferry or two relations etc.), then name is taken only from the way.
>
> Henning



More information about the mkgmap-dev mailing list