
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
random-location
Advanced tools
Random coordinates within a circle (or on a circumference) given a center point and radius.
random-location
gets you
random coordinates within a circle (or on a circumference) given a center point and radius.
We use it to stress test our geohash based services.
It works anywhere JavaScript runs.
web example
|
react-native example
Using npm:
$ npm install --save random-location
Then use as you would anything else:
// Using ES6 modules
import randomLocation from 'random-location'
// Using CommonJS modules
const randomLocation = require('random-location')
The UMD build is also available on unpkg:
<script src="https://unpkg.com/random-location/dist/randomLocation.umd.js"></script>
randomLocation.randomCirclePoint(...)
Outputs a Point ( { latitude: ..., longitude: ... }
) of random coordinates within a circle.
Function definition:
const randomCirclePoint = (centerPoint, radius, randomFn = Math.random) => { ... }
Where:
centerPoint
required An object with a latitude
and longitude
fields.radius
required The maximum distance (meters) from centerPoint
.randomFn
optional A random function. Output is >=0 and <=1. Allows usage of seeded random number generators (see seedrandom
) - more predictability when testing.randomLocation.randomCircumferencePoint(...)
Outputs a Point ( { latitude: ..., longitude: ... }
) of random coordinates on a circle's circumference.
Function definition:
const randomCircumferencePoint= (centerPoint, radius, randomFn = Math.random) => { ... }
Where:
centerPoint
required An object with a latitude
and longitude
fields.radius
required The distance (meters) from centerPoint
.randomFn
optional A random function. Output is >=0 and <=1. Allows usage of seeded random number generators (see seedrandom
) - more predictability when testing.randomLocation.randomAnnulusPoint(...)
Outputs a Point ( { latitude: ..., longitude: ... }
) of random coordinates in a region bounded by two concentric circles (annulus).
Function definition:
const randomCircumferencePoint= (centerPoint, radius, randomFn = Math.random) => { ... }
Where:
centerPoint
required An object with a latitude
and longitude
fields.innerRadius
required The readius of the smaller circle.outerRadius
required The readius of the larger circle.randomFn
optional A random function. Output is >=0 and <=1. Allows usage of seeded random number generators (see seedrandom
) - more predictability when testing.Lets say we'd like to get a random location that its distance from
Twitter's HQ
is at most 500
meters:
// Twitter HQ
const P = {
latitude: 37.7768006,
longitude: -122.4187928
}
const R = 500 // meters
const randomPoint = randomLocation.randomCirclePoint(P, R)
// randomPoint => { latitude: 37.77636619, longitude: -122.416575663 }
Lets say we'd like to get a random location that its distance from
Twitter's HQ
is exactly 700
meters:
// Twitter HQ
const P = {
latitude: 37.7768006,
longitude: -122.4187928
}
const R = 700 // meters
const randomPoint = randomLocation.randomCircumferencePoint(P, R)
// randomPoint => { latitude: 37.7828897, longitude: -122.4167713 }
// Eiffel Tower
const P1 = {
latitude: 48.8583736,
longitude: 2.2922926,
}
// Notre-Dame Cathedral
const P2 = {
latitude: 48.8529717,
longitude: 2.3477134,
}
// Prints True
console.log(Math.floor(randomLocation.distance(P1, P2)) === 4098)
Clone. Install. Hack. Open a PR.
MIT.
FAQs
Random coordinates within a circle (or on a circumference) given a center point and radius.
The npm package random-location receives a total of 4,983 weekly downloads. As such, random-location popularity was classified as popular.
We found that random-location demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.