[OSM-talk] Topology (was: OSM the mediocre alternative)

Frederik Ramm frederik at remote.org
Mon Apr 23 13:11:25 BST 2007


Hi,

> I believe that topology for editing is best implemented in the  
> *clients*,
> 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  
paragraph started.

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  
> done
>    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,  
blatantly.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00.09' E008°23.33'






More information about the talk mailing list