Opened 8 years ago

Closed 6 years ago

#9298 closed enhancement (duplicate)

detect nodes with missing railway=level_crossing

Reported by: mkoniecz Owned by: team
Priority: normal Milestone:
Component: Core validator Version:
Keywords: railway level crossing Cc: naoliv, simon04

Description (last modified by skyper)

variant of #9141 (detect nodes with missing highway=crossing) and #9297 (detect nodes with unneeded railway=level_crossing)


A - node that may be left by cars in two directions. Naive check: (highway=residential or highway=unclassified or highway=primary or highway=secondary or highway=tertiary or highway=trunk (...))

B - node that may be left by railway vehicles in two directions (railway=*)

This check should find all nodes without railway=level_crossing but passing check A and check B

Repository Root:

Build-Date: 2013-11-09 02:35:12
Last Changed Author: Don-vip
Revision: 6381
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last Changed Date: 2013-11-08 14:41:01 +0100 (Fri, 08 Nov 2013)
Last Changed Rev: 6381

Identification: JOSM/1.5 (6381 en_GB) Windows 7 32-Bit
Memory Usage: 94 MB / 247 MB (31 MB allocated, but free)
Java version: 1.7.0_45, Oracle Corporation, Java HotSpot(TM) Client VM
Dataset consistency test: No problems found

Plugin: OpeningHoursEditor (29854)
Plugin: notes (v0.6)

Attachments (0)

Change History (7)

comment:1 Changed 8 years ago by mkoniecz

Description: modified (diff)

comment:2 Changed 8 years ago by skyper

Description: modified (diff)
Keywords: railway level crossing added

comment:3 Changed 8 years ago by Don-vip

Ticket #9683 has been marked as a duplicate of this ticket.

comment:4 Changed 8 years ago by Don-vip

Cc: naoliv simon04 added

Some work done in ticket:9683#comment:3

comment:5 Changed 6 years ago by maxerickson@…

Here's a rule for matching the nodes, patterned after the bridge/river intersection test in #11127:

way[railway=rail] > node:connection{

set connected_rail_node;


way[highway] > node.connected_rail_node[!railway]{

throwWarning: tr("Missing crossing.");


I'm naive about whether the performance of such a test would be better or worse than the suggestion linked in the previous comment. Here's also the obvious expansion of that with better specificity:

way[highway=trunk] > node.connected_rail_node[!railway],
way[highway=primary] > node.connected_rail_node[!railway],
way[highway=secondary] > node.connected_rail_node[!railway],
way[highway=tertiary] > node.connected_rail_node[!railway],
way[highway=unclassified] > node.connected_rail_node[!railway],
way[highway=residential] > node.connected_rail_node[!railway],
way[highway=service] > node.connected_rail_node[!railway],
way[highway=track] > node.connected_rail_node[!railway]{

throwWarning: tr("Missing level crossing tag.");
fixAdd: "railway=level_crossing";


way[highway=cycleway] > node.connected_rail_node[!railway],
way[highway=path] > node.connected_rail_node[!railway],
way[highway=footway] > node.connected_rail_node[!railway],
way[highway=bridleway] > node.connected_rail_node[!railway]{

throwWarning: tr("Missing crossing tag.");
fixAdd: "railway=crossing";


The same pattern could also be used to suggest places where crossing should be level_crossing, and vice versa.

comment:6 Changed 6 years ago by naoliv

It's the same case from #11270 (one of them should be marked as duplicated)

comment:7 Changed 6 years ago by Klumbumbus

Resolution: duplicate
Status: newclosed

Closed as duplicate of #11270.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.