Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

consecutive identical nodes in way #1296

Closed
o5k6 opened this issue Apr 11, 2013 · 41 comments
Closed

consecutive identical nodes in way #1296

o5k6 opened this issue Apr 11, 2013 · 41 comments
Assignees
Labels
bug A bug - let's fix this!

Comments

@o5k6
Copy link

o5k6 commented Apr 11, 2013

Please make sure not to create ways containing multiple consecutive references to the same node (e.g. A-B-B-C).

Simple solution: before uploading, iterate through the each way's list of nodes and discard those which are identical to their immediate predecessor. However, such a situation should not even arise in the first place, so something is rotten elsewhere in the code if such a way is found.

Proof that the issue is not hypothetical:

http://www.openstreetmap.org/browse/way/216250602 v1 2013-04-07 iD 0.0.0-beta1
http://www.openstreetmap.org/browse/way/207430096 v1 2013-02-27 iD 0.0.0-alpha2
http://www.openstreetmap.org/browse/way/207323200 v1 2013-02-26 iD 0.0.0-alpha2
http://www.openstreetmap.org/browse/way/181500153 v5 2013-03-11 iD 0.0.0-alpha2
http://www.openstreetmap.org/browse/way/178471693 v2 2013-04-08 iD 0.0.0-beta1
http://www.openstreetmap.org/browse/way/44173536 v8 2013-04-05 iD 0.0.0-beta1

@jfirebaugh
Copy link
Member

Duplicate of #1249.

@o5k6
Copy link
Author

o5k6 commented Apr 11, 2013

Thank you for reading so carefully. This is not a duplicate of #1249.

Unlike the examples linked from #1249, the ways linked above do reference one node several times in a row, and the commit from #1249 does not address this issue.

But never mind, there are robots around to clean up such garbage.

@jfirebaugh
Copy link
Member

Whoops, sorry, indeed I read too fast.

@jfirebaugh jfirebaugh reopened this Apr 11, 2013
@simonpoole
Copy link
Contributor

The bug is easily reproducible for at least one method of creating such data: see http://api06.dev.openstreetmap.org/browse/way/4295031661

Start drawing an area, double back on one node, like this: http://api06.dev.openstreetmap.org/browse/way/4295031665
then remove the node on the appendix (I just fixed the "same" issue in vespucci).

A further way of reproducing the issue is to merge two overlapping ways and remove the last common node.

@jfirebaugh
Copy link
Member

Thanks @simonpoole. The first scenario you mentioned should be fixed (you can test on http://www.openstreetmap.us/iD/master/).

Can you elaborate on "merge two overlapping ways and remove the last common node"? Do you mean:

  • Way A: nodes (a, b, c)
  • Way B: nodes (c, b, d)
  • Join A & B, delete c
  • Result should be (a, b, d), not (a, b, b, d)

That would be a special case of the first scenario.

@simonpoole
Copy link
Contributor

The root cause is the same (deleting a node between two identical ones), the only difference is the route to creating the same situation (without using the area drawing function).

@jfirebaugh
Copy link
Member

We've fixed the only known cause of this in the master version. If you see any changesets with consecutive duplicate nodes, any they were created by an iD that is later than beta1, please flag it here. (The master version will tag changesets with the git short hash, like here.)

@o5k6
Copy link
Author

o5k6 commented Apr 26, 2013

Thank you.
On my crusade of nagging editor authors to fix their bugs, I'll keep monitoring the creation of broken ways anyway, and I will now also look out for any iD other than 0.0.0-beta1 in the results of my blame-o-mat, which are available at http://toolserver.org/~mapjedi/blame.txt .

@o5k6
Copy link
Author

o5k6 commented May 8, 2013

Problem persists.
way 216663362 v2 2013-05-07T18:25:37Z 16016314 iD 1.0.0 leberwurstsaft
way 169048085 v2 2013-05-07T20:44:56Z 16019024 iD 1.0.0 mrplumbersa
way 79142985 v16 2013-05-07T20:44:55Z 16019024 iD 1.0.0 mrplumbersa
way 47478885 v3 2013-05-07T18:25:39Z 16016314 iD 1.0.0 leberwurstsaft
way 46135774 v3 2013-05-07T18:25:38Z 16016314 iD 1.0.0 leberwurstsaft
way 31133926 v16 2013-05-07T18:25:39Z 16016314 iD 1.0.0 leberwurstsaft
way 25337379 v5 2013-05-07T18:25:38Z 16016314 iD 1.0.0 leberwurstsaft
way 4431805 v8 2013-05-07T18:25:38Z 16016314 iD 1.0.0 leberwurstsaft

@jfirebaugh jfirebaugh reopened this May 8, 2013
@ghost ghost assigned jfirebaugh May 8, 2013
@jfirebaugh
Copy link
Member

This changeset is going to be the easier one to try to debug, as it's fairly small and hasn't been reverted.

It contains new versions of this landuse=retail with duplicate nodes here and here, and Leon Creek Greenway with duplicate node here.

@jfirebaugh
Copy link
Member

Here the way diffs:

--- v1.xml  2013-05-08 14:18:37.000000000 -0700
+++ v2.xml  2013-05-08 14:18:45.000000000 -0700
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <osm version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
-  <way id="169048085" visible="true" timestamp="2012-06-25T21:52:03Z" version="1" changeset="12017011" user="homeslice60148" uid="365944">
+  <way id="169048085" visible="true" timestamp="2013-05-07T20:44:56Z" version="2" changeset="16019024" user="mrplumbersa" uid="1425833">
     <nd ref="1802214455"/>
     <nd ref="1543823877"/>
     <nd ref="1802214456"/>
-    <nd ref="1802214528"/>
-    <nd ref="1802214500"/>
+    <nd ref="1802214456"/>
+    <nd ref="1802214577"/>
+    <nd ref="1802214577"/>
     <nd ref="1802214577"/>
-    <nd ref="924673491"/>
     <nd ref="924673492"/>
     <nd ref="1802214455"/>
     <tag k="landuse" v="retail"/>
--- v15.xml 2013-05-08 13:53:34.000000000 -0700
+++ v16.xml 2013-05-08 13:52:48.000000000 -0700
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <osm version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
-  <way id="79142985" visible="true" timestamp="2013-02-07T03:32:05Z" version="15" changeset="14940933" user="homeslice60148" uid="365944">
+  <way id="79142985" visible="true" timestamp="2013-05-07T20:44:55Z" version="16" changeset="16019024" user="mrplumbersa" uid="1425833">
     <nd ref="924673435"/>
     <nd ref="924673437"/>
     <nd ref="1184780653"/>
@@ -40,9 +40,9 @@
     <nd ref="924673490"/>
     <nd ref="1802214477"/>
     <nd ref="1802214507"/>
-    <nd ref="1802214410"/>
     <nd ref="1802214401"/>
-    <nd ref="924673491"/>
+    <nd ref="1802214401"/>
+    <nd ref="1802214577"/>
     <nd ref="924673492"/>
     <nd ref="1802214439"/>
     <nd ref="924673494"/>

@jfirebaugh
Copy link
Member

Here's a visual thanks to the JOSM Reverter plugin:

image

Colored is old version, gray is new version. The nodes with arrows were moved/duplicated, the circled nodes were deleted.

@jfirebaugh
Copy link
Member

I would really like to know what mrplumbersa did in that edit session. I tried a number of things and couldn't get any duplicate nodes. I suspected connecting via dragging a vertex onto another vertex, but there's a bug in 1.0.0 that prevents dragging a vertex that's shared by two ways onto another vertex, which limits the possible drag operations that could have been done with the nodes in question.

@o5k6
Copy link
Author

o5k6 commented Aug 12, 2013

A lot more broken ways are created since iD 1.1.1 has been deployed.

way 232404554 v1 2013-08-05T06:19:00Z 17223343 iD 1.0.1 maa83
way 231049677 v2 2013-08-05T19:23:18Z 17232196 iD 1.0.1 viverosdelvalle
way 231049113 v2 2013-08-05T19:23:18Z 17232196 iD 1.0.1 viverosdelvalle

way 232574451 v1 2013-08-06T19:31:05Z 17245869 iD 1.0.1 Maarfuchs
way 232516165 v1 2013-08-06T08:58:23Z 17238382 iD 1.0.1 DimerG
way 232502759 v1 2013-08-06T06:47:12Z 17237045 iD 1.1.0rc1 Mápica

way 192382267 v5 2013-08-07T17:19:11Z 17256593 iD 172898b Xavier fung
way 192382266 v7 2013-08-07T17:19:11Z 17256593 iD 172898b Xavier fung

way 232722947 v1 2013-08-08T02:27:04Z 17261465 iD 1.0.1 jejoenje
way 232722946 v1 2013-08-08T02:27:04Z 17261465 iD 1.0.1 jejoenje
way 132936506 v3 2013-08-08T18:17:44Z 17270296 iD 1.0.1 egore911
way 65643462 v18 2013-08-08T18:17:44Z 17270296 iD 1.0.1 egore911

way 121310621 v3 2013-08-09T08:45:12Z 17276070 iD 1.0.1 vaggelas
way 88476912 v8 2013-08-09T15:07:20Z 17280385 iD 1.0.1 alien bulldog

way 233036806 v1 2013-08-10T18:54:59Z 17294905 iD 1.1.1 witek1936
way 233032736 v1 2013-08-10T18:09:36Z 17294360 iD 1.1.1 witek1936
way 233025314 v1 2013-08-10T17:09:12Z 17293573 iD 1.1.1 leslymc4
way 233023952 v2 2013-08-10T16:58:20Z 17293442 iD 1.1.1 witek1936
way 233006515 v2 2013-08-10T19:41:05Z 17295408 iD 1.1.1 witek1936
way 233005781 v3 2013-08-10T18:54:59Z 17294905 iD 1.1.1 witek1936
way 233003561 v2 2013-08-10T14:56:15Z 17292070 iD 1.1.1 karambolek
way 232984858 v1 2013-08-10T13:02:50Z 17290912 iD 1.1.1 DavidJDBA
way 230440925 v2 2013-08-10T13:50:29Z 17291375 iD 1.1.1 karambolek
way 224610123 v4 2013-08-10T20:14:02Z 17295791 iD 1.1.1 witek1936
way 183846703 v2 2013-08-10T13:12:59Z 17291012 iD 1.1.1 karambolek
way 48974632 v4 2013-08-10T15:53:57Z 17292740 iD 1.1.1 tankypon
way 40464005 v6 2013-08-10T16:58:21Z 17293442 iD 1.1.1 witek1936
way 40463789 v5 2013-08-10T16:58:24Z 17293442 iD 1.1.1 witek1936
way 39774154 v2 2013-08-10T19:41:04Z 17295408 iD 1.1.1 witek1936
way 35867350 v6 2013-08-10T18:21:09Z 17294512 iD 1.1.1 witek1936
way 35429004 v5 2013-08-10T20:11:06Z 17295762 iD 1.1.1 Patrick Bous
way 31778615 v13 2013-08-10T15:50:43Z 17292714 iD 1.1.1 witek1936
way 31778614 v5 2013-08-10T18:54:59Z 17294905 iD 1.1.1 witek1936
way 31778610 v4 2013-08-10T16:47:27Z 17293313 iD 1.1.1 witek1936
way 31778599 v4 2013-08-10T16:14:37Z 17292967 iD 1.1.1 witek1936

way 233179730 v1 2013-08-11T21:40:48Z 17309713 iD 1.1.1 gvil
way 233152995 v1 2013-08-11T18:01:59Z 17306777 iD 1.1.1 witek1936
way 233137279 v1 2013-08-11T16:16:53Z 17305456 iD 1.1.1 witek1936
way 233103943 v2 2013-08-11T16:07:28Z 17305331 iD 1.1.1 ezjerry
way 233102730 v1 2013-08-11T12:54:31Z 17302884 iD 1.1.1 witek1936
way 233086489 v1 2013-08-11T09:25:42Z 17300604 iD 1.1.1 SteVels
way 233082846 v1 2013-08-11T08:25:58Z 17300075 iD 1.1.1 witek1936
way 233077489 v1 2013-08-11T06:10:34Z 17299139 iD 1.1.1 witek1936
way 233063590 v1 2013-08-11T00:55:55Z 17298051 iD 1.1.1 OXI
way 233058280 v4 2013-08-11T13:15:58Z 17303208 iD 1.1.1 witek1936
way 202669630 v2 2013-08-11T13:15:54Z 17303205 iD 1.1.1 Creando
way 199179894 v2 2013-08-11T18:12:02Z 17306889 iD 1.1.1 MMDawood
way 175280588 v2 2013-08-11T06:01:15Z 17299093 iD 1.1.1 witek1936
way 162969465 v2 2013-08-11T20:58:56Z 17309204 iD 1.1.1 Mápica
way 156663641 v4 2013-08-11T13:15:54Z 17303205 iD 1.1.1 Creando
way 65043657 v2 2013-08-11T00:13:57Z 17297817 iD 1.1.1 parville
way 51503913 v2 2013-08-11T00:55:59Z 17298051 iD 1.1.1 OXI
way 27805156 v24 2013-08-11T06:06:16Z 17299115 iD 1.1.1 witek1936

@o5k6
Copy link
Author

o5k6 commented Aug 14, 2013

Same with iD 1.1.2.

way 233423327 v1 2013-08-13T19:11:04Z 17335674 iD 1.1.2 Gallamine
way 233399472 v1 2013-08-13T15:53:56Z 17332997 iD 1.1.2 bateast
way 233384708 v1 2013-08-13T13:27:14Z 17331172 iD 1.1.2 eloy123
way 233383693 v1 2013-08-13T13:18:02Z 17331056 iD 1.1.2 Hiddenhausener
way 233370093 v1 2013-08-13T11:53:09Z 17329954 iD 1.1.2 deinfovg
way 233358688 v1 2013-08-13T09:52:04Z 17328565 iD 1.1.2 Rui Gonçalves
way 233329541 v1 2013-08-13T02:28:08Z 17325373 iD 1.1.2 leslymc4
way 233210586 v3 2013-08-13T11:34:51Z 17329734 iD 1.1.2 frlan
way 223905315 v2 2013-08-13T07:10:43Z 17326908 iD 1.1.2 frlan
way 223905314 v2 2013-08-13T07:10:43Z 17326908 iD 1.1.2 frlan
way 223905313 v2 2013-08-13T07:10:43Z 17326908 iD 1.1.2 frlan
way 197715327 v3 2013-08-13T07:10:43Z 17326908 iD 1.1.2 frlan
way 193676069 v4 2013-08-13T07:10:42Z 17326908 iD 1.1.2 frlan
way 58089638 v3 2013-08-13T07:10:43Z 17326908 iD 1.1.2 frlan
way 58088506 v4 2013-08-13T07:10:43Z 17326908 iD 1.1.2 frlan
way 58082516 v4 2013-08-13T07:10:42Z 17326908 iD 1.1.2 frlan
way 26617143 v5 2013-08-13T21:54:37Z 17337626 iD 1.1.2 jugla

@jfirebaugh
Copy link
Member

@mapjedi Do you have any idea how to reproduce this? I've looked at several of the examples you posted, and tried to figure out what sequence of edits can generate consecutive duplicates, without luck.

@o5k6
Copy link
Author

o5k6 commented Aug 14, 2013

Unfortunately, no. I only see the results (tracked at https://toolserver.org/~mapjedi/blame.txt). I can only suggest to directly ask the corresponding users, preferably those who are more than "hit and run mappers" or those who have managed to break ways on several distinct days. In the case of JOSM this has helped in isolating a few bugs (not all yet).

I guess that ways which got broken in version >1 are in general more promising to look at if you want to figure out what might have been done.
My first guesses from looking at some of the broken ways would be (sorry, just a few pieces of speculation):

  • Insert a new node in an existing way, then remove it again - either a newly created node or a node that is already part of some other way. Or the same for more than one node. I could imagine that in http://www.openstreetmap.org/browse/way/233210586/history (v3) not only n2417659716, n2417659717, and n2417659715 were inserted, but also another node between n2417659715 and n2415686336, which then was removed.
  • Remove one or more nodes from an existing way and insert new node(s) in their place (also in the opposite order, or remove-insert-remove etc.). This might have occured e.g. in http://www.openstreetmap.org/browse/way/58088506/history where in v4 n720894797 and n720892587 were removed and n720894796 got inserted twice.

@tyrasd
Copy link
Member

tyrasd commented Sep 1, 2013

I've found an edit sequence that consistently creates duplicate nodes in a way:

  1. draw a line or area that has a short self-backtracking segment: abcdce

    a----b
         |
    e----c--d
    
  2. draw the virtual node on the self-overlapping part cd to create a triangle (or double click the segment to add a new node, or create a new node there by drawing another line through there)

    a----b
         |
    e----c--d
         | /
         f
    
  3. save – this node gets duplicated: abcdffce

jfirebaugh added a commit that referenced this issue Sep 1, 2013
Previously, adding a midpoint to an invalidly doubled-back
segment (aba) resulted in a self-intersection with an invalid
consecutive node (accba). Now a self-intersection is still
produced, but with only one c node (acba).

Refs #1296
@jfirebaugh
Copy link
Member

Fantastic, thanks so much. That was easy to fix.

@jfirebaugh
Copy link
Member

I'm not sure that that was the only case, but I'm going to hope that it was and close the issue. @mapjedi, thanks for keeping an eye on this and please reopen the issue if you see it occurring with future versions of iD (1.1.7 or later).

@maxerickson
Copy link

Seems to still be happening with turning circles (or something the user is doing). Here are a couple of examples:

http://www.openstreetmap.org/browse/way/17369643/history
http://www.openstreetmap.org/browse/way/17370799/history

changesets (from this week):

http://www.openstreetmap.org/browse/changeset/17861130
http://www.openstreetmap.org/browse/changeset/17836869

(Edit: I missed the 1.1.7 or later in the previous comment, those examples are with 1.1.6...)

@tyrasd
Copy link
Member

tyrasd commented Sep 28, 2013

This seems to be still present in 1.2.0: https://toolserver.org/~mapjedi/blame.txt :(

@jfirebaugh jfirebaugh reopened this Sep 28, 2013
@drkludge
Copy link

drkludge commented Nov 5, 2013

Issue #1956 was my duplicate of this issue. I'll look for a pattern when fixing some of these new duplicate nodes. The duplicate nodes that I corrected before iD was released looked to be Potlatch 2 generated. I don't know if the Potlatch maintainers had a resolution that you could search for. The only duplicates that I saw from Josm looked to be bad data relating to imports in Europe mostly.

@o5k6
Copy link
Author

o5k6 commented Nov 6, 2013

@drkludge Regarding Potlatch: the issue has been known for a long time. It was reported some four years ago; recently the trac ticket https://trac.openstreetmap.org/ticket/2501 got closed as "wontfix". However, it appears that the problem was fixed to some degree, probably by accident, in early October of 2012, as P2's creation rate dropped steeply within one day. In earlier years, both Potlatches used to create several dozen broken ways per day, the same order of magnitude as iD does now, while the contribution by P1/P2 is now almost negligible (though the single-node ways also reported in the old ticket are still created in abundance).
Regarding JOSM: see http://josm.openstreetmap.de/ticket/8591 for the full story. JOSM not only screws up ways by itself (very rarely in comparison to the number of edits made), but is also used for uploading (broken) data generated using other (non-OSM) tools. And yes, most broken ways (>4000) are in northern Spain (don't ask me why they do not show up in OSMI) and were generated by a single user in what looks like an unsophisticated import.
BTW the instructions on your wiki page about fixing repeated nodes with JOSM are needlessly cumbersome. Just run the validator and hit the repair button. (In Germany and Austria, the cleanup is actually performed automatically by a little robot I maintain; the old xybot used to do this worldwide until its decommissioning in 2012.)

@drkludge
Copy link

drkludge commented Nov 6, 2013

@mapjedi I had no knowledge of these prior issues I was just providing information about what I had observed. I can concur that the Potlatch problem was accidentally fixed. There were no more new duplicate nodes after I finished my round of corrections in July.

Josm may have caused problems but I did not know that either.

My steps may be cumbersome but they help me remember processes for reference later. That's also why it is under my personal page and not elsewhere in the wiki. The other reason that I wrote the page is that I had no knowledge that the validation had this option. There's so much to learn.

Finally, this bot phobia thing in the community is just daffy. If there are known problems with editors creating duplicate nodes and marked as "wontfix", why on earth are volunteer's valuable time wasted fixing a known problem that a bot can safely fix? My manual review and correction of these issues added no value to the process! I just "wontfix" these problems again with a known solution in place.

@tyrasd
Copy link
Member

tyrasd commented Nov 7, 2013

something more on-topic:

I had a chat with a user who managed to create a substantial amount of duplicate-identical-node-ways (about 1 out of 5 of his ways were affected, but only in a few of his changesets). He told me that he didn't do anything special: He used the area tool to draw buildings and then used the rectification tool. He also didn't see any ui glitches. He's using Firefox 25 on Windows 8.

So, I guess we are not searching a fancy usage pattern to cause this bug. But what could it be? 😕

@tyrasd
Copy link
Member

tyrasd commented Nov 7, 2013

Here is a changeset that really baffles me: http://www.openstreetmap.org/browse/changeset/18696474 – The user only moved a postbox on a building outline (and changed one tag of a nearby poi which I think is unrelated) and still managed to get the postbox-node duplicated in the building.

@maxerickson
Copy link

I have been seeing a similar situation with duplicate ways. It looks like for both situations I am noticing, the user is adding a tag without using the presets, but I haven't tried to analyze that much.

@tyrasd
Copy link
Member

tyrasd commented Mar 2, 2014

@mapjedi it looks like your blame.txt is down (the server sends a "403 - user account expired" message). Can you reactivate the page, or host it somewhere else?

@o5k6
Copy link
Author

o5k6 commented Mar 3, 2014

@tyrasd Unfortunately, no, i can't. With the decommissioning of the Wikimedia toolserver, all accounts there have been expired, and right now I am lacking both the time and access to an adequate machine to have up-to-date statistics generated. However, iD still creates an impressive stream of broken ways. A representative sample (those in Germany, unless someone else is faster at fixing them) may be found in changesets like this one: http://www.openstreetmap.org/changeset/20742315.

@pnorman
Copy link
Contributor

pnorman commented Mar 3, 2014

@tyrasd Unfortunately, no, i can't. With the decommissioning of the Wikimedia toolserver, all accounts there have been expired, and right now I am lacking both the time and access to an adequate machine to have up-to-date statistics generated. However, iD still creates an impressive stream of broken ways. A representative sample (those in Germany, unless someone else is faster at fixing them) may be found in changesets like this one: http://www.openstreetmap.org/changeset/20742315.

How did you generate the list? I have access to databases and powerful enough machines

@pnorman
Copy link
Contributor

pnorman commented Mar 3, 2014

How did you generate the list? I have access to databases and powerful enough machines

Ah, I see - osmium and emacs lisp.

This SQL query mostly works, but also returns issues like ways with nodes AA

SELECT id, nodes
  FROM ways WHERE EXISTS 
    (SELECT * from (SELECT e, lead(e) OVER () AS le FROM unnest(nodes) u(e)) s WHERE e=le

If someone gives me a date (or preferably minimum changeset_id) I can generate a list of any new ones

@simonpoole
Copy link
Contributor

Wall-E ran last a week ago, so I guess you can start then (that was
changeset 20742315).

Simon

Am 03.03.2014 11:40, schrieb Paul Norman:

How did you generate the list? I have access to databases and
powerful enough machines

Ah, I see - osmium and emacs lisp.

This SQL query mostly works, but also returns issues like ways with
nodes AA

SELECT id, nodes
FROM ways WHERE EXISTS
(SELECT * from (SELECT e, lead(e) OVER () AS le FROM unnest(nodes) u(e)) s WHERE e=le

If someone gives me a date (or preferably minimum changeset_id) I can
generate a list of any new ones


Reply to this email directly or view it on GitHub
#1296 (comment).

@o5k6
Copy link
Author

o5k6 commented Mar 3, 2014

I've put a backup copy of the old file at http://osmac.bplaced.net/blame.txt ; it ends around cs 19700000. For generating new reports I would suggest starting from there.
Note that Wall·E only operates in Germany (more precisely, the corresponding Geofabrik extract). Also, the list was originally intended for tracking which editors are involved in creating the broken ways, so I simply parsed the daily diffs and did not care about whether the ways still existed or had been deleted in the meantime.

Computing power is not really an issue in generating current stats (processing the diffs took only a few seconds using rather slow tools); having moved only a couple of weeks ago, right now I simply don't have a fast internet connection or otherwise acces to a permanently connected machine to run cron jobs on, nor the time to set up a new process.

@pnorman
Copy link
Contributor

pnorman commented Mar 4, 2014

doublenodes.txt

It's a pure list of way IDs with no other information attached

@simonpoole
Copy link
Contributor

A recent changeset which created a dup node in way 234752583 https://www.openstreetmap.org/changeset/28292892

@stachek
Copy link

stachek commented May 18, 2015

It is possible to combine any ways that have common first or last nodes. So if these ways have any another common nodes we can create selfoverlapping ways with duplicated nodes, even like this:
screenshot - 05182015

@drkludge
Copy link

In the changeset, https://www.openstreetmap.org/changeset/28292892, that simonpoole reported

  • iD 1.6.2 was used.
  • The way with the duplicate node is https://www.openstreetmap.org/way/234752583/history.
  • Node https://www.openstreetmap.org/node/1650627794/history in the northeast corner of the closed way and is the terminating node ( real duplicate for an area ).
  • The termination node was not modified in the change.
  • The duplicate node is in the southeast corner https://www.openstreetmap.org/node/1650627780/history.
  • The duplicate node appears to be the last node in the way before the way closes.
  • The way is using a counter clockwise rotation.
  • Both the coordinates in the duplicate node were modified.
  • The JOSM history diff says that the node was moved by 8.88 m.
  • All the other ways that were modified in the changeset are to the south of the way. My guess is that pvtbrown was preparing room for the new pitch area he added.
  • Of the 10 nodes in the change, eight were new nodes.
  • The other modified node https://www.openstreetmap.org/node/1650627756/history is in the southwest corner of the closed way near the new pitch area.
  • The JOSM history diff says that the southwest node was moved 9.36 m.
  • Both of the south most nodes in the area are also in the residential landuse area https://www.openstreetmap.org/way/152234877/history.
  • The same 1650627780 duplicate node was also in the residential area.

The joining areas look like a great place to look for this duplication issue.

I wonder if the "double tap" code is also an area to focus on. I wonder if 1650627780 is the "double tap" node to close of the way modification.

The original thought that brought me here was that the OSM database only stores seven digits in fraction. I was wondering if the rounding process contributed to the duplication problems. But that would mean node on node not duplication of nodes in a way. The rounding code may still be another wild idea to look at.

@slhh
Copy link
Contributor

slhh commented Jan 15, 2017

@bhousel I have copied the following information from #3676 as requested, and I have added a link to the node.

I have watched iD generating a duplicate when testing for my pull request #3631, which is nicely monitoring such duplicates.
It was just a somewhat failed click on an connecting node https://www.openstreetmap.org/node/2696124620 of three starting or ending highway, just the first click after starting iD. I recognized a little movement of the node and the undo stack shows something like way connected to line (in German). Selecting the node the new parent ways sections showed that the node has index 1 and 2 of the same one of the three ways. It wasn't a duplicate from the database and I haven't been able to reproduce the bug.

I don't think the problem was due to my code modification. There were only the modification of the sidebar, but not the changes to mode select at that stage. And the sidebar haven't been opened when the bug occurs.

Maybe it's possible to double click around the endpoint of a way and have iD try to add a midpoint there that ends up merging into the existing node.

That was my first idea too, but I haven't been able to reproduce it. Maybe its needs to be too fast to be reproduced intentionally.

@bhousel
Copy link
Member

bhousel commented Feb 3, 2017

Closing, because I think this was fixed in #3676 and #3750
Please open a new issue if you see it in any version after iD 2.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A bug - let's fix this!
Projects
None yet
Development

No branches or pull requests

10 participants