diff --git a/docs/available_checks.md b/docs/available_checks.md index 54fe70b0d..69d9b09dd 100644 --- a/docs/available_checks.md +++ b/docs/available_checks.md @@ -21,7 +21,7 @@ This document is a list of tables with a description and link to documentation f | [AtGradeSignPostCheck](checks/atGradeSignPostCheck.md) | The purpose of this check is to identify at-grade intersections that are not part of destination sign relations. | | [EdgeCrossingEdgeCheck](checks/edgeCrossingCheck.md) | The purpose of this check is to identify Edges intersecting another Edge(s) that do not share the same Node (meaning they are not well-connected) nor have proper layer tagging on one of these Edge(s) (meaning there should be a layer tag for one of the Edges). | | [FloatingEdgeCheck](checks/floatingEdgeCheck.md) | The purpose of this check is to identify Edges that are not accessible or navigable from the rest of the Edge network due to lack of connectivity or access restrictions. | -| InconsistentRoadClassificationCheck | The purpose of this check is to identify roads, that transition from one classification to another and then back to the original classification. | +| [InconsistentRoadClassificationCheck](checks/inconsistentRoadClassificationCheck.md) | The purpose of this check is to identify roads, that transition from one classification to another and then back to the original classification. | | [InvalidPiersCheck](checks/invalidPiersCheck.md) | The purpose of this check is to identify piers(OSM Ways with man_made=pier tag) that are ingested in Atlas as edges with linear or polygonal geometry without an area=yes tag | | LongSegmentCheck | This check identifies long segments/edges (length is more than minimumLength). | | [MalformedRoundaboutCheck](checks/malformedRoundaboutCheck.md) | The purpose of this check is to identify roundabouts mapped in the opposite direction of traffic. The check takes into consideration countries with both left-side and right-side traffic. There are three types of map errors that will be flagged by this check: 1. Wrong-way-roundabouts, 2. Multi-directional roundabouts, and 3. Roundabouts with poor geometry. | @@ -38,13 +38,13 @@ This document is a list of tables with a description and link to documentation f | [SinkIslandCheck](tutorials/tutorial3-SinkIslandCheck.md) | The purpose of this check is to identify whether a network of car-navigable Edges can be exited. | | [SnakeRoadCheck](checks/snakeRoadCheck.md) | The purpose of the SnakeRoad check is to identify roads that should be split into two or more roads. | | [SuddenHighwayTypeChangeCheck](checks/suddenHighwayTypeChangeCheck.md) | The purpose of this check is to identify roads that jump to much different highway classifications. | -| UnwalkableWaysCheck | The purpose of this check is to identify any non-motorway single carriageway edges with no foot tags that cross any high-priority roads that are dual carriageways. | +| [UnwalkableWaysCheck](checks/unwalkableWaysCheck.md) | The purpose of this check is to identify any non-motorway single carriageway edges with no foot tags that cross any high-priority roads that are dual carriageways. | | ValenceOneImportantRoadCheck | This check identifies important roads that either start or end with valance-1 nodes. | ## Nodes | Check Name | Check Description | | :--------- | :---------------- | -| BigNodeBadDataCheck | The purpose of this check is to flag any BigNodes that have may have some bad data. | +| [BigNodeBadDataCheck](checks/bigNodeBadDataCheck.md) | The purpose of this check is to flag any BigNodes that have may have some bad data. | | ConnectivityCheck | This check identifies nodes that should be connected to nearby nodes or edges. | | [DuplicateNodeCheck](checks/duplicateNodeCheck.md) | The purpose of this check is to identify Nodes that are in the exact same location. | | [InvalidMiniRoundaboutCheck](checks/invalidMiniRoundaboutCheck.md) | The purpose of this check is to identify invalid mini-roundabouts (i.e. roundabouts that share the same rules as other roundabouts, but present as painted circles rather than physical circles). | @@ -104,8 +104,8 @@ This document is a list of tables with a description and link to documentation f | [GeneralizedCoastlineCheck](checks/generalizedCoastlineCheck.md) | The purpose of this check is to identify coastlines whose nodes are too far apart, have angles that are too sharp, and/or have _source=PGS_ Tag values. | | [IntersectingBuildingsCheck](checks/intersectingBuildingsCheck.md) | The purpose of this check is to identify buildings that intersect other buildings. | | [InvalidGeometryCheck](checks/invalidGeometryCheck.md) | This check flags invalid polyline and polygon geometries. | -| LineCrossingBuildingCheck | The purpose of this check is to identify line items (edges or lines) that are crossing buildings invalidly. | -| LineCrossingWaterBodyCheck | The purpose of this check is to identify line items (edges or lines) and optionally buildings, that cross water bodies invalidly. | +| [LineCrossingBuildingCheck](checks/lineCrossingBuildingCheck.md) | The purpose of this check is to identify line items (edges or lines) that are crossing buildings invalidly. | +| [LineCrossingWaterBodyCheck](checks/lineCrossingWaterBodyCheck.md) | The purpose of this check is to identify line items (edges or lines) and optionally buildings, that cross water bodies invalidly. | | MalformedPolyLineCheck | This check identifies lines that have only one point, or none, and the ones that are too long. | | [SelfIntersectingPolylineCheck](checks/selfIntersectingPolylineCheck.md) | The purpose of this check is to identify all edges/lines/areas in Atlas that have self-intersecting polylines, or geometries that intersects itself in some form. | | [WaterWayCheck](checks/waterWayCheck.md) | This check finds closed waterways (circular water motion), waterways without a place for water to go (a "sink"), crossing waterways, and waterways that go uphill (requires elevation data). | diff --git a/docs/checks/bigNodeBadDataCheck.md b/docs/checks/bigNodeBadDataCheck.md new file mode 100644 index 000000000..eecca2396 --- /dev/null +++ b/docs/checks/bigNodeBadDataCheck.md @@ -0,0 +1,24 @@ +# Big Node Bad Data Check + +#### Description + +This check will simply look for complex intersections and flag them when they have too many paths and junction edges. + +#### Configuration + +This check has three configurables that can be changed in the configuration file [config.json](../../config/configuration.json) + +Defaults: +- ```"max.number.threshold": 25``` - Max number of paths in an intersection +- ```"max.number.junction.edges.threshold": 2``` - Max number of junction edges in an intersection. +- ```""highway.type": {"minimum": "toll_gantry", "maximum": "motorway}``` - Min and max highway type + +#### Live Examples + +Complex intersection: +- Edge [id:157299839](https://www.openstreetmap.org/way/157299839), [id:619577664](https://www.openstreetmap.org/way/619577664), and [id:517407227](https://www.openstreetmap.org/way/517407227) +- Edge [id:517407229](https://www.openstreetmap.org/way/517407229), [id:517350955](https://www.openstreetmap.org/way/517350955), and [id:517350956](https://www.openstreetmap.org/way/517350956) +- Edge [id:668226161](https://www.openstreetmap.org/way/668226161), [id:4370531](https://www.openstreetmap.org/way/4370531), and [id:619577663](https://www.openstreetmap.org/way/619577663) +- Edge [id:517350954](https://www.openstreetmap.org/way/517350954), [id:517407228](https://www.openstreetmap.org/way/517407228), and [id:110014409](https://www.openstreetmap.org/way/110014409) + +Please see the source code for BigNodeBadDataCheck here: [BigNodeBadDataCheck](../../src/main/java/org/openstreetmap/atlas/checks/validation/intersections/BigNodeBadDataCheck.java) \ No newline at end of file diff --git a/docs/checks/inconsistentRoadClassificationCheck.md b/docs/checks/inconsistentRoadClassificationCheck.md new file mode 100644 index 000000000..ebfd0a3f8 --- /dev/null +++ b/docs/checks/inconsistentRoadClassificationCheck.md @@ -0,0 +1,21 @@ +# Inconsistent Road Classification Check + +#### Description + +The purpose of this check aims to flag segments that have different road classifications compared to the road segments they're connect to. + +#### Configurables + +This check has four configurables that can be changed in the configuration file [config.json](../../config/configuration.json) + +Defaults: +- ```"long.edge.threshold": 1000.0``` - Maximum length (meters) of combined edges +- ```"minimum.highway.type": "tertiary_link"``` - Minimum highway classification type +- ```"maximum.edge.length": 500.0``` - Maximum length (meters) of edge + +#### Live Examples +- Line ```highway=teritary``` [id:234258492](https://www.openstreetmap.org/way/234258492), Line ```highway=secondary``` [id:445632970](https://www.openstreetmap.org/way/445632970), and Line ```highway=tertiary``` [id:27116452](https://www.openstreetmap.org/way/27116452) +- Line ```highway=primary``` [id:42821967](https://www.openstreetmap.org/way/42821967), Line ```highway=tertiary``` [id:28893694](https://www.openstreetmap.org/way/28893694), and Line ```highway=primary``` [id:306089807](https://www.openstreetmap.org/way/306089807) +- Line ```highway=secondary``` [id:391612634](https://www.openstreetmap.org/way/391612634), Line ```highway=tertiary``` [id:246156874](https://www.openstreetmap.org/way/246156874), Line ```highway=secondary``` [id:444405397](https://www.openstreetmap.org/way/444405397) + +Please see the source code for InconsistentRoadClassificationCheck here: [InconsistentRoadClassificationCheck](../../src/main/java/org/openstreetmap/atlas/checks/validation/linear/edges/InconsistentRoadClassificationCheck.java) \ No newline at end of file diff --git a/docs/checks/lineCrossingBuildingCheck.md b/docs/checks/lineCrossingBuildingCheck.md new file mode 100644 index 000000000..10bde3323 --- /dev/null +++ b/docs/checks/lineCrossingBuildingCheck.md @@ -0,0 +1,17 @@ +# Line Crossing Building Check + +#### Description + +The purpose of this check is to flag Lines or Edges that cross buildings invalidly. This integrity check examines the same intersections as [BuildingRoadIntersectionCheck](buildingRoadIntersectionCheck.md), but also inspects intersections between buildings and non-navigable Ways. + +#### Configuration + +There are no configurables for this check. + +#### Live Examples + +- Line [id:232392538](https://www.openstreetmap.org/way/232392538) crossing building [id:168913755](https://www.openstreetmap.org/way/168913755) +- Line [id:61241226](https://www.openstreetmap.org/way/61241226) crossing building [id:196979455](https://www.openstreetmap.org/way/196979455) +- Line [id:857309620](https://www.openstreetmap.org/way/857309620) crossing building [id:717915035](https://www.openstreetmap.org/way/717915035) + +Please see the source code for LineCrossingBuildingCheck here: [LineCrossingBuildingCheck](../../src/main/java/org/openstreetmap/atlas/checks/validation/intersections/LineCrossingBuildingCheck.java) \ No newline at end of file diff --git a/docs/checks/lineCrossingWaterBodyCheck.md b/docs/checks/lineCrossingWaterBodyCheck.md index 0b9777b11..45eec0e32 100644 --- a/docs/checks/lineCrossingWaterBodyCheck.md +++ b/docs/checks/lineCrossingWaterBodyCheck.md @@ -1,4 +1,4 @@ -# LineCrossingWaterBody Check +# Line Crossing Water Body Check This check flags Lines, Edges, and optionally buildings that invalidly intersect inland water features. Validity of intersection is determined by the qualities of the intersecting feature. Flags are grouped by waterbody. A flag contains features for a single waterbody and all of its invalidly intersecting features. diff --git a/docs/checks/unwalkableWaysCheck.md b/docs/checks/unwalkableWaysCheck.md new file mode 100644 index 000000000..f30eee12e --- /dev/null +++ b/docs/checks/unwalkableWaysCheck.md @@ -0,0 +1,21 @@ +# Unwalkable Ways Check + +#### Description + +The purpose of this check is to look for any non-motorway single carriageway Edges with no foot tags that cross any high-priority roads that are dual carriageways. _Currently this check is only valid in Singapore_. + +#### Configuration + +This check has two configurables that can be changed in the configuration file [config.json](../../config/configuration.json) + +Defaults: +- ```"countries": ["SGP"]``` - List of enabled countries for this check. +- ```includeDualCrossingDualCarriageWays: false``` - Whether or not to include dual crossing dual carriage ways. + +#### Live Examples + +- Line [id:707530351](https://www.openstreetmap.org/way/707530351) +- Line [id:173767762](https://www.openstreetmap.org/way/173767762) +- Line [id:701196053](https://www.openstreetmap.org/way/701196053) + +Please see the source code for UnwalkableWaysCheck here: [UnwalkableWaysCheck](../../src/main/java/org/openstreetmap/atlas/checks/validation/intersections/UnwalkableWaysCheck.java) \ No newline at end of file