From my viewpoint, a US crash is "On OK 165 northbound at Chandler
Road." Currently it looks (from the OK spreadsheet and from my own
impressions elsewhere) as if state road relations are still too far
from completion for use this year in operational public information
systems. And on named, un-numbered urban arterials, no-one has even
started to talk of creating route relations. Our OSM import
algorithms will need to find all the OK 165 ways (or 44th Street,
Phoenix ways) and assemble them automatically in an upstream to
downstream order. We'd have to do that anyway in Europe and the rest
of the world where no highway route relations exist, so it's
probably the way we should go here in the Americas. Does anyone
know if the Europeans (of which I'm one, oops) have any plans to
create route relations? I have found none while in UK, NL, D, A,
CH, I and F this past two weeks, but perhaps I didn't look hard
enough.
Except for Interstates/freeways/highways, such "middle tier" road
route relations seem like a sort of data structure that OSM neither
has nor needs, but instead, you (and your business) need. (I make no
value judgement on the benefit of an "operational public information
system" and I welcome the possibility that OSM might provide data
input for them, but, to wit, discussions to get there are notably
difficult). OSM DOES have route relations, and this topic started on
how those might be "better ordered." WHY they might be better
ordered has yet to be answered (I only speculate that further
downstream algorithms might prefer data which are better ordered than
more poorly ordered). But it does appear that ordering of elements
in relations is a large topic that has large implications if done vs.
not done. There appear to be reasons to do so, there appear to be at
least the "manual" (human, think-about-it) way and the JOSM-automatic
way (which I'm unfamiliar with).
It may be possible for my proposed OSM importer to generate
automated OSM relations as an output from that "downstream sorting"
process, but perhaps that would spoil a lot of mappers' fun at
weekends and evenings? We could also create automated relations for
other countries, I suppose, but I'm not sure whether or not we
should. I'd like to hear thoughts on this. We are still some
months (or longer) away from reaching this capability, by the way,
and don't even need to go there if you all hate the idea. We could
just ignore OSM route relations and effectively create our own,
internally, as we currently would have to in the other 80% of the
world. Our relations would be ordered lists of ways, single track,
with no branches or loops, in linear reference order. Does anyone
want them (or not want them) exported back to OSM?
I don't hate the idea, I like it, but of course I'd like to "play
with it" when it is more ready. I would want to better understand
why a particular order was chosen over others, see if routing
algorithms (a VERY common use for geographic data) are more efficient
with one vs. another style of ordering, etc.
Steve, you talk about manual v. automated sequencing of relations.
I've experimented with JOSM ordering, most recently yesterday on
Paul's Muskogee Turpike in OK, and previously in other states. The
sequencing that emerges has not been particularly easy to
understand. Sometimes a tiny branch way has been (in my view,
wrongly) labelled with the state route ref, and the JOSM algorithm
picks it as the start point for the whole route For me, a better
algorithm would probably begin with the most southerly or easterly
unconnected way and build a series of linked collections of ways
sorted by typical US milepoint positive direction, S to N or E to W.
Anyway as long as mappers can adopt any order they like for ways in
relations, my OSM importer will have to make its own sort decisions
to get the ways in topological (linear reference) sequence from end
to end. Would you support rules or guidelines for preferred
sequencing of way members of relations? What do we do with breaks,
branches, loops, alternating single and dual carriageways, etc,
etc.? My starting suggestion is that we use a sequence based on
increasing linear references from 0.0 to the top end of the road,
but that rule alone would not solve every situation.
Peter, this doesn't initially offend or seem like a bad choice,
though it does certainly grease the skids for your purposes. There
isn't anything wrong with that FOR YOU, but I believe it is incumbent
upon us (OSM, as a project) to consider this in the longer term and
wider application. It seems a difficult problem, there appear to be
multiple solutions where one solution for a particular application is
better than another, and it is difficult to strictly enforce "less
pure data" getting written into OSM at the end of the day. Plus,
what we mean by "pure" or "preferred" or whatever is far, far from
specific right now.
Paul, you don't like directional roles on the member ways of route
relations, and I think your solution is to create three relations
per route. I would call these directions positive (increasing
linear reference, corresponding loosely with increasing milepoints),
negative (the reverse) and both directions (the parent). We would
post the cardinal directions using tags for each whole directional
relation. However where the Muskogee Turnpike turns from E-W to S-N,
or has some even more complex deal such as E +ve and N -ve, the
3-relation method will fail. We could further extend it by breaking
the relations at the turns (strictly, at the directional posting
changes), having maybe nine relations for a complete rectangular
beltway (2 on each of the N, S, W, and E sides, plus a parent) but
Martijn and Kristen Kam have wanted to avoid relation proliferation.
This is why Martijn's firm (and OSM mappers) have adopted a hybrid
system, as I understand it, using posted directions on roles for
complex routes, and posted directions on directional relations for
simple Interstates like I 5.
Volker told me that the public transit folks in Italy have come to
the inescapable conclusion that at least two relations are required
for each bus/tram/train route: the "inbound" and the "outbound." I
concur, as if you try to capture this semantic on a single route, but
with syrup-y syntax, like inbound_stop and outbound_stop, you're
still identifying two entities (inbound and outbound), you're just
putting it into the syntax with some sugar. These distinctions
between syntax and semantics are often quite difficult as OSM evolves
around the world: we have SOME good solutions, we have SOME bad
compromises, we have SOME right-on-target. I, too, don't wish to see
"needless" proliferation of relations, but instead wish to achieve a
logical/mathematical "sweet spot" of the perfect harmony of syntax
(data structure, tagging) and semantics (what we mean to
convey/represent in the real world BY the data structure/tagging).
This has proven difficult, especially with the exceedingly rich
semantic entities in the whole world and in many countries with
differing laws and such. OSM's free-form tagging allows us to go in
an infinity of directions, so imposing structure upon this
(especially after-the-fact of creating massive data) is necessarily
tangled up with the struggle between legacy-of-the-old vs.
designing-for-the-new.
Right now I don't think Talk-us has been able to solve the
directional roles issue. I guess we are left with a hybrid
situation where some routes have directional roles on member ways,
while others have direction tagged for the whole directional
relation. If there is no consensus about how to sort the order of
relations, and vastly more manual work to do to create them all,
perhaps we should just auto-create separate relations for every
route in both directions, with separate directional relations
whenever the route turns from N-S to E-W? At least then everyone
agrees about the sequence of members in the relation; you start at
the beginning and end at the end in the direction of traffic
movement. If there are breaks, where the route does not exist, the
relation can span over them and they will show up in JOSM's relation
editor by a little gap in the wiggly line. It seems like using a
sledgehammer to crack a nut, but it may be easier to automate and
check than more elaborate schemes that use complex directional roles
on the member ways of alternating single/dual carriageway routes.
There are multiple solutions, some better than others for particular
purposes. That previous sentence is "a better" way (maybe not "the
best") that I am able to respond to that right now.
Whew! So I guess I'm asking, shall we just give up on consensus
building and see what happens by natural selection?
I wish I could say definitively what is "best." I am trying to
listen, as it appears many of us are doing, but it just swirls and
swirls, without seeming like it is achieving escape velocity to an
ultimate solution. Yes, there will always be a process of natural
selection going on with OSM data. Yes, it can be (IS!) difficult to
achieve consensus, especially when "the math" (or "geometric logic")
is complex and there are multiple possible solutions, some of which
are "sweeter" for one application vs. another. I don't mean to sound
like I'm simply wringing my hands in frustration, but I'm not sure
what is next here. These are difficulties, and talk-us is a fairly
thin pipe in which we communicate about them (though it's not
impossible to do this here).
SteveA
California
On Sun, Jan 12, 2014 at 1:21 AM, stevea
<<mailto:stevea...@softworkers.com>stevea...@softworkers.com> wrote:
A sidelong topic to "separate relations."
Volker and I just shared some email about how he uses JOSM
automation to order relation elements, whereas I make some effort to
"smarten them up." This includes getting more, rather than fewer
"route is ordered" messages from JOSM's relation editor's hover
text. It also includes "putting the list into a smaller sized set
of well-ordered sub-routes" as a strategy. (On my part, when I am
manually re-ordering relation elements, especially when the route
has branches and/or loops).
My argument is that "downstream algorithms" (whether by human effort
or software robot) are often going to try to smarten up this route
relation to a single path (or a subset of that, like sorting
algorithms do with subsets of sorted lists).
Fascinating, no? Does "smartening up" a data structure like "closer
to a single path" (or close via many sorted sub-paths) tend towards
coding for the renderer? Or downstream software routing algorithms?
Is there anything wrong with trying to write neat, better-organized
data? If we can, why wouldn't we? (Cost of time/effort, perhaps).
But even if only entities during the "while" can use it, and even if
the relation in the meantime is essentially ephemeral?
Conversations like these help us hone in on a certain truth, or at
least efficiency, yes? In short, shouldn't we try to write neat
data (if it isn't much extra effort)? How can we get a nice "Pow!"
for that buck?
We use shared data, after all. The data I write today get used
tomorrow, even though they might not next week. But they might get
used smartly (with less effort, quicker...) if I invest a bit of
smarts right now. Maybe that is automation (JOSM plug-in, bot, DWG
consensus...) maybe that is a bit of human manual effort where it
might make a difference. Where does it make a difference? OSM can
be a deep place sometimes.
A lot of the conversations here are an attempt at agreement among
structure and tagging. Good for us.
SteveA
California
_______________________________________________
Talk-us mailing list
<mailto:Talk-us@openstreetmap.org>Talk-us@openstreetmap.org
<https://lists.openstreetmap.org/listinfo/talk-us>https://lists.openstreetmap.org/listinfo/talk-us
_______________________________________________
Talk-us mailing list
Talk-us@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-us