-
Notifications
You must be signed in to change notification settings - Fork 82
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* new atlas check for tollescape * tollEscapeCheck first iteration * 3 case toll validation check * 3 case check, finishing unit tests. * spotless apply * removing dockerfile to exclude it * updated instructions, status: in false positive analysis phase. * integration test fixes * integration test fixes * spotless apply and successful test. * removing prints * updating equals --> equalsIgnoreCase * code smell cleanup * code smells continued * code smells continued * code smells continued * code smells continued * code smells continued * code smells continued * code smells continued * fixing config * addressed comments regarding tollValidationCheck and added serislVersionUID for suddenHighwayTypeChangeCheck * applied all rcommendations successfully. * updated naming convention for angle related variables. * had to update config variable and test config value to reflect updated variable names. * new config value for limiting recursion while searching for nearby toll features and added more documentation for the config values.. * Fixed naming of angle difference function and addressed comments * spotless apply * Added auto fix suggestions for case 1 and 2
- Loading branch information
Showing
7 changed files
with
841 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# TollValidationCheck | ||
|
||
#### Description | ||
The purpose of this check is to identify ways that need to have their toll tags investigated/added/removed. | ||
|
||
#### Configurables | ||
- ***minimumHighwayType***: minimum highway type to include in this check. Tolls mainly reside on highways. | ||
- ***maxAngleDiffForContiguousWays***: maximum angle difference between edges to be considered contiguous ways. This is important since most of the toll related investigation is on highways with small angle turns. | ||
- ***minInAndOutEdges***: minimum count of Main in AND out edges from given way. This is important because there is logic that relies on an edge that does have at least one edge on the downstream and upstream side. | ||
- ***maxIterationForNearbySearch***: maximum amount of iterations to complete while searching for nearby toll features. | ||
|
||
#### Live Examples | ||
Way Intersects Toll Feature - Missing toll tag | ||
1. The way [id:824285021](https://www.openstreetmap.org/way/824285021) intersects a toll feature and needs a toll=yes tag. | ||
|
||
Inconsistent Toll Tags - way sandwiched between 2 toll=yes ways but does not have a toll tag | ||
1. The way [id:498038529](https://www.openstreetmap.org/way/498038529) is inconsistent with its surrounding toll tags. | ||
|
||
Escapable Toll - Way has routes that escape toll feature so toll should be investigated for removal | ||
1. The way [id:2039409](https://www.openstreetmap.org/way/546540482) is deemed "escapable" since on either side of it there are ways with toll=no or no toll tag at all before | ||
intersecting a toll feature. There needs to be an investigation as to if the way in question or the surrounding ways have been modeled properly. | ||
|
||
#### Code Review | ||
This check evaluates [Edges](https://github.com/osmlab/atlas/blob/dev/src/main/java/org/openstreetmap/atlas/geography/atlas/items/Edge.java) | ||
, it attempts to find large jumps in highway classifications. | ||
|
||
##### Validating the Object | ||
We first validate that the incoming object is: | ||
* An Edge | ||
* A Main edge | ||
* The Edge is Car Navigable | ||
* The Edge is of a specified minimum highway type (tertiary) | ||
* is not private access | ||
|
||
##### Flagging the Edge | ||
##### Three scenarios of TollValidationCheck | ||
###### Scenario 1 | ||
* Way intersects toll feature but does not have a toll tag. | ||
###### Scenario 2 | ||
* Way has inconsistent toll tagging compared to surrounding ways. | ||
###### Scenario 3 | ||
* Toll is escapable so the edge in question should not have toll tag since a toll is not required to drive on the road. | ||
|
||
|
||
To learn more about the code, please look at the comments in the source code for the check. | ||
[TollValidationCheck.java](../../src/main/java/org/openstreetmap/atlas/checks/validation/tag/TollValidationCheck.java) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.