[OSM-talk] Topology (was: OSM the mediocre alternative)
frederik at remote.org
Mon Apr 23 13:11:25 BST 2007
> I believe that topology for editing is best implemented in the
> rather than the server.
Can't say I believe in that. I am not quite sure if I understand your
points correctly so sorry if the following is stating the obvious.
In my eyes, data without topology is as people wrote paragraphs of
text in pre-wordprocessor days: It was just letters put on lines, and
there were carriage returns, and some of these were just there
because the line got to long, and others were there because a new
Such data does not contain information about paragraphs. Clients
working with such data can try to infer that information somehow
using heuristics, but it is never going to be 100%.
> * clients are topological. That is, they download data from the API,
> and that data is such that it is a topological mesh. By dragging
> points onto one another, they 'snap' into place: snapping being
> on the client side.
And then uploading it to the server as two points which just happen
to be at the same location? To me there's a world of difference
between two nodes that just happen to be at the same position and two
features connecting at the same node because it is (topo)logically
the same node.
For example, there's a railway line going over a bridge, and below it
is a river. The bridge is slightly curved, as is the river, prompting
me to insert a node in the river and one in the railway line to
"draw" them properly. I'd curse any editor that makes these two nodes
"snap" into place! (Totally different situation than with a level
crossing where such behaviour might be desirable.)
I can think of a million other examples where level (or z-axis if you
will) issues make it highly undesirable for anything to snap onto
something else, like roads running under another road for a stretch,
or even tunnels.
> (Note that although OSM is topological, it doesn't enforce this
> topology in any way... even JOSMlint doesn't seem to complain.)
OSM enforces next to nothing, which is often a bad thing and leads
people to do stupid things. Sometimes it is a good thing that gives
people the chance to implement a clever idea though.
Concerning topology, at least in the JOSM editor it works exactly
like I want it - if I, the almighty mapper, decide that the node in
the railway and the node in the road be different nodes, then I make
them different (albeit, perhaps, sharing the same point in 2D space),
and if I want them to be the same node, I make it so.
Maplint will complain if there are several nodes at the exact same
position, but this does not necessarily have to be an error.
> Perhaps the answer is 'it is too hard for clients to create topology
> from simple features' -- but why is that?
It is always hard to create something from nothing. If the
information isn't there, where should the editor get it from? Trying
to infer topology from simple features, in my eyes, is pure guesswork
and I will always be able to provide an example where it fails,
Frederik Ramm ## eMail frederik at remote.org ## N49°00.09' E008°23.33'
More information about the talk