James Beard e7227f51b7
Preliminary improvements to documentation, esp internal types e.g. Units (#2727)
* Added JSDoc for internal types and constants e.g. Unts and earthRadius. Minimal other changes to bring JSDoc types into line with code types. Added GeoJsonProperties to documentation.yml for type linking.

* Generated README.md files based on updated source that now includes JSDoc for internal types and constants e.g. Units. Also synced up some out of data JSDoc types with what is in the code.

* Switched the structure of documentation.yml to be more traditionally nested. We'll use this new structure from the turf-www repo to generate the website documentation in a more robust manner.

* For some reason leaving this function documented as the default (geojsonRbush) causes @turf/turf last-checks to fail. Specifically defining it as rbush like it used to be, except with the @function tag rather than @name.
2024-10-11 12:56:42 +11:00

4.4 KiB

@turf/random

randomPosition

Returns a random position within a bounding box.

Parameters

  • bbox BBox a bounding box inside of which positions are placed. (optional, default [-180,-90,180,90])

Examples

var position = turf.randomPosition([-180, -90, 180, 90])
// => position
  • Throws Error if bbox is invalid

Returns Position Position [longitude, latitude]

randomPoint

Returns a random point.

Parameters

  • count number how many geometries will be generated (optional, default 1)

  • options Object Optional parameters (optional, default {})

    • options.bbox BBox a bounding box inside of which geometries are placed. (optional, default [-180,-90,180,90])

Examples

var points = turf.randomPoint(25, {bbox: [-180, -90, 180, 90]})
// => points
  • Throws Error if bbox is invalid

Returns FeatureCollection<Point> GeoJSON FeatureCollection of points

randomPolygon

Returns a random polygon.

Parameters

  • count number how many geometries will be generated (optional, default 1)

  • options Object Optional parameters (optional, default {})

    • options.bbox BBox a bounding box inside of which geometries are placed. (optional, default [-180,-90,180,90])
    • options.num_vertices number is how many coordinates each LineString will contain. (optional, default 10)
    • options.max_radial_length number is the maximum number of decimal degrees latitude or longitude that a vertex can reach out of the center of the Polygon. (optional, default 10)

Examples

var polygons = turf.randomPolygon(25, {bbox: [-180, -90, 180, 90]})
// => polygons
  • Throws Error if bbox is invalid

Returns FeatureCollection<Polygon> GeoJSON FeatureCollection of polygons

randomLineString

Returns a random LineString.

Parameters

  • count number how many geometries will be generated (optional, default 1)

  • options Object Optional parameters (optional, default {})

    • options.bbox BBox a bounding box inside of which geometries are placed. (optional, default [-180,-90,180,90])
    • options.num_vertices number is how many coordinates each LineString will contain. (optional, default 10)
    • options.max_length number is the maximum number of decimal degrees that a vertex can be from its predecessor (optional, default 0.0001)
    • options.max_rotation number is the maximum number of radians that a line segment can turn from the previous segment. (optional, default Math.PI/8)

Examples

var lineStrings = turf.randomLineString(25, {bbox: [-180, -90, 180, 90]})
// => lineStrings
  • Throws Error if bbox is invalid

Returns FeatureCollection<LineString> GeoJSON FeatureCollection of linestrings


This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.

Installation

Install this single module individually:

$ npm install @turf/random

Or install the all-encompassing @turf/turf module that includes all modules as functions:

$ npm install @turf/turf