[OSM-dev] 0.6 API clarifications and corrections

Christopher Schmidt crschmidt at metacarta.com
Thu May 15 11:45:50 BST 2008

On Thu, May 15, 2008 at 09:10:42AM +0200, Martijn van Oosterhout wrote:
> On Thu, May 15, 2008 at 7:28 AM, bvh <bvh-osm at irule.be> wrote:
> > Well the changeset_id is certainly bogus when you save it to disk no?
> > What would you put in it? Scenario : I am somewhere in the woods with
> > JOSM/merkaartor on a laptop charting new territory without internet.
> > Now I want to save my work to a file so I can later upload it.
> > What would we save in the changeset_id?
> Leave it out, obviously. Say I do a map call for an area, currently
> you get for example the user_id, soon you will get the changeset ID.

Really? The Wiki definitely doesn't make that clear: in fact, it almost
explicitly disagrees with that:

Node/way/relation objects will return the current version id and user id
(uid) in addition to everything else, e.g.
 <way id="1234" user="fred" uid="123" timestamp="..." version="4">

There is a comment in the database section explaining that the
user_id column will change to be the changeset_id column *in the
database*, but no mention of the XML changing in that way, so if that
was the expectation, someone should change the wiki page so that I can
implement it :)  

> So in JOSM if you see a way changed, you will be able to ask "which
> other things were changed at the same time?".

Ah, I see now. I think that this changeset identifier is *not* the one
you want to reupload though, so the fact that it is stored on the
individual objects, and the 'new' changeset is stored on the <osm> tag,
actually makes perfect sense: when you download, you get a copy of the
last changeset, when you upload, you're sticking things into a new

> This information should be saved if I save the data to disk and load
> it up later. It isn't necessary for uploading though. If you download
> an area in general every object will have a different changeset id so
> you can't stick it in the header...

Right, so downloads put it in <node>, uploads put it in <osm>, and we're
all happy. 

Christopher Schmidt

More information about the dev mailing list