[Tagging] Superroutes - good, bad or ugly?
kevin.b.kenny at gmail.com
Wed Mar 13 16:41:29 UTC 2019
On Wed, Mar 13, 2019 at 11:03 AM Peter Elderson <pelderson at gmail.com> wrote:
> I can't answer the question for busrelations.
(neither can I)
> For long hiking routes and walking node networks, relations containing relations are very important.
> Without those, maintenance of long hiking routes becomes a p.i.t.b, sometimes near impossible.
Exactly. What is 'long' kind of varies. When I mapped
https://www.openstreetmap.org/relation/4286650, I used a single
relation, because there were relatively few member ways and very few
natural points to break it into pieces.
For the work in progress,
https://www.openstreetmap.org/relation/919642, I found that trying to
maintain a single relation was totally unmanageable. In fact, I
tripped over a bug (since fixed) in JOSM with handling a relation that
big, and had to switch to Meerkartor while breaking it up. I decided
that the most natural break was on county lines, although I didn't
trouble with separating off the tiny segment that is on the streets of
Manhattan (New York County). That worked out well, and Waymarked
Trails is happy with it. (The remaining gaps have nothing to do with
tagging. I simply haven't mapped them yet, and won't until the weather
improves. I dislike mapping on snowshoes, because too often I discover
that the snowshoe track doesn't follow the actual treadway.)
> Rendering can be done without superroutes, just by rendering each piece separately. But datausers need to resolve the hierarchy. Waymarkedtrails does that nicely for long recreational routes: Just replace every member relation with its content, recursively. Works nicely- if it's only ways in the lowest level relations.
Most renderers and routers work that way, because that's how osm2pgsql
works. In fact, there is no non-deprecated way to access relation
information at the time of routing or rendering, if you use osm2pgsql;
all relations have been reduced to single ways and/or multipolygons.
(That's why I'm planning to investigate using imposm3 for my own
experimental stuff on route concurrences - I find myself needing the
route relations after osm2pgsql has thrown them away.)
More information about the Tagging