From c97e76a6b4ceea0dc2d8fe7f5d9587a7332cd423 Mon Sep 17 00:00:00 2001 From: Candid Dauth Date: Sat, 16 Mar 2024 00:07:53 +0100 Subject: [PATCH] Round route/line distance --- server/src/routing/routing.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/src/routing/routing.ts b/server/src/routing/routing.ts index 0f233afb..cdc18a26 100644 --- a/server/src/routing/routing.ts +++ b/server/src/routing/routing.ts @@ -1,6 +1,6 @@ import { calculateBbox, isInBbox } from "../utils/geo.js"; import type { Bbox, BboxWithZoom, CRU, Line, Point, Route, RouteInfo, RouteMode, TrackPoint } from "facilmap-types"; -import { decodeRouteMode, type DecodedRouteMode, calculateDistance } from "facilmap-utils"; +import { decodeRouteMode, type DecodedRouteMode, calculateDistance, round } from "facilmap-utils"; import { calculateOSRMRoute } from "./osrm.js"; import { calculateORSRoute, getMaximumDistanceBetweenRoutePoints } from "./ors.js"; @@ -35,6 +35,11 @@ export async function calculateRoute(routePoints: Point[], encodedMode: RouteMod route = await calculateORSRoute(routePoints, decodedMode); } + route!.distance = round(route!.distance, 2); + route!.time = route!.time != null ? Math.round(route!.time) : route!.time; + route!.ascent = route!.ascent != null ? Math.round(route!.ascent) : route!.ascent; + route!.descent = route!.descent != null ? Math.round(route!.descent) : route!.descent; + calculateZoomLevels(route!.trackPoints); return { @@ -54,7 +59,7 @@ export async function calculateRouteForLine(line: Pick= 2) { - result.distance = calculateDistance(line.trackPoints); + result.distance = round(calculateDistance(line.trackPoints), 2); result.time = undefined; result.extraInfo = undefined; @@ -78,7 +83,7 @@ export async function calculateRouteForLine(line: Pick