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

Disconnect entire landuse areas from lines #4245

Closed
yaugenka opened this issue Aug 18, 2017 · 10 comments

Comments

Projects
None yet
6 participants
@yaugenka
Copy link

commented Aug 18, 2017

It would be nice to have a possibility to detach an entire line by for example pressing d shotcut.

@bhousel bhousel added the operation label Aug 19, 2017

@bhousel

This comment has been minimized.

Copy link
Member

commented Aug 19, 2017

I agree, I want this sometimes too.. good suggestion 👍

@bhousel bhousel changed the title Detach lines Disconnect lines Aug 19, 2017

@slhh

This comment has been minimized.

Copy link
Contributor

commented Oct 28, 2017

This seems to be a quite unsafe operation. Someone might want to disconnect a highway from landuses, which I see as the main usecase, and miss to repair the highway connections. In addition the operation needs be prevented due to breaking relations in many cases.

How about an operation cutting a surrounding around the selected ways out of the selected areas?

@bhousel

This comment has been minimized.

Copy link
Member

commented Oct 29, 2017

This seems to be a quite unsafe operation. Someone might want to disconnect a highway from landuses, which I see as the main usecase, and miss to repair the highway connections. In addition the operation needs be prevented due to breaking relations in many cases.

Can you provide a screenshot of an example case? I'm having a hard time imagining a situation where disconnecting a landuse from a road would break a relation.

How about an operation cutting a surrounding around the selected ways out of the selected areas?

Polygonal operations (add, subtract, etc) are coming, probably not soon though.

@slhh

This comment has been minimized.

Copy link
Contributor

commented Oct 29, 2017

@bhousel

I'm having a hard time imagining a situation where disconnecting a landuse from a road would break a relation.

It depends on how the operation works.

  • If the operation disconnects a single selected way from everything else:
    • With the highway being selected it disconnects the way from the next highway ways, which breaks for example any route relations on the highway, and in addition the highway connectivity.
    • With a way, which isn't closed, of a landuse multipolygon being selected, it breaks the multipolygon.
  • If it disconnects two selected ways:
    Assume we have:
    -A residential area multipolygon consisting of ways A, B, and D
    -An industial area multipolygon consisting of ways A and E
    -A motorway B
    -A tertiary road C which is partially coincident with way E
    -A bus rote using ways B and C
    disconnect lines
    What happens if the user disconnects ways E (landuse) and C (highway) in view of the central node
    originally used by all features? How can the editor split this node?
    Not to break the residential area requires A and B to share the same node.
    Not to break the bus route requires B and C to share the same node.
    Not to break the industrial area requires A and E to share the same node.
    As a result C and E still need to share the same node, and can't be disconnected without breaking a relation.
@bhousel

This comment has been minimized.

Copy link
Member

commented Oct 29, 2017

Thanks for the examples @slhh .. It makes sense - I wasn't thinking of multipolygons formed of several connected ways.

I guess we will need to disable the operation in cases where the disconnect would break a relation. The existing disconnect action already does this.

@quincylvania

This comment has been minimized.

Copy link
Collaborator

commented Apr 19, 2019

I did this! You can now disconnect entire individual lines or areas at once. The operation is prevented if not enough of the way is visible or if the way is a member of a relation connected to another member by one of the nodes.

disconnect area demo

@quincylvania quincylvania added this to the 2.15.0 milestone Apr 19, 2019

@yaugenka

This comment has been minimized.

Copy link
Author

commented Apr 19, 2019

Very nice! Thank you @quincylvania

quincylvania added a commit that referenced this issue Apr 19, 2019

@bhousel

This comment has been minimized.

Copy link
Member

commented Apr 20, 2019

This is so awesome @quincylvania 👏
I've wanted this for a while....

bhousel added a commit that referenced this issue Apr 20, 2019

@1ec5

This comment has been minimized.

Copy link
Collaborator

commented Apr 21, 2019

Nice! I must admit some trepidation because of personally preferring landuse areas to join up with line features in many instances. But the example you’ve given of disconnecting a parking lot area is a good one: lots of parking lots in my area were long ago joined to nearby buildings or roadways but now need to be detached in order to properly map sidewalks and curbs. I’ll be using this feature a lot.

@robybully

This comment has been minimized.

Copy link

commented Apr 28, 2019

Great, can't wait to usw this function in iD.
Many many thanks! @quincylvania

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.