[OSM-dev] RFC: map call to return deleted elements

Stefan de Konink stefan at konink.de
Sat May 23 18:40:12 BST 2009

Matt Amos wrote:
> On Sat, May 23, 2009 at 3:15 PM, Stefan de Konink <stefan at konink.de> wrote:
>> Frederik Ramm wrote:
>>> It would probably be (a) difficult and (b) undesirable to return, along
>>> with a deleted way, the versions of nodes that were in force at the time the
>>> way was deleted. Remember we're not talking about a "time machine" function
>>> here (which would also be interesting, but entirely different).
>> This 'timemachine' feature is actually on my todo list, because I expect it
>> could really very useful for generating animations from OpenStreetMap.
> it would be a very interesting API to have, but my plans weren't that ambitious!

It is basically that /that/ database, actually never deletes anything, 
because it is too costly speed wise. Under the hood where I am slowly 
crawling now it would be trivial to add a column with a change 
timestamp. That was also the reason I didn't implement versioning in the 
C API... versioning is required for the broader mass (just to see who 
changed what when) but maintaining changesets, even in files, can just 
do that.

Having a timemachine on the geometry tables (and if I try harder on the 
meta information) would just be enough for anyone that wants to see 
'real' history.

> this "deleted map" call is supposed to be to help editors better
> support pre-upload updating and undeletion, both of which are
> short-term things. rewinding through the history would be possible,
> but more difficult than the "time machine" feature, by getting the
> history of each element involved. i leave this as an exercise for the
> client ;-)

I thing the api call is something that we definitely need to prevent 
conditions we don't want to be into. The point is again, do you want to 
push the decision making to the client or do it for it. If you want to 
give editors more knowledge, it is feasible, but it might be a good 
thing to actually make a flowchart or sequence diagram how an actual 
edit works. (for bots, smaller clients, trying to show the wheel 
invention ;)


More information about the dev mailing list