From e60dafa540f58632a9a8b9a3a8cb159efa1ecf24 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 30 Jan 2019 23:39:11 -0500 Subject: [PATCH] Fix crossing ways validation - `geoChooseEdge` takes projected loc --- modules/validations/crossing_ways.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/validations/crossing_ways.js b/modules/validations/crossing_ways.js index f578d7f0d..339d7813e 100644 --- a/modules/validations/crossing_ways.js +++ b/modules/validations/crossing_ways.js @@ -321,19 +321,20 @@ export function validationHighwayCrossingOtherWays() { context.perform( function actionConnectCrossingWays(graph) { + var projection = context.projection; - var node = osmNode(); + var node = osmNode({ loc: loc }); graph = graph.replace(node); var way0 = graph.entity(ways[0].id); - var choice0 = geoChooseEdge(graph.childNodes(way0), loc, context.projection); + var choice0 = geoChooseEdge(graph.childNodes(way0), projection(loc), projection); var edge0 = [way0.nodes[choice0.index - 1], way0.nodes[choice0.index]]; - graph = actionAddMidpoint({loc: choice0.loc, edge: edge0}, node)(graph); + graph = actionAddMidpoint({loc: loc, edge: edge0}, node)(graph); var way1 = graph.entity(ways[1].id); - var choice1 = geoChooseEdge(graph.childNodes(way1), loc, context.projection); + var choice1 = geoChooseEdge(graph.childNodes(way1), projection(loc), projection); var edge1 = [way1.nodes[choice1.index - 1], way1.nodes[choice1.index]]; - graph = actionAddMidpoint({loc: choice1.loc, edge: edge1}, node)(graph); + graph = actionAddMidpoint({loc: loc, edge: edge1}, node)(graph); return graph; },