Changeset 15728 in josm for trunk/src


Ignore:
Timestamp:
2020-01-19T10:54:23+01:00 (5 years ago)
Author:
simon04
Message:

fix #18477 - Split Way: smart way selection

If only one highway/railway/waterway is applicable, use that one.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java

    r15727 r15728  
    1616import java.util.List;
    1717import java.util.concurrent.atomic.AtomicInteger;
     18import java.util.stream.Collectors;
    1819
    1920import javax.swing.DefaultListCellRenderer;
     
    103104        if (applicableWays.size() > 1) {
    104105             applicableWays.removeIf(w -> selectedNodes.stream().noneMatch(w::isInnerNode));
     106        }
     107
     108        // Smart way selection: if only one highway/railway/waterway is applicable, use that one
     109        if (applicableWays.size() > 1) {
     110            final List<Way> mainWays = applicableWays.stream()
     111                    .filter(w -> w.hasKey("highway", "railway", "waterway"))
     112                    .collect(Collectors.toList());
     113            if (mainWays.size() == 1) {
     114                applicableWays = mainWays;
     115            }
    105116        }
    106117
Note: See TracChangeset for help on using the changeset viewer.