Class SnakeRoadCheck
- java.lang.Object
-
- org.openstreetmap.atlas.checks.base.BaseCheck<java.lang.Long>
-
- org.openstreetmap.atlas.checks.validation.linear.edges.SnakeRoadCheck
-
- All Implemented Interfaces:
java.io.Serializable,Check
public class SnakeRoadCheck extends BaseCheck<java.lang.Long>
This check flags edges that form Snake Roads. A Snake Road is defined as a road that should be split into two or more roads. An example of this is a residential road that weaves in and out of a neighborhood or multiple neighborhoods, where the correct behavior should have each road in a neighborhood be it's own separate way. The criteria we use to identify a snake road is:- 1) At some point, two consecutive
Edges making up the Snake road must have aHeadingdifference of at least 60 degrees. - 2) The snake road must have at least 3L
Edges - 3) At least one
Edgemaking up the snake road should have a valence greater than 4L - 4) To be considered a snake road, you should either have no road name or have any connected ways that share the same name that you do. This is done to prevent flagging strange portions of highways that may exhibit the behavior of a snake road.
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.openstreetmap.atlas.checks.base.BaseCheck
PARAMETER_ACCEPT_PIERS, PARAMETER_CHALLENGE, PARAMETER_DENYLIST_COUNTRIES, PARAMETER_FLAG, PARAMETER_PERMITLIST_COUNTRIES, PARAMETER_PERMITLIST_TAGS
-
-
Constructor Summary
Constructors Constructor Description SnakeRoadCheck(org.openstreetmap.atlas.utilities.configuration.Configuration configuration)Default constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Optional<CheckFlag>flag(org.openstreetmap.atlas.geography.atlas.items.AtlasObject object)protected java.util.List<java.lang.String>getFallbackInstructions()Method to implement for inheriting checks to return the default set of instruction formats that will be the last resort inBaseCheck.getLocalizedInstruction(int, Object[])booleanvalidCheckForObject(org.openstreetmap.atlas.geography.atlas.items.AtlasObject object)Checks to see whether the supplied object class type is valid for this particular check-
Methods inherited from class org.openstreetmap.atlas.checks.base.BaseCheck
acceptPier, check, checkObjectFilter, clear, clearFlaggedIdentifiers, configurationKey, configurationKey, configurationValue, configurationValue, createFlag, createFlag, createFlag, createFlag, createFlag, createFlag, createFlag, createFlag, flags, getChallenge, getCheckName, getCheckPolygonFilter, getCountries, getDenylistCountries, getFlaggedIdentifiers, getGlobalPolygonFilter, getLocale, getLocalizedInstruction, getTaskIdentifier, getTaskIdentifier, getUniqueObjectIdentifier, getUniqueOSMIdentifier, isFlagged, logStatus, markAsFlagged, validCheckForCountry
-
-
-
-
Method Detail
-
validCheckForObject
public boolean validCheckForObject(org.openstreetmap.atlas.geography.atlas.items.AtlasObject object)
Description copied from interface:CheckChecks to see whether the supplied object class type is valid for this particular check- Parameters:
object- TheAtlasObjectyou are checking- Returns:
- true if it is
-
flag
protected java.util.Optional<CheckFlag> flag(org.openstreetmap.atlas.geography.atlas.items.AtlasObject object)
-
getFallbackInstructions
protected java.util.List<java.lang.String> getFallbackInstructions()
Description copied from class:BaseCheckMethod to implement for inheriting checks to return the default set of instruction formats that will be the last resort inBaseCheck.getLocalizedInstruction(int, Object[])- Overrides:
getFallbackInstructionsin classBaseCheck<java.lang.Long>- Returns:
- The set of instructions to fall back to if configuration results in none.
-
-