@@ -1041,9 +1041,7 @@ List<Way> removeInvalidWaysFromParentWays(List<Way> parentWays, Node node, Way w
1041
1041
// one way direction doesn't match
1042
1042
for (Way w : parentWays ) {
1043
1043
if (w .isOneway () != 0 ) {
1044
- if (w .isOneway () == 1 && w .lastNode ().equals (node )) {
1045
- waysToBeRemoved .add (w );
1046
- } else if (w .isOneway () == -1 && w .firstNode ().equals (node )) {
1044
+ if (checkOneWaySatisfiability (w , node )) {
1047
1045
waysToBeRemoved .add (w );
1048
1046
}
1049
1047
}
@@ -1092,7 +1090,6 @@ List<Way> removeInvalidWaysFromParentWays(List<Way> parentWays, Node node, Way w
1092
1090
waysToBeRemoved .clear ();
1093
1091
1094
1092
// check restrictions
1095
- System .out .println ("Hello" );
1096
1093
for (Way w : parentWays ) {
1097
1094
if (isRestricted (w , way , node )) {
1098
1095
waysToBeRemoved .add (w );
@@ -1113,9 +1110,7 @@ List<Way> removeInvalidWaysFromParentWaysOfRoundabouts(List<Way> parents, Node n
1113
1110
// one way direction doesn't match
1114
1111
for (Way w : parentWays ) {
1115
1112
if (w .isOneway () != 0 ) {
1116
- if (w .isOneway () == 1 && w .lastNode ().equals (node )) {
1117
- waysToBeRemoved .add (w );
1118
- } else if (w .isOneway () == -1 && w .firstNode ().equals (node )) {
1113
+ if (checkOneWaySatisfiability (w , node )) {
1119
1114
waysToBeRemoved .add (w );
1120
1115
}
1121
1116
}
@@ -1460,7 +1455,7 @@ boolean checkOneWaySatisfiability(Way way, Node node) {
1460
1455
String [] acceptedTags = new String [] { "yes" , "designated" };
1461
1456
1462
1457
if ((way .hasTag ("oneway:bus" , acceptedTags ) || way .hasTag ("oneway:psv" , acceptedTags ))
1463
- && way .lastNode ().equals (node ))
1458
+ && way .lastNode ().equals (node ) && relation . hasTag ( "route" , "bus" ) )
1464
1459
return false ;
1465
1460
1466
1461
if (!isNonSplitRoundAbout (way ) && way .hasTag ("junction" , "roundabout" )) {
0 commit comments