Skip to content

Latest commit

 

History

History
36 lines (27 loc) · 1.9 KB

intersectionAtDifferentLayersCheck.md

File metadata and controls

36 lines (27 loc) · 1.9 KB

IntersectionAtDifferentLayersCheck

Description

The purpose of this check is to identify Node when it is a non-terminal intersection node between two ways which have different layer tag values. Catching such cases will prevent “jump off the bridge” or “climb up the bridge” scenarios when routing.

Live Examples

  1. Node id:6510210704
  2. Node id:3095952757
  3. Node id:2885601598

Code Review

In Atlas, OSM elements are represented as Edges, Points, Lines, Nodes & Relations; in our case, we’re working with Nodes.

Our first goal is to validate the incoming Atlas Object.

Our second goal is to identify connected Edges.

  • Must be a Main Edge.
  • Must be a Car-navigable or Pedestrian-navigable highway type.
  • Must not be an Area.
  • Must not match Indoor Mapping filter.
  • Must match Great Separation highway tag filter. Default is empty in configurations.json

Great Separation Filter Example

Flag Nodes that connect only matching highway types: "bridge->yes|tunnel->yes|embankment->yes|cutting->yes|ford->yes";

To learn more about the code, please look at the comments in the source code for the check. IntersectionAtDifferentLayersCheck.java