[josm-dev] Problem with large changeset
Sebastian Klein
bastikln at googlemail.com
Tue Jul 6 09:16:21 BST 2010
Alan Mintz wrote:
> If I bring up the history dialog for this node, it says that v2 was
> edited in changeset 3504242, agreeing with the OSM file, but that it's
> coordinates were 33.80988, -117.40063. It says that v3 was edited in
> changeset 5131096 (the one in question) and the coordinates are
> 33.809994 -117.40062 (which is the rounded version of those above). This
> dialog should really show more decimal places.
Probably this is what happened: You downloaded v2 of the node, then
changed its position/tags. Then it was uploaded successfully, but the
final server response got lost somehow. This final answer includes the
new version, timestamp, uid, ... of the changed objects. If you abort
the upload process (or load the saved file from before the upload), JOSM
does not know, it is already on the server and sticks to the old info.
(If you abort upload before the last byte was sent, the sever will roll
back the entire change, obviously the last byte had already been send in
your case.)
The update of the data using the server response from the upload is
relatively straight forward. However if that answer got lost, best you
can do is download that area again to another file and compare. (As I
said it is all or nothing!) Another option is 'update' which does a
semantic comparison and tries to match your objects with the ones on the
server. If the object from update is not semantically equal to your
local copy of the object and that object has a lower version number
*and* is modified, it produces a conflict. It seems there is a problem
with rounding/precision somewhere so it produced a bogus conflict. (But
you said something about way conflicts, have you analysed these as well?)
All this is only true if you upload in a single request. In chunked
mode, this applies for each chunk separately. If you have a problem in a
later chunk, it is usually a good idea to save the file anyway because
JOSM has already processed the server responses from the successful
chunks and remembers what has been uploaded so far.
Sebastian
>
> So, it seems that in this case, my local OSM file has the correct
> coordinates of the node for v3, but the wrong timestamp, uid, user,
> version, and changeset. It seems that, when retrieving the node for
> conflict resolution, the longitude (but not latitude) is getting rounded
> to 6 decimal places (instead of 7), which then fails the comparison with
> the local value. I don't know if this is the sole cause of its
> appearance in the conflict list, or if this is because the local version
> number was not updated with the new one after the upload.
>
> If I retrieve all of these nodes and then compare the coordinates with
> my local file, I should be able to confirm that they were correctly
> uploaded. I'll look at the ways after that.
More information about the josm-dev
mailing list