check_graph_crossing_edges(_road_codes text[], _options jsonb)


Description

Check G01 run by the function check_graph: find the edges crossing each other without being split by a node.

An issue is returned for each crossing point which is not at the start or end point of both edges (50 cm tolerance, like the triggers splitting the edges). The edges with the field no_intersection_cutting set to True, for example on a bridge, are ignored.

The details give the crossing type, the road codes and classes of the two edges, and the angle between them, which help to find the bridges:

  • touching: the point is the start or end point of one of the edges, for example a road arriving on another road. The edges are surely connected: the fix action is cut_edges, which creates a node at the point and splits the edges,
  • crossing: the edges cross each other, maybe on a bridge or in a tunnel. The fix action is given by the option crossing_fix_action of the check, NULL by default: it must be chosen for each issue, cut_edges if the roads are connected, or mark_as_bridge, which sets no_intersection_cutting to True for the edges.

Parameters

Name Type Mode
_road_codes text[] IN
_options jsonb IN
check_code text TABLE
check_title text TABLE
severity text TABLE
road_code text TABLE
edge_ids integer[] TABLE
node_ids integer[] TABLE
marker_ids integer[] TABLE
details jsonb TABLE
fix_action text TABLE
fix_params jsonb TABLE
geom geometry TABLE
geom_detail geometry TABLE

Definition