From 180a2bbd507411c2394bd5d0a368b48738d1bd20 Mon Sep 17 00:00:00 2001 From: Kyle Hensel Date: Sat, 25 May 2024 16:01:04 +1000 Subject: [PATCH] render oneway arrows for the `conveying` tag --- modules/osm/tags.js | 5 +++++ modules/svg/lines.js | 13 +++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/modules/osm/tags.js b/modules/osm/tags.js index eeb40e8b1..cb77b5672 100644 --- a/modules/osm/tags.js +++ b/modules/osm/tags.js @@ -135,6 +135,11 @@ export var osmOneWayTags = { 't-bar': true, 'zip_line': true }, + 'conveying': { + 'forward': true, + 'backward': true, + 'reversible': true, + }, 'highway': { 'motorway': true }, diff --git a/modules/svg/lines.js b/modules/svg/lines.js index d380c5658..e960087f2 100644 --- a/modules/svg/lines.js +++ b/modules/svg/lines.js @@ -254,9 +254,18 @@ export function svgLines(projection, context) { var onewayArr = v.filter(function(d) { return d.isOneWay(); }); var onewaySegments = svgMarkerSegments( projection, graph, 35, - function shouldReverse(entity) { return entity.tags.oneway === '-1'; }, + function shouldReverse(entity) { + return ( + entity.tags.oneway === '-1' + || entity.tags.conveying === 'backward' + ); + }, function bothDirections(entity) { - return entity.tags.oneway === 'reversible' || entity.tags.oneway === 'alternating'; + return ( + entity.tags.oneway === 'alternating' + || entity.tags.oneway === 'reversible' + || entity.tags.conveying === 'reversible' + ); } ); onewaydata[k] = utilArrayFlatten(onewayArr.map(onewaySegments));