From 743ff060ec6c1d96fff36805c26c639ccec8f600 Mon Sep 17 00:00:00 2001 From: Nate-Wessel Date: Mon, 15 Jan 2024 20:53:59 +0000 Subject: [PATCH 1/2] handle missing cross-street --- frontend/src/corridor.js | 7 +++++++ frontend/src/intersection.js | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/frontend/src/corridor.js b/frontend/src/corridor.js index 0d7c21a..166d3dc 100644 --- a/frontend/src/corridor.js +++ b/frontend/src/corridor.js @@ -46,8 +46,15 @@ export class Corridor extends Factor { if(this.#intersections.length == 1){ return `Incomplete corridor starting from ${this.intersections[0].description}` }else if(this.#intersections.length == 2 && this.viaStreets.size > 0){ + // routing should be done let start = difference(this.intersections[0].streetNames,this.viaStreets) let end = difference(this.intersections[1].streetNames,this.viaStreets) + if(start.size == 0){ + start.add(this.intersections[0].displayCoords) + } + if(end.size == 0){ + end.add(this.intersections[1].displayCoords) + } return `${[...start].join(' & ')} to ${[...end].join(' & ')} via ${[...this.viaStreets].join(' & ')}` }else if(this.#intersections.length == 2){ // but no via streets (yet?) let start = [...this.intersections[0].streetNames].join(' & ') diff --git a/frontend/src/intersection.js b/frontend/src/intersection.js index 90f36b5..c324f1d 100644 --- a/frontend/src/intersection.js +++ b/frontend/src/intersection.js @@ -11,6 +11,10 @@ export class Intersection { } get id(){ return this.#id } get latlng(){ return { lat: this.#lat, lng: this.#lng } } + get displayCoords(){ + // for display purposes only + return `${this.#lng.toFixed(5)}, ${this.#lat.toFixed(5)}` + } get description(){ return [...this.#streetNames].join(' & ') } From 1476d7173c9273eb2e4463c1a4d77b99bb307986 Mon Sep 17 00:00:00 2001 From: Nate-Wessel Date: Mon, 15 Jan 2024 20:57:24 +0000 Subject: [PATCH 2/2] change corridor name order - via first --- frontend/src/corridor.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/frontend/src/corridor.js b/frontend/src/corridor.js index 166d3dc..a610e3e 100644 --- a/frontend/src/corridor.js +++ b/frontend/src/corridor.js @@ -49,13 +49,10 @@ export class Corridor extends Factor { // routing should be done let start = difference(this.intersections[0].streetNames,this.viaStreets) let end = difference(this.intersections[1].streetNames,this.viaStreets) - if(start.size == 0){ - start.add(this.intersections[0].displayCoords) - } - if(end.size == 0){ - end.add(this.intersections[1].displayCoords) - } - return `${[...start].join(' & ')} to ${[...end].join(' & ')} via ${[...this.viaStreets].join(' & ')}` + // no cross-street of a different name + if(start.size == 0){ start.add(this.intersections[0].displayCoords) } + if(end.size == 0){ end.add(this.intersections[1].displayCoords) } + return `${[...this.viaStreets].join(' & ')} from ${[...start].join(' & ')} to ${[...end].join(' & ')}` }else if(this.#intersections.length == 2){ // but no via streets (yet?) let start = [...this.intersections[0].streetNames].join(' & ') let end = [...this.intersections[1].streetNames].join(' & ')