gps-scramble

A tool for controlled randomization/spoofing of GPS coordinates.
Features
- Generate similar coordinates within a distance of given coordinates
- Location name based coordinate generation (geocoding), resolve coordinates by location name
- Generate the coordinates of a random establishment near the given coordinates
Install
$ npm install gps-scramble
Usage
const { Scrambler } = require("gps-scramble");
let scrambler = new Scrambler([40.758896, -73.98513]);
console.log(scrambler.within(100, "m"));
console.log(scrambler.near());
Advanced usage (Geocoding)
const { ScramblerAsync } = require("gps-scramble");
let scrambler = new ScramblerAsync("Times Square");
let location = await scrambler.within(100, "m");
console.log(location.x, location.y);
location = await scrambler.near();
console.log(location.x, location.y);
location = await scrambler.nearbyEstablishment();
console.log(location.x, location.y);
Geocoding support
To enable geocoding support (powered by Bing Maps Geocoding API), you must get an API key.
The process of getting a key is described here
The key must be loaded as an enviromental variable named BING_API_KEY
.
Units
Supported units are: "mm" - milimeters, "cm" - centimeters, "m" - meters (default), "dm" - decimeters, "km" - kilometers.
API
API reference docs.
All gps-scrambler methods return Location objects, which contain coordinates.
They can be accessed like this:
const { Scrambler } = require("gps-scramble");
let scrambler = new Scrambler([40.758896, -73.98513]);
let location = scrambler.near();
location.x;
location.y;
location[0];
location[1];
The same method for access works with scramblers themselves. Their initial states can be accessed like so:
const { Scrambler } = require("gps-scramble");
let scrambler = new Scrambler([40.758896, -73.98513]);
scrambler.x;
scrambler.y;
Support
Submit bugs and requests through the project's issue tracker:
