Opened 11 years ago
Closed 9 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 )
variant of #9141 (detect nodes with missing highway=crossing) and #9297 (detect nodes with unneeded railway=level_crossing)
Rules:
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: http://josm.openstreetmap.de/svn Build-Date: 2013-11-09 02:35:12 Last Changed Author: Don-vip Revision: 6381 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk 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 by , 11 years ago
Description: | modified (diff) |
---|
comment:2 by , 11 years ago
Description: | modified (diff) |
---|---|
Keywords: | railway level crossing added |
comment:3 by , 11 years ago
comment:5 by , 10 years ago
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 by , 10 years ago
It's the same case from #11270 (one of them should be marked as duplicated)
comment:7 by , 9 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Closed as duplicate of #11270.
Ticket #9683 has been marked as a duplicate of this ticket.