Skip to content

Commit

Permalink
Add check doc (osmlab#469)
Browse files Browse the repository at this point in the history
* Add documentation for BigNodeBadDataCheck

* add documentation for LineCrossingBuildingCheck

* add link for LineCrossingWaterBodyCheck

* add documentation for UnwalkableWaysCheck

* Add InconsistentRoadClassificationCheck documentation
  • Loading branch information
dcastrowa authored Jan 13, 2021
1 parent c7f4e3f commit 555db4e
Show file tree
Hide file tree
Showing 6 changed files with 89 additions and 6 deletions.
10 changes: 5 additions & 5 deletions docs/available_checks.md
Original file line number Diff line number Diff line change
Expand Up @@ -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. |
Expand All @@ -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). |
Expand Down Expand Up @@ -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). |
24 changes: 24 additions & 0 deletions docs/checks/bigNodeBadDataCheck.md
Original file line number Diff line number Diff line change
@@ -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)
21 changes: 21 additions & 0 deletions docs/checks/inconsistentRoadClassificationCheck.md
Original file line number Diff line number Diff line change
@@ -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)
17 changes: 17 additions & 0 deletions docs/checks/lineCrossingBuildingCheck.md
Original file line number Diff line number Diff line change
@@ -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)
2 changes: 1 addition & 1 deletion docs/checks/lineCrossingWaterBodyCheck.md
Original file line number Diff line number Diff line change
@@ -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.

Expand Down
21 changes: 21 additions & 0 deletions docs/checks/unwalkableWaysCheck.md
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit 555db4e

Please sign in to comment.