UNPKG

@sports-alliance/sports-lib

Version:

A Library to for importing / exporting and processing GPX, TCX, FIT and JSON files from services such as Strava, Movescount, Garmin, Polar etc

40 lines (39 loc) 1.86 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.GeoLibAdapter = void 0; var getPreciseDistance_1 = __importDefault(require("geolib/es/getPreciseDistance")); var getDistance_1 = __importDefault(require("geolib/es/getDistance")); var findNearest_1 = __importDefault(require("geolib/es/findNearest")); var GeoLibAdapter = /** @class */ (function () { function GeoLibAdapter() { this.findNearest = findNearest_1.default; } GeoLibAdapter.prototype.getDistance = function (positionArray, precise, accuracy) { if (precise === void 0) { precise = false; } if (accuracy === void 0) { accuracy = 0.1; } var distance = 0; var excludeFirstPointsArray = positionArray.slice(1); var firstPosition = positionArray[0]; for (var _i = 0, excludeFirstPointsArray_1 = excludeFirstPointsArray; _i < excludeFirstPointsArray_1.length; _i++) { var nextPosition = excludeFirstPointsArray_1[_i]; var firstPositionAsDecimal = { longitude: firstPosition.longitudeDegrees, latitude: firstPosition.latitudeDegrees }; var nextPositionAsDecimal = { longitude: nextPosition.longitudeDegrees, latitude: nextPosition.latitudeDegrees }; distance += precise ? getPreciseDistance_1.default(firstPositionAsDecimal, nextPositionAsDecimal, accuracy) : getDistance_1.default(firstPositionAsDecimal, nextPositionAsDecimal, accuracy); firstPosition = nextPosition; } return distance; }; return GeoLibAdapter; }()); exports.GeoLibAdapter = GeoLibAdapter;