Opened 7 years ago

Closed 6 years ago

#3786 closed defect (fixed)

Potlach is creating Circles 2-3 times round

Reported by: TheFive Owned by: potlatch-dev@…
Priority: minor Milestone:
Component: potlatch2 Version: 2.0
Keywords: circle Cc:

Description

Potlach seems to create roundabouts / circles that goes 2 to 3 times round (not only 1 time as usual). As this happens only in Potlach changeset, i assume this is a potlatch bug.

I did not found any error description, that is reproducible. There are some errors in trac regarding Potlatch 1 that seems to go in this direction.

There is a old wiki error potlatch 2 List, that contains an error (and some screenshots) but i did not found a copy of that error here in trac.
http://wiki.openstreetmap.org/wiki/Potlatch_2/Archived_obsolete_Bug_list#Make_Circular_going_crazy

Some Examples of that circle here

http://www.openstreetmap.org/browse/way/110774480 (Version 1)
http://www.openstreetmap.org/browse/way/110756325(Version 1)
http://www.openstreetmap.org/browse/way/5209478 (Version 6)

I have tried to get some information of the mappers, how to reproduce that bug, but i have nothing reproducible yet.

Change History (9)

comment:1 Changed 7 years ago by TheFive

I track all occurring circles in the "german forum"
http://forum.openstreetmap.org/viewtopic.php?pid=172656#p172656
Pictures of the circles can be seen in the wiki best practices Self Intersection
http://wiki.openstreetmap.org/wiki/DE:Fixing_OSMI_self_intersection#Kornkreisel_.28Potlach_gerundete_Mehrfache_Kreise.29

comment:2 Changed 7 years ago by TheFive

After Discussion in german forum i have opened a discussion in the editor forum
http://forum.openstreetmap.org/viewtopic.php?pid=172749#p172749

The simple solution is to skip the function from the potlatch main page, as the win of the function is smaller than the loss for the project through wrong data possible resulting in wrong routings.

If there would be a priority between "MINOR" and "MAJOR" I would choose this one.

comment:3 follow-up: Changed 7 years ago by TheFive

an uncorrected circle can be found here
http://www.openstreetmap.org/browse/way/36747683
I mark him with a reference to this trac entry.

comment:4 in reply to: ↑ 3 Changed 7 years ago by TheFive

http://www.openstreetmap.org/browse/way/36747683

May be you can extract Version 3 of this circle with the nodes in the version 3 position to reproduce this error.

comment:5 Changed 7 years ago by Richard

Will look into it. But seriously, what is it with you guys and complete inability to spell PotlaTch?? ;)

comment:6 Changed 7 years ago by Richard

  • Component changed from potlatch (flash editor) to potlatch2
  • Owner changed from richard@… to potlatch-dev@…

comment:7 Changed 7 years ago by Mark_S

  • Keywords circle added; cirle removed

Example

Take this correct way: http://www.openstreetmap.org/browse/way/4413317

Edit in potlatch 2 and zoom in a bit. On the north-west of the roundabout is a node that is only on the roundabout. Drag this node down and right, into the roundabout so it creates a right angle with the two adjacent nodes. Select the way. Click the circle tool. A double circle is created.

Alternatively take the same node and drag down and left so it is just outside of the previous node on the way. Select the way. Click the circle. A double roundabout is created.

It looks as if the roundabout goes back on itself for a node (from a latitude/longitude point of view) then double circles are created.

comment:8 Changed 7 years ago by chris66

How I can produce a 14-loop-circle:

1) draw a square
2) select the square and hit the 'make circle' button
3) shift 2 points like this:

http://up.picr.de/8148719gxf.png

4) select the line and hit the 'make circle' button

comment:9 Changed 6 years ago by stevage

  • Resolution set to fixed
  • Status changed from new to closed

Fixed: https://github.com/systemed/potlatch2/pull/49

The issue is the logic used to fill in the gaps between nodes. If the next node goes 10° backwards, that's like 350° - requiring 350/20 extra nodes to be added.

My patch detects these situations and simply shows an error and bails out of the whole process. I think some fringe situations may still trigger it, but they're much less likely.

Note: See TracTickets for help on using tickets.