New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@geoblocks/edittrack

Package Overview
Dependencies
Maintainers
0
Versions
63
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@geoblocks/edittrack - npm Package Compare versions

Comparing version 1.3.12 to 1.3.13

15

lib/snapper/GraphHopperSnapper.js
import { fromLonLat, toLonLat } from 'ol/proj.js';
import { distance } from 'ol/coordinate';
export default class GraphHopper {

@@ -11,5 +12,7 @@ /**

maxDistance;
maxTolerance;
constructor(options) {
this.nearestUrl = options.url;
this.maxDistance = options.maxDistance ?? 20;
this.maxDistance = options.maxDistance ?? Infinity;
this.maxTolerance = options.maxTolerance ?? Infinity;
this.map = options.map;

@@ -34,6 +37,14 @@ }

const newCoordinates = fromLonLat(json.coordinates, mapProjection);
if (this.maxTolerance !== Infinity && !this.isInTolerance(geom.getCoordinates(), newCoordinates)) {
return undefined;
}
geom.setCoordinates(newCoordinates);
point.set('snapped', true);
}
isInTolerance(pointA, pointB) {
const pointAPixel = this.map.getPixelFromCoordinate(pointA);
const pointBPixel = this.map.getPixelFromCoordinate(pointB);
return distance(pointAPixel, pointBPixel) < this.maxTolerance;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhIb3BwZXJTbmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NuYXBwZXIvR3JhcGhIb3BwZXJTbmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBZ0JoRCxNQUFNLENBQUMsT0FBTyxPQUFPLFdBQVc7SUFFOUI7Ozs7T0FJRztJQUNLLFVBQVUsQ0FBUztJQUVuQixHQUFHLENBQU07SUFFVCxXQUFXLENBQVM7SUFHNUIsWUFBWSxPQUEyQjtRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBcUI7UUFDbkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakUsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQix1QkFBdUI7WUFDdkIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxvQkFBb0I7WUFDcEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhIb3BwZXJTbmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NuYXBwZXIvR3JhcGhIb3BwZXJTbmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBSWhELE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFtQnJELE1BQU0sQ0FBQyxPQUFPLE9BQU8sV0FBVztJQUU5Qjs7OztPQUlHO0lBQ0ssVUFBVSxDQUFTO0lBRW5CLEdBQUcsQ0FBTTtJQUVULFdBQVcsQ0FBUztJQUVwQixZQUFZLENBQVM7SUFFN0IsWUFBWSxPQUEyQjtRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDO1FBQ3JELElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFxQjtRQUNuQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDdEUsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNqRSxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFFBQVEsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNCLHVCQUF1QjtZQUN2QixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLG9CQUFvQjtZQUNwQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDbkUsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDakcsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFrQixFQUFFLE1BQWtCO1FBQ2xELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxPQUFPLFFBQVEsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNoRSxDQUFDO0NBQ0YifQ==
import type { Snapper } from '.';
import type { Feature, Map } from 'ol';
import type { Point } from 'ol/geom';
import { Coordinate } from 'ol/coordinate';
type GraphHopperOptions = {

@@ -9,5 +10,10 @@ map: Map;

* The maximum distance in meters between the initial coordinates and the snapped ones.
* Snapping only happen when the distance is lower than this limit.
* Snapping only happens when the distance is lower than this limit.
*/
maxDistance?: number;
/**
* The maximum distance in pixels between the initial coordinates and the snapped ones.
* Snapping only happens when the distance is lower than this limit.
*/
maxTolerance?: number;
};

@@ -23,6 +29,8 @@ export default class GraphHopper implements Snapper {

private maxDistance;
private maxTolerance;
constructor(options: GraphHopperOptions);
snapPoint(point: Feature<Point>): Promise<any>;
isInTolerance(pointA: Coordinate, pointB: Coordinate): boolean;
}
export {};
//# sourceMappingURL=GraphHopperSnapper.d.ts.map

2

package.json
{
"name": "@geoblocks/edittrack",
"version": "1.3.12",
"version": "1.3.13",
"description": "Geoblocks edittrack",

@@ -5,0 +5,0 @@ "scripts": {

@@ -5,2 +5,3 @@ import {fromLonLat, toLonLat} from 'ol/proj.js';

import type { Point } from 'ol/geom';
import { Coordinate, distance } from 'ol/coordinate';

@@ -12,5 +13,11 @@ type GraphHopperOptions = {

* The maximum distance in meters between the initial coordinates and the snapped ones.
* Snapping only happen when the distance is lower than this limit.
* Snapping only happens when the distance is lower than this limit.
*/
maxDistance?: number;
/**
* The maximum distance in pixels between the initial coordinates and the snapped ones.
* Snapping only happens when the distance is lower than this limit.
*/
maxTolerance?: number;
};

@@ -32,6 +39,8 @@

private maxTolerance: number;
constructor(options: GraphHopperOptions) {
this.nearestUrl = options.url;
this.maxDistance = options.maxDistance ?? 20;
this.maxDistance = options.maxDistance ?? Infinity;
this.maxTolerance = options.maxTolerance ?? Infinity;
this.map = options.map;

@@ -57,5 +66,15 @@ }

const newCoordinates = fromLonLat(json.coordinates, mapProjection);
if (this.maxTolerance !== Infinity && !this.isInTolerance(geom.getCoordinates(), newCoordinates)) {
return undefined;
}
geom.setCoordinates(newCoordinates);
point.set('snapped', true);
}
isInTolerance(pointA: Coordinate, pointB: Coordinate): boolean {
const pointAPixel = this.map.getPixelFromCoordinate(pointA);
const pointBPixel = this.map.getPixelFromCoordinate(pointB);
return distance(pointAPixel, pointBPixel) < this.maxTolerance;
}
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc