** | point to snap from |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.units? | **string** | can be degrees, radians, miles, or kilometers _(default 'kilometers')_ |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** closest point on the `line` to `point`. The properties object will contain four values: `index`: closest point was found on nth line part, `multiFeatureIndex`: closest point was found on the nth line of the `MultiLineString`, `dist`: distance between pt and the closest point, `location`: distance along the line between start and the closest point.
+
+
+
+### Examples
+
+```javascript
+var line = turf.lineString([
+ [-77.031669, 38.878605],
+ [-77.029609, 38.881946],
+ [-77.020339, 38.884084],
+ [-77.025661, 38.885821],
+ [-77.021884, 38.889563],
+ [-77.019824, 38.892368],
+]);
+var pt = turf.point([-77.037076, 38.884017]);
+
+var snapped = turf.nearestPointOnLine(line, pt, { units: "miles" });
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var line = turf.lineString([
+ [-77.031669, 38.878605],
+ [-77.029609, 38.881946],
+ [-77.020339, 38.884084],
+ [-77.025661, 38.885821],
+ [-77.021884, 38.889563],
+ [-77.019824, 38.892368],
+ ]);
+ var pt = turf.point([-77.037076, 38.884017]);
+
+ var snapped = turf.nearestPointOnLine(line, pt, { units: "miles" });
+
+ //addToMap
+ var addToMap = { line, pt, snapped };
+ snapped.properties["marker-color"] = "#00f";
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/nearest-point-on-line
+
+import { nearestPointOnLine } from "@turf/nearest-point-on-line";
+const result = nearestPointOnLine(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.nearestPointOnLine(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/nearestPointToLine.mdx b/versioned_docs/version-7.1.0/api/nearestPointToLine.mdx
new file mode 100644
index 00000000..5ab15271
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/nearestPointToLine.mdx
@@ -0,0 +1,83 @@
+---
+title: nearestPointToLine
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Returns the closest [point](https://tools.ietf.org/html/rfc7946#section-3.1.2), of a [collection](https://tools.ietf.org/html/rfc7946#section-3.3) of points,
+to a [line](https://tools.ietf.org/html/rfc7946#section-3.1.4). The returned point has a `dist` property indicating its distance to the line.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
+| points | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) \| [GeometryCollection](https://tools.ietf.org/html/rfc7946#section-3.1.8)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** | Point Collection |
+| line | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2) \| [Geometry](https://tools.ietf.org/html/rfc7946#section-3.1)\<[LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4)\>** | Line Feature |
+| options? | **Object** | Optional parameters |
+| options.units? | **string** | unit of the output distance property (eg: degrees, radians, miles, or kilometers) _(default 'kilometers')_ |
+| options.properties? | **Object** | Translate Properties to Point _(default \{\})_ |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** the closest point
+
+
+
+### Examples
+
+```javascript
+var pt1 = turf.point([0, 0]);
+var pt2 = turf.point([0.5, 0.5]);
+var points = turf.featureCollection([pt1, pt2]);
+var line = turf.lineString([
+ [1, 1],
+ [-1, 1],
+]);
+
+var nearest = turf.nearestPointToLine(points, line);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var pt1 = turf.point([0, 0]);
+ var pt2 = turf.point([0.5, 0.5]);
+ var points = turf.featureCollection([pt1, pt2]);
+ var line = turf.lineString([
+ [1, 1],
+ [-1, 1],
+ ]);
+
+ var nearest = turf.nearestPointToLine(points, line);
+
+ //addToMap
+ var addToMap = { nearest, line };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/nearest-point-to-line
+
+import { nearestPointToLine } from "@turf/nearest-point-to-line";
+const result = nearestPointToLine(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.nearestPointToLine(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/pNormDistance.mdx b/versioned_docs/version-7.1.0/api/pNormDistance.mdx
new file mode 100644
index 00000000..f5097df5
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/pNormDistance.mdx
@@ -0,0 +1,39 @@
+---
+title: pNormDistance
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+calcualte the Minkowski p-norm distance between two features.
+
+### Parameters
+
+| Name | Type | Description |
+| -------- | ------------- | ------------------------------------------------------------------- |
+| feature1 | **UNCERTAIN** | point feature |
+| feature2 | **UNCERTAIN** | point feature |
+| p | **UNCERTAIN** | p-norm 1=\**number**
+
+### Installation
+
+```javascript
+$ npm install @turf/distance-weight
+
+import { pNormDistance } from "@turf/distance-weight";
+const result = pNormDistance(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.pNormDistance(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/planepoint.mdx b/versioned_docs/version-7.1.0/api/planepoint.mdx
new file mode 100644
index 00000000..aac314c5
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/planepoint.mdx
@@ -0,0 +1,107 @@
+---
+title: planepoint
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a triangular plane as a polygon and a point within that triangle, and
+returns the z-value at that point.
+
+The Polygon should have properties `a`, `b`, and `c`
+that define the values at its three corners. Alternatively, the z-values
+of each triangle point can be provided by their respective 3rd coordinate
+if their values are not provided as properties.
+
+### Parameters
+
+| Name | Type | Description |
+| -------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ |
+| point | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | the Point for which a z-value will be calculated |
+| triangle | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** | a Polygon feature with three vertices |
+
+### Returns
+
+
+ **number** the z-value for `interpolatedPoint`
+
+
+
+### Examples
+
+```javascript
+const point = turf.point([-75.3221, 39.529]);
+// "a", "b", and "c" values represent the values of the coordinates in order.
+const triangle = turf.polygon(
+ [
+ [
+ [-75.1221, 39.57],
+ [-75.58, 39.18],
+ [-75.97, 39.86],
+ [-75.1221, 39.57],
+ ],
+ ],
+ {
+ a: 11,
+ b: 122,
+ c: 44,
+ },
+);
+
+const zValue = turf.planepoint(point, triangle);
+point.properties.zValue = zValue;
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ const point = turf.point([-75.3221, 39.529]);
+ // "a", "b", and "c" values represent the values of the coordinates in order.
+ const triangle = turf.polygon(
+ [
+ [
+ [-75.1221, 39.57],
+ [-75.58, 39.18],
+ [-75.97, 39.86],
+ [-75.1221, 39.57],
+ ],
+ ],
+ {
+ a: 11,
+ b: 122,
+ c: 44,
+ },
+ );
+
+ const zValue = turf.planepoint(point, triangle);
+ point.properties.zValue = zValue;
+
+ //addToMap
+ const addToMap = [triangle, point];
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/planepoint
+
+import { planepoint } from "@turf/planepoint";
+const result = planepoint(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.planepoint(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/point.mdx b/versioned_docs/version-7.1.0/api/point.mdx
new file mode 100644
index 00000000..d9b8ceeb
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/point.mdx
@@ -0,0 +1,52 @@
+---
+title: point
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Creates a [Point](https://tools.ietf.org/html/rfc7946#section-3.1.2) [Feature](https://tools.ietf.org/html/rfc7946#section-3.2) from a Position.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------- | -------------------- | ------------------------------------------------------------------------- |
+| coordinates | **Array\** | longitude, latitude position (each in decimal degrees) |
+| properties? | **Object** | an Object of key-value pairs to add as properties _(default \{\})_ |
+| options? | **Object** | Optional Parameters _(default \{\})_ |
+| options.bbox? | **Array\** | Bounding Box Array [west, south, east, north] associated with the Feature |
+| options.id? | **string \| number** | Identifier associated with the Feature |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** a Point feature
+
+
+
+### Examples
+
+```javascript
+var point = turf.point([-75.343, 39.984]);
+
+//=point
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/helpers
+
+import { point } from "@turf/helpers";
+const result = point(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.point(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/pointGrid.mdx b/versioned_docs/version-7.1.0/api/pointGrid.mdx
new file mode 100644
index 00000000..94550864
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/pointGrid.mdx
@@ -0,0 +1,75 @@
+---
+title: pointGrid
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Creates a grid of points
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| bbox | **[BBox](https://tools.ietf.org/html/rfc7946#section-5)** | extent of grid in [minX, minY, maxX, maxY] order |
+| cellSide | **number** | the distance between points |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.units? | **Units** | the units of the cellSide value. Supports all valid Turf \{@link https://github.com/Turfjs/turf/blob/master/packages/turf-helpers/README_UNITS.md Units\} _(default 'kilometers')_ |
+| options.mask? | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** | if passed a Polygon or MultiPolygon, the grid Points will be created only inside it |
+| options.properties? | **Object** | passed to each point of the grid _(default \{\})_ |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** grid of points
+
+
+
+### Examples
+
+```javascript
+var extent = [-70.823364, -33.553984, -70.473175, -33.302986];
+var cellSide = 3;
+var options = { units: "miles" };
+
+var grid = turf.pointGrid(extent, cellSide, options);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var extent = [-70.823364, -33.553984, -70.473175, -33.302986];
+ var cellSide = 3;
+ var options = { units: "miles" };
+
+ var grid = turf.pointGrid(extent, cellSide, options);
+
+ //addToMap
+ var addToMap = { grid };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/point-grid
+
+import { pointGrid } from "@turf/point-grid";
+const result = pointGrid(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.pointGrid(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/pointOnFeature.mdx b/versioned_docs/version-7.1.0/api/pointOnFeature.mdx
new file mode 100644
index 00000000..4df04799
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/pointOnFeature.mdx
@@ -0,0 +1,90 @@
+---
+title: pointOnFeature
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a Feature or FeatureCollection and returns a [Point](https://tools.ietf.org/html/rfc7946#section-3.1.2) guaranteed to be on the surface of the feature.
+
+- Given a [Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6), the point will be in the area of the polygon
+- Given a [LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4), the point will be along the string
+- Given a [Point](https://tools.ietf.org/html/rfc7946#section-3.1.2), the point will the same as the input
+
+### Parameters
+
+| Name | Type | Description |
+| ------- | ------------------------------------------------------------ | -------------------------------- |
+| geojson | **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** | any Feature or FeatureCollection |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** a point on the surface of `input`
+
+
+
+### Examples
+
+```javascript
+var polygon = turf.polygon([
+ [
+ [116, -36],
+ [131, -32],
+ [146, -43],
+ [155, -25],
+ [133, -9],
+ [111, -22],
+ [116, -36],
+ ],
+]);
+
+var pointOnPolygon = turf.pointOnFeature(polygon);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var polygon = turf.polygon([
+ [
+ [116, -36],
+ [131, -32],
+ [146, -43],
+ [155, -25],
+ [133, -9],
+ [111, -22],
+ [116, -36],
+ ],
+ ]);
+
+ var pointOnPolygon = turf.pointOnFeature(polygon);
+
+ //addToMap
+ var addToMap = { polygon, pointOnPolygon };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/point-on-feature
+
+import { pointOnFeature } from "@turf/point-on-feature";
+const result = pointOnFeature(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.pointOnFeature(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/pointToLineDistance.mdx b/versioned_docs/version-7.1.0/api/pointToLineDistance.mdx
new file mode 100644
index 00000000..b9b75148
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/pointToLineDistance.mdx
@@ -0,0 +1,58 @@
+---
+title: pointToLineDistance
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Returns the minimum distance between a [Point](https://tools.ietf.org/html/rfc7946#section-3.1.2) and a [LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4), being the distance from a line the
+minimum distance between the point and any segment of the `LineString`.
+
+### Parameters
+
+| Name | Type | Description |
+| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| pt | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\> \| Array\** | Feature or Geometry |
+| line | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4)\>** | GeoJSON Feature or Geometry |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.units? | **string** | can be anything supported by turf/convertLength (ex: degrees, radians, miles, or kilometers) _(default "kilometers")_ |
+| options.method? | **string** | whether to calculate the distance based on geodesic (spheroid) or planar (flat) method. Valid options are 'geodesic' or 'planar'. _(default "geodesic")_ |
+
+### Returns
+
+
+ **number** distance between point and line
+
+
+
+### Examples
+
+```javascript
+var pt = turf.point([0, 0]);
+var line = turf.lineString([
+ [1, 1],
+ [-1, 1],
+]);
+
+var distance = turf.pointToLineDistance(pt, line, { units: "miles" });
+//=69.11854715938406
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/point-to-line-distance
+
+import { pointToLineDistance } from "@turf/point-to-line-distance";
+const result = pointToLineDistance(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.pointToLineDistance(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/points.mdx b/versioned_docs/version-7.1.0/api/points.mdx
new file mode 100644
index 00000000..63aa23b8
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/points.mdx
@@ -0,0 +1,56 @@
+---
+title: points
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Creates a [Point](https://tools.ietf.org/html/rfc7946#section-3.1.2) [FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) from an Array of Point coordinates.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------- | ---------------------------- | ----------------------------------------------------------------------------------- |
+| coordinates | **Array\\>** | an array of Points |
+| properties? | **Object** | Translate these properties to each Feature _(default \{\})_ |
+| options? | **Object** | Optional Parameters _(default \{\})_ |
+| options.bbox? | **Array\** | Bounding Box Array [west, south, east, north] associated with the FeatureCollection |
+| options.id? | **string \| number** | Identifier associated with the FeatureCollection |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** Point Feature
+
+
+
+### Examples
+
+```javascript
+var points = turf.points([
+ [-75, 39],
+ [-80, 45],
+ [-78, 50],
+]);
+
+//=points
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/helpers
+
+import { points } from "@turf/helpers";
+const result = points(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.points(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/pointsWithinPolygon.mdx b/versioned_docs/version-7.1.0/api/pointsWithinPolygon.mdx
new file mode 100644
index 00000000..c22f9358
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/pointsWithinPolygon.mdx
@@ -0,0 +1,107 @@
+---
+title: pointsWithinPolygon
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Finds [Points](https://tools.ietf.org/html/rfc7946#section-3.1.2) or [MultiPoint](https://tools.ietf.org/html/rfc7946#section-3.1.3) coordinate positions that fall within [(Multi)Polygon(s)](https://tools.ietf.org/html/rfc7946#section-3.1.6).
+
+### Parameters
+
+| Name | Type | Description |
+| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------- |
+| points | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2) \| [FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2) \| [MultiPoint](https://tools.ietf.org/html/rfc7946#section-3.1.3)\>** | Point(s) or MultiPoint(s) as input search |
+| polygons | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) \| [Geometry](https://tools.ietf.org/html/rfc7946#section-3.1) \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** | (Multi)Polygon(s) to check if points are within |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2) \| [MultiPoint](https://tools.ietf.org/html/rfc7946#section-3.1.3)\>** Point(s) or MultiPoint(s) with positions that land within at least one polygon. The geometry type will match what was passsed in
+
+
+
+### Examples
+
+```javascript
+var points = turf.points([
+ [-46.6318, -23.5523],
+ [-46.6246, -23.5325],
+ [-46.6062, -23.5513],
+ [-46.663, -23.554],
+ [-46.643, -23.557],
+]);
+
+var searchWithin = turf.polygon([
+ [
+ [-46.653, -23.543],
+ [-46.634, -23.5346],
+ [-46.613, -23.543],
+ [-46.614, -23.559],
+ [-46.631, -23.567],
+ [-46.653, -23.56],
+ [-46.653, -23.543],
+ ],
+]);
+
+var ptsWithin = turf.pointsWithinPolygon(points, searchWithin);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var points = turf.points([
+ [-46.6318, -23.5523],
+ [-46.6246, -23.5325],
+ [-46.6062, -23.5513],
+ [-46.663, -23.554],
+ [-46.643, -23.557],
+ ]);
+
+ var searchWithin = turf.polygon([
+ [
+ [-46.653, -23.543],
+ [-46.634, -23.5346],
+ [-46.613, -23.543],
+ [-46.614, -23.559],
+ [-46.631, -23.567],
+ [-46.653, -23.56],
+ [-46.653, -23.543],
+ ],
+ ]);
+
+ var ptsWithin = turf.pointsWithinPolygon(points, searchWithin);
+
+ //addToMap
+ var addToMap = { points, searchWithin, ptsWithin };
+ turf.featureEach(ptsWithin, function (currentFeature) {
+ currentFeature.properties["marker-size"] = "large";
+ currentFeature.properties["marker-color"] = "#000";
+ });
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/points-within-polygon
+
+import { pointsWithinPolygon } from "@turf/points-within-polygon";
+const result = pointsWithinPolygon(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.pointsWithinPolygon(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/polygon.mdx b/versioned_docs/version-7.1.0/api/polygon.mdx
new file mode 100644
index 00000000..6ba3c362
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/polygon.mdx
@@ -0,0 +1,63 @@
+---
+title: polygon
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Creates a [Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) [Feature](https://tools.ietf.org/html/rfc7946#section-3.2) from an Array of LinearRings.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------- | ------------------------------------- | ------------------------------------------------------------------------- |
+| coordinates | **Array\\>\>** | an array of LinearRings |
+| properties? | **Object** | an Object of key-value pairs to add as properties _(default \{\})_ |
+| options? | **Object** | Optional Parameters _(default \{\})_ |
+| options.bbox? | **Array\** | Bounding Box Array [west, south, east, north] associated with the Feature |
+| options.id? | **string \| number** | Identifier associated with the Feature |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** Polygon Feature
+
+
+
+### Examples
+
+```javascript
+var polygon = turf.polygon(
+ [
+ [
+ [-5, 52],
+ [-4, 56],
+ [-2, 51],
+ [-7, 54],
+ [-5, 52],
+ ],
+ ],
+ { name: "poly1" },
+);
+
+//=polygon
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/helpers
+
+import { polygon } from "@turf/helpers";
+const result = polygon(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.polygon(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/polygonSmooth.mdx b/versioned_docs/version-7.1.0/api/polygonSmooth.mdx
new file mode 100644
index 00000000..4133075d
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/polygonSmooth.mdx
@@ -0,0 +1,89 @@
+---
+title: polygonSmooth
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Smooths a [Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) or [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7). Based on [Chaikin's algorithm](http://graphics.cs.ucdavis.edu/education/CAGDNotes/Chaikins-Algorithm/Chaikins-Algorithm.html).
+Warning: may create degenerate polygons.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
+| inputPolys | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\> \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\> \| [Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)** | (Multi)Polygon(s) to smooth |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.iterations? | **string** | The number of times to smooth the polygon. A higher value means a smoother polygon. _(default 1)_ |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** FeatureCollection containing the smoothed polygon/multipoylgons
+
+
+
+### Examples
+
+```javascript
+var polygon = turf.polygon([
+ [
+ [11, 0],
+ [22, 4],
+ [31, 0],
+ [31, 11],
+ [21, 15],
+ [11, 11],
+ [11, 0],
+ ],
+]);
+
+var smoothed = turf.polygonSmooth(polygon, { iterations: 3 });
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var polygon = turf.polygon([
+ [
+ [11, 0],
+ [22, 4],
+ [31, 0],
+ [31, 11],
+ [21, 15],
+ [11, 11],
+ [11, 0],
+ ],
+ ]);
+
+ var smoothed = turf.polygonSmooth(polygon, { iterations: 3 });
+
+ //addToMap
+ var addToMap = { smoothed, polygon };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/polygon-smooth
+
+import { polygonSmooth } from "@turf/polygon-smooth";
+const result = polygonSmooth(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.polygonSmooth(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/polygonTangents.mdx b/versioned_docs/version-7.1.0/api/polygonTangents.mdx
new file mode 100644
index 00000000..72f78c88
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/polygonTangents.mdx
@@ -0,0 +1,89 @@
+---
+title: polygonTangents
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Finds the tangents of a [(Multi)Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) from a [Point](https://tools.ietf.org/html/rfc7946#section-3.1.2).
+
+### Parameters
+
+| Name | Type | Description |
+| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
+| pt | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | to calculate the tangent points from |
+| polygon | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** | to get tangents from |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** Feature Collection containing the two tangent points
+
+
+
+### Examples
+
+```javascript
+var polygon = turf.polygon([
+ [
+ [11, 0],
+ [22, 4],
+ [31, 0],
+ [31, 11],
+ [21, 15],
+ [11, 11],
+ [11, 0],
+ ],
+]);
+var point = turf.point([61, 5]);
+
+var tangents = turf.polygonTangents(point, polygon);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var polygon = turf.polygon([
+ [
+ [11, 0],
+ [22, 4],
+ [31, 0],
+ [31, 11],
+ [21, 15],
+ [11, 11],
+ [11, 0],
+ ],
+ ]);
+ var point = turf.point([61, 5]);
+
+ var tangents = turf.polygonTangents(point, polygon);
+
+ //addToMap
+ var addToMap = { tangents, point, polygon };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/polygon-tangents
+
+import { polygonTangents } from "@turf/polygon-tangents";
+const result = polygonTangents(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.polygonTangents(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/polygonToLine.mdx b/versioned_docs/version-7.1.0/api/polygonToLine.mdx
new file mode 100644
index 00000000..e20319a7
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/polygonToLine.mdx
@@ -0,0 +1,85 @@
+---
+title: polygonToLine
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Converts a [Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) to [(Multi)LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4) or [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7) to a
+[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) of [(Multi)LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4).
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
+| poly | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** | Feature to convert |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.properties? | **Object** | translates GeoJSON properties to Feature _(default \{\})_ |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4) \| MultiLinestring\>** converted (Multi)Polygon to (Multi)LineString
+
+
+
+### Examples
+
+```javascript
+var poly = turf.polygon([
+ [
+ [125, -30],
+ [145, -30],
+ [145, -20],
+ [125, -20],
+ [125, -30],
+ ],
+]);
+
+var line = turf.polygonToLine(poly);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var poly = turf.polygon([
+ [
+ [125, -30],
+ [145, -30],
+ [145, -20],
+ [125, -20],
+ [125, -30],
+ ],
+ ]);
+
+ var line = turf.polygonToLine(poly);
+
+ //addToMap
+ var addToMap = { line };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/polygon-to-line
+
+import { polygonToLine } from "@turf/polygon-to-line";
+const result = polygonToLine(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.polygonToLine(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/polygonize.mdx b/versioned_docs/version-7.1.0/api/polygonize.mdx
new file mode 100644
index 00000000..a092a155
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/polygonize.mdx
@@ -0,0 +1,50 @@
+---
+title: polygonize
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Polygonizes [(Multi)LineString(s)](https://tools.ietf.org/html/rfc7946#section-3.1.4) into [Polygons](https://tools.ietf.org/html/rfc7946#section-3.1.6).
+
+Implementation of GEOSPolygonize function (`geos::operation::polygonize::Polygonizer`).
+
+Polygonizes a set of lines that represents edges in a planar graph. Edges must be correctly
+noded, i.e., they must only meet at their endpoints.
+
+The implementation correctly handles:
+
+- Dangles: edges which have one or both ends which are not incident on another edge endpoint.
+- Cut Edges (bridges): edges that are connected at both ends but which do not form part of a polygon.
+
+### Parameters
+
+| Name | Type | Description |
+| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------- |
+| geoJson | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) \| [Geometry](https://tools.ietf.org/html/rfc7946#section-3.1) \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4) \| [MultiLineString](https://tools.ietf.org/html/rfc7946#section-3.1.5)\>** | Lines in order to polygonize |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** Polygons created
+
+
+
+### Installation
+
+```javascript
+$ npm install @turf/polygonize
+
+import { polygonize } from "@turf/polygonize";
+const result = polygonize(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.polygonize(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/polygons.mdx b/versioned_docs/version-7.1.0/api/polygons.mdx
new file mode 100644
index 00000000..6da5aa0a
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/polygons.mdx
@@ -0,0 +1,71 @@
+---
+title: polygons
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Creates a [Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) [FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) from an Array of Polygon coordinates.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------- | ---------------------------------------------- | ------------------------------------------------------------------------- |
+| coordinates | **Array\\>\>\>** | an array of Polygon coordinates |
+| properties? | **Object** | an Object of key-value pairs to add as properties _(default \{\})_ |
+| options? | **Object** | Optional Parameters _(default \{\})_ |
+| options.bbox? | **Array\** | Bounding Box Array [west, south, east, north] associated with the Feature |
+| options.id? | **string \| number** | Identifier associated with the FeatureCollection |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** Polygon FeatureCollection
+
+
+
+### Examples
+
+```javascript
+var polygons = turf.polygons([
+ [
+ [
+ [-5, 52],
+ [-4, 56],
+ [-2, 51],
+ [-7, 54],
+ [-5, 52],
+ ],
+ ],
+ [
+ [
+ [-15, 42],
+ [-14, 46],
+ [-12, 41],
+ [-17, 44],
+ [-15, 42],
+ ],
+ ],
+]);
+
+//=polygons
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/helpers
+
+import { polygons } from "@turf/helpers";
+const result = polygons(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.polygons(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/propEach.mdx b/versioned_docs/version-7.1.0/api/propEach.mdx
new file mode 100644
index 00000000..76b5f8c3
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/propEach.mdx
@@ -0,0 +1,52 @@
+---
+title: propEach
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Iterate over properties in any GeoJSON object, similar to Array.forEach()
+
+### Parameters
+
+| Name | Type | Description |
+| -------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
+| geojson | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2)** | any GeoJSON object |
+| callback | **Function** | a method that takes (currentProperties, featureIndex) |
+
+### Returns
+
+
+
+### Examples
+
+```javascript
+var features = turf.featureCollection([
+ turf.point([26, 37], { foo: "bar" }),
+ turf.point([36, 53], { hello: "world" }),
+]);
+
+turf.propEach(features, function (currentProperties, featureIndex) {
+ //=currentProperties
+ //=featureIndex
+});
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/meta
+
+import { propEach } from "@turf/meta";
+const result = propEach(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.propEach(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/propReduce.mdx b/versioned_docs/version-7.1.0/api/propReduce.mdx
new file mode 100644
index 00000000..1958c44e
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/propReduce.mdx
@@ -0,0 +1,63 @@
+---
+title: propReduce
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Reduce properties in any GeoJSON object into a single value,
+similar to how Array.reduce works. However, in this case we lazily run
+the reduction, so an array of all properties is unnecessary.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
+| geojson | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2)** | any GeoJSON object |
+| callback | **Function** | a method that takes (previousValue, currentProperties, featureIndex) |
+| initialValue? | **\*** | Value to use as the first argument to the first call of the callback. |
+
+### Returns
+
+
+ **\*** The value that results from the reduction.
+
+
+
+### Examples
+
+```javascript
+var features = turf.featureCollection([
+ turf.point([26, 37], { foo: "bar" }),
+ turf.point([36, 53], { hello: "world" }),
+]);
+
+turf.propReduce(
+ features,
+ function (previousValue, currentProperties, featureIndex) {
+ //=previousValue
+ //=currentProperties
+ //=featureIndex
+ return currentProperties;
+ },
+);
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/meta
+
+import { propReduce } from "@turf/meta";
+const result = propReduce(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.propReduce(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/pt.mdx b/versioned_docs/version-7.1.0/api/pt.mdx
new file mode 100644
index 00000000..983017c2
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/pt.mdx
@@ -0,0 +1,38 @@
+---
+title: pt
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Translate Properties to final Point, priorities:
+
+1. options.properties
+1. inherent Point properties
+1. dist custom properties created by NearestPointToLine
+
+### Parameters
+
+| Name | Type | Description |
+| ---- | ---- | ----------- |
+
+### Returns
+
+### Installation
+
+```javascript
+$ npm install @turf/nearest-point-to-line
+
+import { pt } from "@turf/nearest-point-to-line";
+const result = pt(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.pt(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/quadratAnalysis.mdx b/versioned_docs/version-7.1.0/api/quadratAnalysis.mdx
new file mode 100644
index 00000000..49103125
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/quadratAnalysis.mdx
@@ -0,0 +1,74 @@
+---
+title: quadratAnalysis
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Quadrat analysis lays a set of equal-size areas(quadrat) over the study area and counts
+the number of features in each quadrat and creates a frequency table.
+The table lists the number of quadrats containing no features,
+the number containing one feature, two features, and so on,
+all the way up to the quadrat containing the most features.
+The method then creates the frequency table for the random distribution, usually based on a Poisson distribution.
+The method uses the distribution to calculate the probability for 0 feature occuring,
+1 feature occuring, 2 features, and so on,
+and lists these probabilities in the frequency table.
+By comparing the two frequency tables, you can see whether the features create a pattern.
+If the table for the observed distribution has more quadrats containing many features than the
+table for the random distribution dose, then the features create a clustered pattern.
+
+It is hard to judge the frequency tables are similar or different just by looking at them.
+So, we can use serval statistical tests to find out how much the frequency tables differ.
+We use Kolmogorov-Smirnov test.This method calculates cumulative probabilities for both distributions,
+and then compares the cumulative probabilities at each class level and selects the largest absolute difference D.
+Then, the test compares D to the critical value for a confidence level you specify.
+If D is greater than the critical value, the difference between the observed distribution and
+the random distribution is significant. The greater the value the bigger the difference.
+
+Traditionally, squares are used for the shape of the quadrats, in a regular grid(square-grid).
+Some researchers suggest that the quadrat size equal twice the size of mean area per feature,
+which is simply the area of the study area divided by the number of features.
+
+### Parameters
+
+| Name | Type | Description |
+| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
+| pointFeatureSet | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** | point set to study |
+| options? | **Object** | optional parameters _(default \{\})_ |
+| options.studyBbox? | **bbox** | bbox representing the study area |
+| options.confidenceLevel? | **number** | a confidence level. The unit is percentage . 5 means 95%, value must be in \{@link K*TABLE\} *(default 20)\_ |
+
+### Returns
+
+
+ **Object** result QuadratAnalysisResult
+
+
+
+### Examples
+
+```javascript
+var bbox = [-65, 40, -63, 42];
+var dataset = turf.randomPoint(100, { bbox: bbox });
+var result = turf.quadratAnalysis(dataset);
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/quadrat-analysis
+
+import { quadratAnalysis } from "@turf/quadrat-analysis";
+const result = quadratAnalysis(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.quadratAnalysis(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/radiansToDegrees.mdx b/versioned_docs/version-7.1.0/api/radiansToDegrees.mdx
new file mode 100644
index 00000000..b5865f4d
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/radiansToDegrees.mdx
@@ -0,0 +1,40 @@
+---
+title: radiansToDegrees
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Converts an angle in radians to degrees
+
+### Parameters
+
+| Name | Type | Description |
+| ------- | ---------- | ---------------- |
+| radians | **number** | angle in radians |
+
+### Returns
+
+
+ **number** degrees between 0 and 360 degrees
+
+
+
+### Installation
+
+```javascript
+$ npm install @turf/helpers
+
+import { radiansToDegrees } from "@turf/helpers";
+const result = radiansToDegrees(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.radiansToDegrees(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/radiansToLength.mdx b/versioned_docs/version-7.1.0/api/radiansToLength.mdx
new file mode 100644
index 00000000..6f6660ae
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/radiansToLength.mdx
@@ -0,0 +1,42 @@
+---
+title: radiansToLength
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.
+Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet
+
+### Parameters
+
+| Name | Type | Description |
+| ------------- | ---------- | --------------------------------------------------------------------------------------------------------------- |
+| radians | **number** | in radians across the sphere |
+| units? | **string** | can be degrees, radians, miles, inches, yards, metres, meters, kilometres, kilometers. _(default "kilometers")_ |
+
+### Returns
+
+
+ **number** distance
+
+
+
+### Installation
+
+```javascript
+$ npm install @turf/helpers
+
+import { radiansToLength } from "@turf/helpers";
+const result = radiansToLength(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.radiansToLength(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/randomLineString.mdx b/versioned_docs/version-7.1.0/api/randomLineString.mdx
new file mode 100644
index 00000000..6f877348
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/randomLineString.mdx
@@ -0,0 +1,52 @@
+---
+title: randomLineString
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Returns a random linestring.
+
+### Parameters
+
+| Name | Type | Description |
+| ---------------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------- |
+| count? | **number** | how many geometries will be generated _(default 1)_ |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.bbox? | **Array\** | a bounding box inside of which geometries are placed. _(default [-180,-90,180,90])_ |
+| options.num_vertices? | **number** | is how many coordinates each LineString will contain. _(default 10)_ |
+| options.max_length? | **number** | is the maximum number of decimal degrees that a vertex can be from its predecessor _(default 0.0001)_ |
+| options.max_rotation? | **number** | is the maximum number of radians that a line segment can turn from the previous segment. _(default Math.PI/8)_ |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4)\>** GeoJSON FeatureCollection of linestrings
+
+
+
+### Examples
+
+```javascript
+var lineStrings = turf.randomLineString(25, { bbox: [-180, -90, 180, 90] });
+// => lineStrings
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/random
+
+import { randomLineString } from "@turf/random";
+const result = randomLineString(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.randomLineString(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/randomPoint.mdx b/versioned_docs/version-7.1.0/api/randomPoint.mdx
new file mode 100644
index 00000000..b0597990
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/randomPoint.mdx
@@ -0,0 +1,49 @@
+---
+title: randomPoint
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Returns a random [point](point).
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------- | ------------------- | ----------------------------------------------------------------------------------- |
+| count? | **number** | how many geometries will be generated _(default 1)_ |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.bbox? | **Array\** | a bounding box inside of which geometries are placed. _(default [-180,-90,180,90])_ |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** GeoJSON FeatureCollection of points
+
+
+
+### Examples
+
+```javascript
+var points = turf.randomPoint(25, { bbox: [-180, -90, 180, 90] });
+// => points
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/random
+
+import { randomPoint } from "@turf/random";
+const result = randomPoint(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.randomPoint(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/randomPolygon.mdx b/versioned_docs/version-7.1.0/api/randomPolygon.mdx
new file mode 100644
index 00000000..15edd903
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/randomPolygon.mdx
@@ -0,0 +1,51 @@
+---
+title: randomPolygon
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Returns a random [polygon](polygon).
+
+### Parameters
+
+| Name | Type | Description |
+| --------------------------------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
+| count? | **number** | how many geometries will be generated _(default 1)_ |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.bbox? | **Array\** | a bounding box inside of which geometries are placed. _(default [-180,-90,180,90])_ |
+| options.num_vertices? | **number** | is how many coordinates each LineString will contain. _(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. _(default 10)_ |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** GeoJSON FeatureCollection of polygons
+
+
+
+### Examples
+
+```javascript
+var polygons = turf.randomPolygon(25, { bbox: [-180, -90, 180, 90] });
+// => polygons
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/random
+
+import { randomPolygon } from "@turf/random";
+const result = randomPolygon(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.randomPolygon(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/randomPosition.mdx b/versioned_docs/version-7.1.0/api/randomPosition.mdx
new file mode 100644
index 00000000..0223d90c
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/randomPosition.mdx
@@ -0,0 +1,47 @@
+---
+title: randomPosition
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Returns a random position within a bounding box.
+
+### Parameters
+
+| Name | Type | Description |
+| ------------ | ------------------- | ---------------------------------------------------------------------------------- |
+| bbox? | **Array\** | a bounding box inside of which positions are placed. _(default [-180,-90,180,90])_ |
+
+### Returns
+
+
+ **Array\** Position [longitude, latitude]
+
+
+
+### Examples
+
+```javascript
+var position = turf.randomPosition([-180, -90, 180, 90]);
+// => position
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/random
+
+import { randomPosition } from "@turf/random";
+const result = randomPosition(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.randomPosition(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/rbush.mdx b/versioned_docs/version-7.1.0/api/rbush.mdx
new file mode 100644
index 00000000..2743412c
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/rbush.mdx
@@ -0,0 +1,47 @@
+---
+title: rbush
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+GeoJSON implementation of [RBush](https://github.com/mourner/rbush#rbush) spatial index.
+
+### Parameters
+
+| Name | Type | Description |
+| ------------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| maxEntries? | **number** | defines the maximum number of entries in a tree node. 9 (used by default) is a reasonable choice for most applications. Higher value means faster insertion and slower search, and vice versa. _(default 9)_ |
+
+### Returns
+
+
+ **RBush** GeoJSON RBush
+
+
+
+### Examples
+
+```javascript
+var geojsonRbush = require("geojson-rbush").default;
+var tree = geojsonRbush();
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/geojson-rbush
+
+import { rbush } from "@turf/geojson-rbush";
+const result = rbush(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.rbush(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/rewind.mdx b/versioned_docs/version-7.1.0/api/rewind.mdx
new file mode 100644
index 00000000..5f64693f
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/rewind.mdx
@@ -0,0 +1,85 @@
+---
+title: rewind
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Rewind [(Multi)LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4) or [(Multi)Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) outer ring counterclockwise and inner rings clockwise (Uses [Shoelace Formula](http://en.wikipedia.org/wiki/Shoelace_formula)).
+
+### Parameters
+
+| Name | Type | Description |
+| ----------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
+| geojson | **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** | input GeoJSON Polygon |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.reverse? | **boolean** | enable reverse winding _(default false)_ |
+| options.mutate? | **boolean** | allows GeoJSON input to be mutated (significant performance increase if true) _(default false)_ |
+
+### Returns
+
+
+ **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** rewind Polygon
+
+
+
+### Examples
+
+```javascript
+var polygon = turf.polygon([
+ [
+ [121, -29],
+ [138, -29],
+ [138, -18],
+ [121, -18],
+ [121, -29],
+ ],
+]);
+
+var rewind = turf.rewind(polygon);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var polygon = turf.polygon([
+ [
+ [121, -29],
+ [138, -29],
+ [138, -18],
+ [121, -18],
+ [121, -29],
+ ],
+ ]);
+
+ var rewind = turf.rewind(polygon);
+
+ //addToMap
+ var addToMap = { rewind };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/rewind
+
+import { rewind } from "@turf/rewind";
+const result = rewind(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.rewind(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/rhumbBearing.mdx b/versioned_docs/version-7.1.0/api/rhumbBearing.mdx
new file mode 100644
index 00000000..ac55351d
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/rhumbBearing.mdx
@@ -0,0 +1,74 @@
+---
+title: rhumbBearing
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes two [points](https://tools.ietf.org/html/rfc7946#section-3.1.2) and finds the bearing angle between them along a Rhumb line
+i.e. the angle measured in degrees start the north line (0 degrees)
+
+### Parameters
+
+| Name | Type | Description |
+| --------------------- | -------------------------------------------------------------- | ------------------------------------------------------ |
+| start | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | starting Point |
+| end | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | ending Point |
+| options? | **Object** | Optional parameters |
+| options.final? | **boolean** | calculates the final bearing if true _(default false)_ |
+
+### Returns
+
+
+ **number** bearing from north in decimal degrees, between -180 and 180 degrees (positive clockwise)
+
+
+
+### Examples
+
+```javascript
+var point1 = turf.point([-75.343, 39.984], { "marker-color": "#F00" });
+var point2 = turf.point([-75.534, 39.123], { "marker-color": "#00F" });
+
+var bearing = turf.rhumbBearing(point1, point2);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var point1 = turf.point([-75.343, 39.984], { "marker-color": "#F00" });
+ var point2 = turf.point([-75.534, 39.123], { "marker-color": "#00F" });
+
+ var bearing = turf.rhumbBearing(point1, point2);
+
+ //addToMap
+ var addToMap = { point1, point2 };
+ point1.properties.bearing = bearing;
+ point2.properties.bearing = bearing;
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/rhumb-bearing
+
+import { rhumbBearing } from "@turf/rhumb-bearing";
+const result = rhumbBearing(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.rhumbBearing(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/rhumbDestination.mdx b/versioned_docs/version-7.1.0/api/rhumbDestination.mdx
new file mode 100644
index 00000000..be84d716
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/rhumbDestination.mdx
@@ -0,0 +1,79 @@
+---
+title: rhumbDestination
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Returns the destination [Point](https://tools.ietf.org/html/rfc7946#section-3.1.2) having travelled the given distance along a Rhumb line from the
+origin Point with the (varant) given bearing.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- |
+| origin | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | starting point |
+| distance | **number** | distance from the starting point |
+| bearing | **number** | varant bearing angle ranging from -180 to 180 degrees from north |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.units? | **string** | can be degrees, radians, miles, or kilometers _(default 'kilometers')_ |
+| options.properties? | **Object** | translate properties to destination point _(default \{\})_ |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** Destination point.
+
+
+
+### Examples
+
+```javascript
+var pt = turf.point([-75.343, 39.984], { "marker-color": "F00" });
+var distance = 50;
+var bearing = 90;
+var options = { units: "miles" };
+
+var destination = turf.rhumbDestination(pt, distance, bearing, options);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var pt = turf.point([-75.343, 39.984], { "marker-color": "F00" });
+ var distance = 50;
+ var bearing = 90;
+ var options = { units: "miles" };
+
+ var destination = turf.rhumbDestination(pt, distance, bearing, options);
+
+ //addToMap
+ var addToMap = { pt, destination };
+ destination.properties["marker-color"] = "#00F";
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/rhumb-destination
+
+import { rhumbDestination } from "@turf/rhumb-destination";
+const result = rhumbDestination(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.rhumbDestination(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/rhumbDistance.mdx b/versioned_docs/version-7.1.0/api/rhumbDistance.mdx
new file mode 100644
index 00000000..8f5a2a38
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/rhumbDistance.mdx
@@ -0,0 +1,76 @@
+---
+title: rhumbDistance
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Calculates the distance along a rhumb line between two [points](https://tools.ietf.org/html/rfc7946#section-3.1.2) in degrees, radians,
+miles, or kilometers.
+
+### Parameters
+
+| Name | Type | Description |
+| --------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- |
+| from | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | origin point |
+| to | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | destination point |
+| options? | **Object** | Optional parameters |
+| options.units? | **string** | can be degrees, radians, miles, or kilometers _(default "kilometers")_ |
+
+### Returns
+
+
+ **number** distance between the two points
+
+
+
+### Examples
+
+```javascript
+var from = turf.point([-75.343, 39.984]);
+var to = turf.point([-75.534, 39.123]);
+var options = { units: "miles" };
+
+var distance = turf.rhumbDistance(from, to, options);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var from = turf.point([-75.343, 39.984]);
+ var to = turf.point([-75.534, 39.123]);
+ var options = { units: "miles" };
+
+ var distance = turf.rhumbDistance(from, to, options);
+
+ //addToMap
+ var addToMap = { from, to };
+ from.properties.distance = distance;
+ to.properties.distance = distance;
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/rhumb-distance
+
+import { rhumbDistance } from "@turf/rhumb-distance";
+const result = rhumbDistance(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.rhumbDistance(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/round.mdx b/versioned_docs/version-7.1.0/api/round.mdx
new file mode 100644
index 00000000..88cc2896
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/round.mdx
@@ -0,0 +1,51 @@
+---
+title: round
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Round number to precision
+
+### Parameters
+
+| Name | Type | Description |
+| ----------------- | ---------- | ----------------------- |
+| num | **number** | Number |
+| precision? | **number** | Precision _(default 0)_ |
+
+### Returns
+
+
+ **number** rounded number
+
+
+
+### Examples
+
+```javascript
+turf.round(120.4321);
+//=120
+
+turf.round(120.4321, 2);
+//=120.43
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/helpers
+
+import { round } from "@turf/helpers";
+const result = round(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.round(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/sample.mdx b/versioned_docs/version-7.1.0/api/sample.mdx
new file mode 100644
index 00000000..8a128fe0
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/sample.mdx
@@ -0,0 +1,71 @@
+---
+title: sample
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a [FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) and returns a FeatureCollection with given number of [features](https://tools.ietf.org/html/rfc7946#section-3.2) at random.
+
+### Parameters
+
+| Name | Type | Description |
+| ----------------- | ------------------------------------------------------------------------ | ---------------------------- |
+| featurecollection | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)** | set of input features |
+| num | **number** | number of features to select |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)** a FeatureCollection with `n` features
+
+
+
+### Examples
+
+```javascript
+var points = turf.randomPoint(100, { bbox: [-80, 30, -60, 60] });
+
+var sample = turf.sample(points, 5);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var points = turf.randomPoint(100, { bbox: [-80, 30, -60, 60] });
+
+ var sample = turf.sample(points, 5);
+
+ //addToMap
+ var addToMap = { points, sample };
+ turf.featureEach(sample, function (currentFeature) {
+ currentFeature.properties["marker-size"] = "large";
+ currentFeature.properties["marker-color"] = "#000";
+ });
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/sample
+
+import { sample } from "@turf/sample";
+const result = sample(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.sample(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/sector.mdx b/versioned_docs/version-7.1.0/api/sector.mdx
new file mode 100644
index 00000000..e8c61c5e
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/sector.mdx
@@ -0,0 +1,80 @@
+---
+title: sector
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Creates a circular sector of a circle of given radius and center [Point](https://tools.ietf.org/html/rfc7946#section-3.1.2),
+between (clockwise) bearing1 and bearing2; 0 bearing is North of center point, positive clockwise.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------- |
+| center | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | center point |
+| radius | **number** | radius of the circle |
+| bearing1 | **number** | angle, in decimal degrees, of the first radius of the sector |
+| bearing2 | **number** | angle, in decimal degrees, of the second radius of the sector |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.units? | **string** | miles, kilometers, degrees, or radians _(default 'kilometers')_ |
+| options.steps? | **number** | number of steps _(default 64)_ |
+| options.properties? | **Properties** | Translate properties to Feature Polygon _(default \{\})_ |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** sector polygon
+
+
+
+### Examples
+
+```javascript
+var center = turf.point([-75, 40]);
+var radius = 5;
+var bearing1 = 25;
+var bearing2 = 45;
+
+var sector = turf.sector(center, radius, bearing1, bearing2);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var center = turf.point([-75, 40]);
+ var radius = 5;
+ var bearing1 = 25;
+ var bearing2 = 45;
+
+ var sector = turf.sector(center, radius, bearing1, bearing2);
+
+ //addToMap
+ var addToMap = { center, sector };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/sector
+
+import { sector } from "@turf/sector";
+const result = sector(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.sector(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/segmentEach.mdx b/versioned_docs/version-7.1.0/api/segmentEach.mdx
new file mode 100644
index 00000000..102f07ef
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/segmentEach.mdx
@@ -0,0 +1,77 @@
+---
+title: segmentEach
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Iterate over 2-vertex line segment in any GeoJSON object, similar to Array.forEach()
+(Multi)Point geometries do not contain segments therefore they are ignored during this operation.
+
+### Parameters
+
+| Name | Type | Description |
+| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
+| geojson | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2) \| [Geometry](https://tools.ietf.org/html/rfc7946#section-3.1)** | any GeoJSON |
+| callback | **Function** | a method that takes (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) |
+
+### Returns
+
+
+
+### Examples
+
+```javascript
+var polygon = turf.polygon([
+ [
+ [-50, 5],
+ [-40, -10],
+ [-50, -10],
+ [-40, 5],
+ [-50, 5],
+ ],
+]);
+
+// Iterate over GeoJSON by 2-vertex segments
+turf.segmentEach(
+ polygon,
+ function (
+ currentSegment,
+ featureIndex,
+ multiFeatureIndex,
+ geometryIndex,
+ segmentIndex,
+ ) {
+ //=currentSegment
+ //=featureIndex
+ //=multiFeatureIndex
+ //=geometryIndex
+ //=segmentIndex
+ },
+);
+
+// Calculate the total number of segments
+var total = 0;
+turf.segmentEach(polygon, function () {
+ total++;
+});
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/meta
+
+import { segmentEach } from "@turf/meta";
+const result = segmentEach(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.segmentEach(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/segmentReduce.mdx b/versioned_docs/version-7.1.0/api/segmentReduce.mdx
new file mode 100644
index 00000000..64c210aa
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/segmentReduce.mdx
@@ -0,0 +1,86 @@
+---
+title: segmentReduce
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Reduce 2-vertex line segment in any GeoJSON object, similar to Array.reduce()
+(Multi)Point geometries do not contain segments therefore they are ignored during this operation.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
+| geojson | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3) \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2) \| [Geometry](https://tools.ietf.org/html/rfc7946#section-3.1)** | any GeoJSON |
+| callback | **Function** | a method that takes (previousValue, currentSegment, currentIndex) |
+| initialValue? | **\*** | Value to use as the first argument to the first call of the callback. |
+
+### Returns
+
+
+
+### Examples
+
+```javascript
+var polygon = turf.polygon([
+ [
+ [-50, 5],
+ [-40, -10],
+ [-50, -10],
+ [-40, 5],
+ [-50, 5],
+ ],
+]);
+
+// Iterate over GeoJSON by 2-vertex segments
+turf.segmentReduce(
+ polygon,
+ function (
+ previousSegment,
+ currentSegment,
+ featureIndex,
+ multiFeatureIndex,
+ geometryIndex,
+ segmentIndex,
+ ) {
+ //= previousSegment
+ //= currentSegment
+ //= featureIndex
+ //= multiFeatureIndex
+ //= geometryIndex
+ //= segmentIndex
+ return currentSegment;
+ },
+);
+
+// Calculate the total number of segments
+var initialValue = 0;
+var total = turf.segmentReduce(
+ polygon,
+ function (previousValue) {
+ previousValue++;
+ return previousValue;
+ },
+ initialValue,
+);
+```
+
+### Installation
+
+```javascript
+$ npm install @turf/meta
+
+import { segmentReduce } from "@turf/meta";
+const result = segmentReduce(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.segmentReduce(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/shortestPath.mdx b/versioned_docs/version-7.1.0/api/shortestPath.mdx
new file mode 100644
index 00000000..76b8c7c0
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/shortestPath.mdx
@@ -0,0 +1,96 @@
+---
+title: shortestPath
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Returns the shortest [path](https://tools.ietf.org/html/rfc7946#section-3.1.4) from [start](https://tools.ietf.org/html/rfc7946#section-3.1.2) to [end](https://tools.ietf.org/html/rfc7946#section-3.1.2) without colliding with
+any [Feature](https://tools.ietf.org/html/rfc7946#section-3.2) in obstacles
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
+| start | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | point |
+| end | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | point |
+| options? | **Object** | optional parameters _(default \{\})_ |
+| options.obstacles? | **[Geometry](https://tools.ietf.org/html/rfc7946#section-3.1) \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2) \| [FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** | areas which path cannot travel |
+| options.units? | **string** | unit in which resolution & minimum distance will be expressed in; it can be degrees, radians, miles, kilometers, ... _(default 'kilometers')_ |
+| options.resolution? | **number** | distance between matrix points on which the path will be calculated _(default 100)_ |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[LineString](https://tools.ietf.org/html/rfc7946#section-3.1.4)\>** shortest path between start and end
+
+
+
+### Examples
+
+```javascript
+var start = [-5, -6];
+var end = [9, -6];
+var options = {
+ obstacles: turf.polygon([
+ [
+ [0, -7],
+ [5, -7],
+ [5, -3],
+ [0, -3],
+ [0, -7],
+ ],
+ ]),
+};
+
+var path = turf.shortestPath(start, end, options);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var start = [-5, -6];
+ var end = [9, -6];
+ var options = {
+ obstacles: turf.polygon([
+ [
+ [0, -7],
+ [5, -7],
+ [5, -3],
+ [0, -3],
+ [0, -7],
+ ],
+ ]),
+ };
+
+ var path = turf.shortestPath(start, end, options);
+
+ //addToMap
+ var addToMap = { start, end, obstacles: options.obstacles, path };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/shortest-path
+
+import { shortestPath } from "@turf/shortest-path";
+const result = shortestPath(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.shortestPath(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/simplify.mdx b/versioned_docs/version-7.1.0/api/simplify.mdx
new file mode 100644
index 00000000..f8b216eb
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/simplify.mdx
@@ -0,0 +1,117 @@
+---
+title: simplify
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a [GeoJSON](https://tools.ietf.org/html/rfc7946#section-3) object and returns a simplified version. Internally uses the 2d version of
+[simplify-js](http://mourner.github.io/simplify-js/) to perform simplification using the Ramer-Douglas-Peucker algorithm.
+
+### Parameters
+
+| Name | Type | Description |
+| --------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
+| geojson | **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** | object to be simplified |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.tolerance? | **number** | simplification tolerance _(default 1)_ |
+| options.highQuality? | **boolean** | whether or not to spend more time to create a higher-quality simplification with a different algorithm _(default false)_ |
+| options.mutate? | **boolean** | allows GeoJSON input to be mutated (significant performance increase if true) _(default false)_ |
+
+### Returns
+
+
+ **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** a simplified GeoJSON
+
+
+
+### Examples
+
+```javascript
+var geojson = turf.polygon([
+ [
+ [-70.603637, -33.399918],
+ [-70.614624, -33.395332],
+ [-70.639343, -33.392466],
+ [-70.659942, -33.394759],
+ [-70.683975, -33.404504],
+ [-70.697021, -33.419406],
+ [-70.701141, -33.434306],
+ [-70.700454, -33.446339],
+ [-70.694274, -33.458369],
+ [-70.682601, -33.465816],
+ [-70.668869, -33.472117],
+ [-70.646209, -33.473835],
+ [-70.624923, -33.472117],
+ [-70.609817, -33.468107],
+ [-70.595397, -33.458369],
+ [-70.587158, -33.442901],
+ [-70.587158, -33.426283],
+ [-70.590591, -33.414248],
+ [-70.594711, -33.406224],
+ [-70.603637, -33.399918],
+ ],
+]);
+var options = { tolerance: 0.01, highQuality: false };
+var simplified = turf.simplify(geojson, options);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var geojson = turf.polygon([
+ [
+ [-70.603637, -33.399918],
+ [-70.614624, -33.395332],
+ [-70.639343, -33.392466],
+ [-70.659942, -33.394759],
+ [-70.683975, -33.404504],
+ [-70.697021, -33.419406],
+ [-70.701141, -33.434306],
+ [-70.700454, -33.446339],
+ [-70.694274, -33.458369],
+ [-70.682601, -33.465816],
+ [-70.668869, -33.472117],
+ [-70.646209, -33.473835],
+ [-70.624923, -33.472117],
+ [-70.609817, -33.468107],
+ [-70.595397, -33.458369],
+ [-70.587158, -33.442901],
+ [-70.587158, -33.426283],
+ [-70.590591, -33.414248],
+ [-70.594711, -33.406224],
+ [-70.603637, -33.399918],
+ ],
+ ]);
+ var options = { tolerance: 0.01, highQuality: false };
+ var simplified = turf.simplify(geojson, options);
+
+ //addToMap
+ var addToMap = { geojson, simplified };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/simplify
+
+import { simplify } from "@turf/simplify";
+const result = simplify(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.simplify(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/square.mdx b/versioned_docs/version-7.1.0/api/square.mdx
new file mode 100644
index 00000000..7b3677a2
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/square.mdx
@@ -0,0 +1,65 @@
+---
+title: square
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a bounding box and calculates the minimum square bounding box that
+would contain the input.
+
+### Parameters
+
+| Name | Type | Description |
+| ---- | --------------------------------------------------------- | ------------------------------------------ |
+| bbox | **[BBox](https://tools.ietf.org/html/rfc7946#section-5)** | extent in [west, south, east, north] order |
+
+### Returns
+
+
+ **[BBox](https://tools.ietf.org/html/rfc7946#section-5)** a square surrounding `bbox`
+
+
+
+### Examples
+
+```javascript
+const bbox = [-20, -20, -15, 0];
+const squared = turf.square(bbox);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ const bbox = [-20, -20, -15, 0];
+ const squared = turf.square(bbox);
+
+ //addToMap
+ const addToMap = [turf.bboxPolygon(bbox), turf.bboxPolygon(squared)];
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/square
+
+import { square } from "@turf/square";
+const result = square(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.square(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/squareGrid.mdx b/versioned_docs/version-7.1.0/api/squareGrid.mdx
new file mode 100644
index 00000000..8ca76a74
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/squareGrid.mdx
@@ -0,0 +1,75 @@
+---
+title: squareGrid
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Creates a grid of square polygons with cell length consistent in degrees
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| bbox | **[BBox](https://tools.ietf.org/html/rfc7946#section-5)** | extent of grid in [minX, minY, maxX, maxY] order. If the grid does not fill the bbox perfectly, it is centered. |
+| cellSide | **number** | length of each cell side. |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.units? | **Units** | the units of the cellSide value. Supports all valid Turf \{@link https://github.com/Turfjs/turf/blob/master/packages/turf-helpers/README_UNITS.md Units\}. If you are looking for squares with sides of equal lengths in linear units (e.g. kilometers) this is not the module for you. The cellSide is converted from units provided to degrees internally, so the width and height of resulting polygons will be consistent only in degrees. _(default 'kilometers')_ |
+| options.mask? | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** | if passed a Polygon or MultiPolygon, the grid Points will be created only inside it |
+| options.properties? | **Object** | passed to each point of the grid _(default \{\})_ |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** a grid of polygons with equal width and height in degrees.
+
+
+
+### Examples
+
+```javascript
+var bbox = [-95, 30, -85, 40];
+var cellSide = 50;
+var options = { units: "miles" };
+
+var squareGrid = turf.squareGrid(bbox, cellSide, options);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var bbox = [-95, 30, -85, 40];
+ var cellSide = 50;
+ var options = { units: "miles" };
+
+ var squareGrid = turf.squareGrid(bbox, cellSide, options);
+
+ //addToMap
+ var addToMap = { squareGrid };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/square-grid
+
+import { squareGrid } from "@turf/square-grid";
+const result = squareGrid(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.squareGrid(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/standardDeviationalEllipse.mdx b/versioned_docs/version-7.1.0/api/standardDeviationalEllipse.mdx
new file mode 100644
index 00000000..c920a075
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/standardDeviationalEllipse.mdx
@@ -0,0 +1,87 @@
+---
+title: standardDeviationalEllipse
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a collection of features and returns a standard deviational ellipse,
+also known as a “directional distribution.” The standard deviational ellipse
+aims to show the direction and the distribution of a dataset by drawing
+an ellipse that contains about one standard deviation’s worth (~ 70%) of the
+data.
+
+This module mirrors the functionality of [Directional Distribution](http://desktop.arcgis.com/en/arcmap/10.3/tools/spatial-statistics-toolbox/directional-distribution.htm)
+in ArcGIS and the [QGIS Standard Deviational Ellipse Plugin](http://arken.nmbu.no/~havatv/gis/qgisplugins/SDEllipse/)
+
+**Bibliography**
+
+• Robert S. Yuill, “The Standard Deviational Ellipse; An Updated Tool for
+Spatial Description,” _Geografiska Annaler_ 53, no. 1 (1971): 28–39,
+doi:\{@link [https://doi.org/10.2307/490885 \| 10.2307/490885\}](https://doi.org/10.2307/490885 \| 10.2307/490885\}).
+
+• Paul Hanly Furfey, “A Note on Lefever’s “Standard Deviational Ellipse,”
+_American Journal of Sociology_ 33, no. 1 (1927): 94—98,
+doi:\{@link [https://doi.org/10.1086/214336 \| 10.1086/214336\}](https://doi.org/10.1086/214336 \| 10.1086/214336\}).
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
+| points | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** | GeoJSON points |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.weight? | **string** | the property name used to weight the center |
+| options.steps? | **number** | number of steps for the polygon _(default 64)_ |
+| options.properties? | **Object** | properties to pass to the resulting ellipse _(default \{\})_ |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** an elliptical Polygon that includes approximately 1 SD of the dataset within it.
+
+
+
+### Examples
+
+```javascript
+const bbox = [-74, 40.72, -73.98, 40.74];
+const points = turf.randomPoint(400, { bbox: bbox });
+const sdEllipse = turf.standardDeviationalEllipse(points);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ const bbox = [-74, 40.72, -73.98, 40.74];
+ const points = turf.randomPoint(400, { bbox: bbox });
+ const sdEllipse = turf.standardDeviationalEllipse(points);
+
+ //addToMap
+ const addToMap = [points, sdEllipse];
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/standard-deviational-ellipse
+
+import { standardDeviationalEllipse } from "@turf/standard-deviational-ellipse";
+const result = standardDeviationalEllipse(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.standardDeviationalEllipse(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/tag.mdx b/versioned_docs/version-7.1.0/api/tag.mdx
new file mode 100644
index 00000000..8bc0e3cb
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/tag.mdx
@@ -0,0 +1,125 @@
+---
+title: tag
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a set of [points](https://tools.ietf.org/html/rfc7946#section-3.1.2) and a set of [polygons](https://tools.ietf.org/html/rfc7946#section-3.1.6) and/or [multipolygons](https://tools.ietf.org/html/rfc7946#section-3.1.7) and performs a spatial join.
+
+### Parameters
+
+| Name | Type | Description |
+| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
+| points | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** | input points |
+| polygons | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** | input (multi)polygons |
+| field | **string** | property in `polygons` to add to joined \{\\} features |
+| outField | **string** | property in `points` in which to store joined property from `polygons` |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** points with `containingPolyId` property containing values from `polyId`
+
+
+
+### Examples
+
+```javascript
+var pt1 = turf.point([-77, 44]);
+var pt2 = turf.point([-77, 38]);
+var poly1 = turf.polygon(
+ [
+ [
+ [-81, 41],
+ [-81, 47],
+ [-72, 47],
+ [-72, 41],
+ [-81, 41],
+ ],
+ ],
+ { pop: 3000 },
+);
+var poly2 = turf.polygon(
+ [
+ [
+ [-81, 35],
+ [-81, 41],
+ [-72, 41],
+ [-72, 35],
+ [-81, 35],
+ ],
+ ],
+ { pop: 1000 },
+);
+
+var points = turf.featureCollection([pt1, pt2]);
+var polygons = turf.featureCollection([poly1, poly2]);
+
+var tagged = turf.tag(points, polygons, "pop", "population");
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var pt1 = turf.point([-77, 44]);
+ var pt2 = turf.point([-77, 38]);
+ var poly1 = turf.polygon(
+ [
+ [
+ [-81, 41],
+ [-81, 47],
+ [-72, 47],
+ [-72, 41],
+ [-81, 41],
+ ],
+ ],
+ { pop: 3000 },
+ );
+ var poly2 = turf.polygon(
+ [
+ [
+ [-81, 35],
+ [-81, 41],
+ [-72, 41],
+ [-72, 35],
+ [-81, 35],
+ ],
+ ],
+ { pop: 1000 },
+ );
+
+ var points = turf.featureCollection([pt1, pt2]);
+ var polygons = turf.featureCollection([poly1, poly2]);
+
+ var tagged = turf.tag(points, polygons, "pop", "population");
+
+ //addToMap
+ var addToMap = { tagged, polygons };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/tag
+
+import { tag } from "@turf/tag";
+const result = tag(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.tag(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/tesselate.mdx b/versioned_docs/version-7.1.0/api/tesselate.mdx
new file mode 100644
index 00000000..805ed616
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/tesselate.mdx
@@ -0,0 +1,85 @@
+---
+title: tesselate
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Tesselates a polygon or multipolygon into a collection of triangle polygons
+using [earcut](https://github.com/mapbox/earcut).
+
+### Parameters
+
+| Name | Type | Description |
+| ---- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
+| poly | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** | the polygon to tesselate |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** collection of polygon tesselations
+
+
+
+### Examples
+
+```javascript
+const poly = turf.polygon([
+ [
+ [11, 0],
+ [22, 4],
+ [31, 0],
+ [31, 11],
+ [21, 15],
+ [11, 11],
+ [11, 0],
+ ],
+]);
+const triangles = turf.tesselate(poly);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ const poly = turf.polygon([
+ [
+ [11, 0],
+ [22, 4],
+ [31, 0],
+ [31, 11],
+ [21, 15],
+ [11, 11],
+ [11, 0],
+ ],
+ ]);
+ const triangles = turf.tesselate(poly);
+
+ //addToMap
+ const addToMap = [poly, triangles];
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/tesselate
+
+import { tesselate } from "@turf/tesselate";
+const result = tesselate(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.tesselate(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/tin.mdx b/versioned_docs/version-7.1.0/api/tin.mdx
new file mode 100644
index 00000000..92ae9c77
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/tin.mdx
@@ -0,0 +1,88 @@
+---
+title: tin
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a set of [points](https://tools.ietf.org/html/rfc7946#section-3.1.2) and creates a
+[Triangulated Irregular Network](http://en.wikipedia.org/wiki/Triangulated_irregular_network),
+or a TIN for short, returned as a collection of Polygons. These are often used
+for developing elevation contour maps or stepped heat visualizations.
+
+If an optional z-value property is provided then it is added as properties called `a`, `b`,
+and `c` representing its value at each of the points that represent the corners of the
+triangle.
+
+### Parameters
+
+| Name | Type | Description |
+| --------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
+| points | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** | input points |
+| z? | **String** | name of the property from which to pull z values This is optional: if not given, then there will be no extra data added to the derived triangles. |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** TIN output
+
+
+
+### Examples
+
+```javascript
+// generate some random point data
+var points = turf.randomPoint(30, { bbox: [50, 30, 70, 50] });
+
+// add a random property to each point between 0 and 9
+for (var i = 0; i < points.features.length; i++) {
+ points.features[i].properties.z = ~~(Math.random() * 9);
+}
+var tin = turf.tin(points, "z");
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ // generate some random point data
+ var points = turf.randomPoint(30, { bbox: [50, 30, 70, 50] });
+
+ // add a random property to each point between 0 and 9
+ for (var i = 0; i < points.features.length; i++) {
+ points.features[i].properties.z = ~~(Math.random() * 9);
+ }
+ var tin = turf.tin(points, "z");
+
+ //addToMap
+ var addToMap = { tin, points };
+ for (var i = 0; i < tin.features.length; i++) {
+ var properties = tin.features[i].properties;
+ properties.fill = "#" + properties.a + properties.b + properties.c;
+ }
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/tin
+
+import { tin } from "@turf/tin";
+const result = tin(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.tin(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/toMercator.mdx b/versioned_docs/version-7.1.0/api/toMercator.mdx
new file mode 100644
index 00000000..184e5add
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/toMercator.mdx
@@ -0,0 +1,66 @@
+---
+title: toMercator
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Converts a WGS84 GeoJSON object into Mercator (EPSG:900913) projection
+
+### Parameters
+
+| Name | Type | Description |
+| ---------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
+| geojson | **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3) \| Position** | WGS84 GeoJSON object |
+| options? | **Object** | Optional parameters |
+| options.mutate? | **boolean** | allows GeoJSON input to be mutated (significant performance increase if true) _(default false)_ |
+
+### Returns
+
+
+ **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** Projected GeoJSON
+
+
+
+### Examples
+
+```javascript
+var pt = turf.point([-71, 41]);
+var converted = turf.toMercator(pt);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var pt = turf.point([-71, 41]);
+ var converted = turf.toMercator(pt);
+
+ //addToMap
+ var addToMap = { pt, converted };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/projection
+
+import { toMercator } from "@turf/projection";
+const result = toMercator(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.toMercator(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/toWgs84.mdx b/versioned_docs/version-7.1.0/api/toWgs84.mdx
new file mode 100644
index 00000000..57b48b62
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/toWgs84.mdx
@@ -0,0 +1,66 @@
+---
+title: toWgs84
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Converts a Mercator (EPSG:900913) GeoJSON object into WGS84 projection
+
+### Parameters
+
+| Name | Type | Description |
+| ---------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
+| geojson | **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3) \| Position** | Mercator GeoJSON object |
+| options? | **Object** | Optional parameters |
+| options.mutate? | **boolean** | allows GeoJSON input to be mutated (significant performance increase if true) _(default false)_ |
+
+### Returns
+
+
+ **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** Projected GeoJSON
+
+
+
+### Examples
+
+```javascript
+var pt = turf.point([-7903683.846322424, 5012341.663847514]);
+var converted = turf.toWgs84(pt);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var pt = turf.point([-7903683.846322424, 5012341.663847514]);
+ var converted = turf.toWgs84(pt);
+
+ //addToMap
+ var addToMap = { pt, converted };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/projection
+
+import { toWgs84 } from "@turf/projection";
+const result = toWgs84(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.toWgs84(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/transformRotate.mdx b/versioned_docs/version-7.1.0/api/transformRotate.mdx
new file mode 100644
index 00000000..b88ecee4
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/transformRotate.mdx
@@ -0,0 +1,85 @@
+---
+title: transformRotate
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Rotates any geojson Feature or Geometry of a specified angle, around its `centroid` or a given `pivot` point.
+
+### Parameters
+
+| Name | Type | Description |
+| ---------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
+| geojson | **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** | object to be rotated |
+| angle | **number** | of rotation in decimal degrees, positive clockwise |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.pivot? | **[Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | point around which the rotation will be performed _(default 'centroid')_ |
+| options.mutate? | **boolean** | allows GeoJSON input to be mutated (significant performance increase if true) _(default false)_ |
+
+### Returns
+
+
+ **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** the rotated GeoJSON feature
+
+
+
+### Examples
+
+```javascript
+const poly = turf.polygon([
+ [
+ [0, 29],
+ [3.5, 29],
+ [2.5, 32],
+ [0, 29],
+ ],
+]);
+const options = { pivot: [0, 25] };
+const rotatedPoly = turf.transformRotate(poly, 10, options);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ const poly = turf.polygon([
+ [
+ [0, 29],
+ [3.5, 29],
+ [2.5, 32],
+ [0, 29],
+ ],
+ ]);
+ const options = { pivot: [0, 25] };
+ const rotatedPoly = turf.transformRotate(poly, 10, options);
+
+ //addToMap
+ const addToMap = [poly, rotatedPoly];
+ rotatedPoly.properties = { stroke: "#F00", "stroke-width": 4 };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/transform-rotate
+
+import { transformRotate } from "@turf/transform-rotate";
+const result = transformRotate(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.transformRotate(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/transformScale.mdx b/versioned_docs/version-7.1.0/api/transformScale.mdx
new file mode 100644
index 00000000..c1ef6a7e
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/transformScale.mdx
@@ -0,0 +1,86 @@
+---
+title: transformScale
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Scale GeoJSON objects from a given point by a scaling factor e.g. factor=2
+would make each object 200% larger.
+If a FeatureCollection is provided, the origin point will be calculated
+based on each individual feature _unless_ an exact
+
+### Parameters
+
+| Name | Type | Description |
+| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| geojson | **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3) \| [GeometryCollection](https://tools.ietf.org/html/rfc7946#section-3.1.8)** | objects to be scaled |
+| factor | **number** | of scaling, positive values greater than 0. Numbers between 0 and 1 will shrink the geojson, numbers greater than 1 will expand it, a factor of 1 will not change the geojson. |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.origin? | **Corners \| [Coord](https://tools.ietf.org/html/rfc7946#section-3.1.1)** | Point from which the scaling will occur (string options: sw/se/nw/ne/center/centroid) _(default 'centroid')_ |
+| options.mutate? | **boolean** | allows GeoJSON input to be mutated (significant performance improvement if true) _(default false)_ |
+
+### Returns
+
+
+ **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3) \| [GeometryCollection](https://tools.ietf.org/html/rfc7946#section-3.1.8)** scaled GeoJSON
+
+
+
+### Examples
+
+```javascript
+const poly = turf.polygon([
+ [
+ [0, 29],
+ [3.5, 29],
+ [2.5, 32],
+ [0, 29],
+ ],
+]);
+const scaledPoly = turf.transformScale(poly, 3);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ const poly = turf.polygon([
+ [
+ [0, 29],
+ [3.5, 29],
+ [2.5, 32],
+ [0, 29],
+ ],
+ ]);
+ const scaledPoly = turf.transformScale(poly, 3);
+
+ //addToMap
+ const addToMap = [poly, scaledPoly];
+ scaledPoly.properties = { stroke: "#F00", "stroke-width": 4 };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/transform-scale
+
+import { transformScale } from "@turf/transform-scale";
+const result = transformScale(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.transformScale(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/transformTranslate.mdx b/versioned_docs/version-7.1.0/api/transformTranslate.mdx
new file mode 100644
index 00000000..40b9dd18
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/transformTranslate.mdx
@@ -0,0 +1,86 @@
+---
+title: transformTranslate
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Moves any geojson Feature or Geometry of a specified distance along a Rhumb Line
+on the provided direction angle.
+
+### Parameters
+
+| Name | Type | Description |
+| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
+| geojson | **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3) \| [GeometryCollection](https://tools.ietf.org/html/rfc7946#section-3.1.8)** | object to be translated |
+| distance | **number** | length of the motion; negative values determine motion in opposite direction |
+| direction | **number** | of the motion; angle from North in decimal degrees, positive clockwise |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.units? | **Units** | in which `distance` will be express; miles, kilometers, degrees, or radians _(default 'kilometers')_ |
+| options.zTranslation? | **number** | length of the vertical motion, same unit of distance _(default 0)_ |
+| options.mutate? | **boolean** | allows GeoJSON input to be mutated (significant performance increase if true) _(default false)_ |
+
+### Returns
+
+
+ **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3) \| [GeometryCollection](https://tools.ietf.org/html/rfc7946#section-3.1.8)** the translated GeoJSON object
+
+
+
+### Examples
+
+```javascript
+var poly = turf.polygon([
+ [
+ [0, 29],
+ [3.5, 29],
+ [2.5, 32],
+ [0, 29],
+ ],
+]);
+var translatedPoly = turf.transformTranslate(poly, 100, 35);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var poly = turf.polygon([
+ [
+ [0, 29],
+ [3.5, 29],
+ [2.5, 32],
+ [0, 29],
+ ],
+ ]);
+ var translatedPoly = turf.transformTranslate(poly, 100, 35);
+
+ //addToMap
+ var addToMap = { poly, translatedPoly };
+ translatedPoly.properties = { stroke: "#F00", "stroke-width": 4 };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/transform-translate
+
+import { transformTranslate } from "@turf/transform-translate";
+const result = transformTranslate(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.transformTranslate(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/triangleGrid.mdx b/versioned_docs/version-7.1.0/api/triangleGrid.mdx
new file mode 100644
index 00000000..2a10e018
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/triangleGrid.mdx
@@ -0,0 +1,75 @@
+---
+title: triangleGrid
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Creates a grid of triangular polygons.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| bbox | **[BBox](https://tools.ietf.org/html/rfc7946#section-5)** | extent of grid in [minX, minY, maxX, maxY] order |
+| cellSide | **number** | dimension of each grid cell. Two triangles are created in each cell. |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.units? | **Units** | used in calculating cellSide. Supports all valid Turf \{@link https://github.com/Turfjs/turf/blob/master/packages/turf-helpers/README_UNITS.md Units\} _(default 'kilometers')_ |
+| options.mask? | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** | if passed a Polygon or MultiPolygon, the grid Points will be created only inside it |
+| options.properties? | **Object** | passed to each point of the grid _(default \{\})_ |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** grid of polygons
+
+
+
+### Examples
+
+```javascript
+var bbox = [-95, 30, -85, 40];
+var cellSide = 50;
+var options = { units: "miles" };
+
+var triangleGrid = turf.triangleGrid(bbox, cellSide, options);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var bbox = [-95, 30, -85, 40];
+ var cellSide = 50;
+ var options = { units: "miles" };
+
+ var triangleGrid = turf.triangleGrid(bbox, cellSide, options);
+
+ //addToMap
+ var addToMap = { triangleGrid };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/triangle-grid
+
+import { triangleGrid } from "@turf/triangle-grid";
+const result = triangleGrid(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.triangleGrid(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/truncate.mdx b/versioned_docs/version-7.1.0/api/truncate.mdx
new file mode 100644
index 00000000..74c6bd66
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/truncate.mdx
@@ -0,0 +1,72 @@
+---
+title: truncate
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a GeoJSON Feature or FeatureCollection and truncates the precision of the geometry.
+
+### Parameters
+
+| Name | Type | Description |
+| --------------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
+| geojson | **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** | any GeoJSON Feature, FeatureCollection, Geometry or GeometryCollection. |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.precision? | **number** | coordinate decimal precision _(default 6)_ |
+| options.coordinates? | **number** | maximum number of coordinates (primarly used to remove z coordinates) _(default 3)_ |
+| options.mutate? | **boolean** | allows GeoJSON input to be mutated (significant performance increase if true) _(default false)_ |
+
+### Returns
+
+
+ **[GeoJSON](https://tools.ietf.org/html/rfc7946#section-3)** layer with truncated geometry
+
+
+
+### Examples
+
+```javascript
+var point = turf.point([70.46923055566859, 58.11088890802906, 1508]);
+var options = { precision: 3, coordinates: 2 };
+var truncated = turf.truncate(point, options);
+//=truncated.geometry.coordinates => [70.469, 58.111]
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var point = turf.point([70.46923055566859, 58.11088890802906, 1508]);
+ var options = { precision: 3, coordinates: 2 };
+ var truncated = turf.truncate(point, options);
+ //=truncated.geometry.coordinates => [70.469, 58.111]
+
+ //addToMap
+ var addToMap = { truncated };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/truncate
+
+import { truncate } from "@turf/truncate";
+const result = truncate(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.truncate(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/union.mdx b/versioned_docs/version-7.1.0/api/union.mdx
new file mode 100644
index 00000000..87c24095
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/union.mdx
@@ -0,0 +1,114 @@
+---
+title: union
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes input [(Multi)Polygon(s)](https://tools.ietf.org/html/rfc7946#section-3.1.6) and returns a combined polygon. If the input polygons are not contiguous, this function returns a [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7) feature.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
+| polygon1 | **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** | input Polygon features |
+| options? | **Object** | Optional Parameters _(default \{\})_ |
+| options.properties? | **Object** | Translate Properties to output Feature _(default \{\})_ |
+
+### Returns
+
+
+ **[Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\>** a combined [Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) or [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7) feature, or null if the inputs are empty
+
+
+
+### Examples
+
+```javascript
+var poly1 = turf.polygon(
+ [
+ [
+ [-82.574787, 35.594087],
+ [-82.574787, 35.615581],
+ [-82.545261, 35.615581],
+ [-82.545261, 35.594087],
+ [-82.574787, 35.594087],
+ ],
+ ],
+ { fill: "#0f0" },
+);
+var poly2 = turf.polygon(
+ [
+ [
+ [-82.560024, 35.585153],
+ [-82.560024, 35.602602],
+ [-82.52964, 35.602602],
+ [-82.52964, 35.585153],
+ [-82.560024, 35.585153],
+ ],
+ ],
+ { fill: "#00f" },
+);
+
+var union = turf.union(turf.featureCollection([poly1, poly2]));
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ var poly1 = turf.polygon(
+ [
+ [
+ [-82.574787, 35.594087],
+ [-82.574787, 35.615581],
+ [-82.545261, 35.615581],
+ [-82.545261, 35.594087],
+ [-82.574787, 35.594087],
+ ],
+ ],
+ { fill: "#0f0" },
+ );
+ var poly2 = turf.polygon(
+ [
+ [
+ [-82.560024, 35.585153],
+ [-82.560024, 35.602602],
+ [-82.52964, 35.602602],
+ [-82.52964, 35.585153],
+ [-82.560024, 35.585153],
+ ],
+ ],
+ { fill: "#00f" },
+ );
+
+ var union = turf.union(turf.featureCollection([poly1, poly2]));
+
+ //addToMap
+ var addToMap = { poly1, poly2, union };
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/union
+
+import { union } from "@turf/union";
+const result = union(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.union(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/unkinkPolygon.mdx b/versioned_docs/version-7.1.0/api/unkinkPolygon.mdx
new file mode 100644
index 00000000..bd2c3e58
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/unkinkPolygon.mdx
@@ -0,0 +1,85 @@
+---
+title: unkinkPolygon
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a kinked polygon and returns a feature collection of polygons that have
+no kinks.
+
+Uses [simplepolygon](https://github.com/mclaeysb/simplepolygon) internally.
+
+### Parameters
+
+| Name | Type | Description |
+| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
+| geojson | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\> \| [Feature](https://tools.ietf.org/html/rfc7946#section-3.2)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)\> \| [Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6) \| [MultiPolygon](https://tools.ietf.org/html/rfc7946#section-3.1.7)** | polygons to unkink |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** Unkinked polygons
+
+
+
+### Examples
+
+```javascript
+const poly = turf.polygon([
+ [
+ [0, 0],
+ [2, 0],
+ [0, 2],
+ [2, 2],
+ [0, 0],
+ ],
+]);
+
+const result = turf.unkinkPolygon(poly);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ const poly = turf.polygon([
+ [
+ [0, 0],
+ [2, 0],
+ [0, 2],
+ [2, 2],
+ [0, 0],
+ ],
+ ]);
+
+ const result = turf.unkinkPolygon(poly);
+
+ //addToMap
+ const addToMap = [poly, result];
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/unkink-polygon
+
+import { unkinkPolygon } from "@turf/unkink-polygon";
+const result = unkinkPolygon(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.unkinkPolygon(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/variance.mdx b/versioned_docs/version-7.1.0/api/variance.mdx
new file mode 100644
index 00000000..f238c095
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/variance.mdx
@@ -0,0 +1,37 @@
+---
+title: variance
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+get variance of a list
+
+### Parameters
+
+| Name | Type | Description |
+| ---- | ------------------- | ----------- |
+| y | **Array\** | |
+
+### Returns
+
+
+
+### Installation
+
+```javascript
+$ npm install @turf/moran-index
+
+import { variance } from "@turf/moran-index";
+const result = variance(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.variance(...);
+```
diff --git a/versioned_docs/version-7.1.0/api/voronoi.mdx b/versioned_docs/version-7.1.0/api/voronoi.mdx
new file mode 100644
index 00000000..fa88ea4d
--- /dev/null
+++ b/versioned_docs/version-7.1.0/api/voronoi.mdx
@@ -0,0 +1,75 @@
+---
+title: voronoi
+---
+
+import * as turf from "turf-next";
+import ExampleMap from "@site/src/components/ExampleMap";
+import BrowserOnly from "@docusaurus/BrowserOnly";
+
+### Description
+
+Takes a collection of points and a bounding box, and returns a collection
+of Voronoi polygons.
+
+The Voronoi algorithim used comes from the d3-voronoi package.
+
+### Parameters
+
+| Name | Type | Description |
+| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
+| points | **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Point](https://tools.ietf.org/html/rfc7946#section-3.1.2)\>** | points around which to calculate the Voronoi polygons |
+| options? | **Object** | Optional parameters _(default \{\})_ |
+| options.bbox? | **[BBox](https://tools.ietf.org/html/rfc7946#section-5)** | clipping rectangle, in [minX, minY, maxX, MaxY] order _(default [-180,-85,180,-85])_ |
+
+### Returns
+
+
+ **[FeatureCollection](https://tools.ietf.org/html/rfc7946#section-3.3)\<[Polygon](https://tools.ietf.org/html/rfc7946#section-3.1.6)\>** a set of polygons, one per input point
+
+
+
+### Examples
+
+```javascript
+const options = {
+ bbox: [-70, 40, -60, 60],
+};
+const points = turf.randomPoint(100, options);
+const voronoiPolygons = turf.voronoi(points, options);
+```
+
+export function Map0() {
+ "use strict";
+
+ // jsdoc example start
+ const options = {
+ bbox: [-70, 40, -60, 60],
+ };
+ const points = turf.randomPoint(100, options);
+ const voronoiPolygons = turf.voronoi(points, options);
+
+ //addToMap
+ const addToMap = [voronoiPolygons, points];
+ // jsdoc example end
+
+ return ;
+}
+
+
+{() => }
+
+### Installation
+
+```javascript
+$ npm install @turf/voronoi
+
+import { voronoi } from "@turf/voronoi";
+const result = voronoi(...);
+```
+
+```javascript
+$ npm install @turf/turf
+
+import * as turf from "@turf/turf";
+const result = turf.voronoi(...);
+```
diff --git a/versioned_docs/version-7.1.0/contributing.md b/versioned_docs/version-7.1.0/contributing.md
new file mode 100644
index 00000000..22b3eda1
--- /dev/null
+++ b/versioned_docs/version-7.1.0/contributing.md
@@ -0,0 +1,160 @@
+# Contributing
+
+### :bug: [How to report a bug](http://polite.technology/reportabug.html)
+
+## Please note
+
+The high-level structure of Turf is undergoing discussion at [#1428](https://github.com/Turfjs/turf/issues/1428). Currently (June 2018), there is a partial conversion to Typescript, and the contribution documentation does not completely reflect the current status.
+
+## How To Contribute
+
+- Most work happens in sub modules. These are found in the `packages` directory prefixed with "turf-".
+- If you would like to propose a new feature, open an issue in Turfjs/turf.
+- Always include tests. We use [tape](https://github.com/substack/tape).
+- Turf modules are small, containing a single exported function.
+- GeoJSON is the lingua franca of Turf. It should be used as the data structure for anything that can be represented as geography.
+- Avoid large dependencies at all costs.
+- Turf is used in a wide range of places. Make sure that your code can run in the browser (ie: don't make calls to external services, don't hit the filesystem, etc.).
+- The `README.md` files in `packages/turf-` are automatically generated from the [JSDocs](https://jsdoc.app) of the `index.js`. Please modify the JSDocs instead of modifying the `README.md` files directly. Then update/create the `README.md` executing [`./scripts/generate-readmes`](https://github.com/Turfjs/turf/blob/master/scripts/generate-readmes) or runing `npm run docs` from the root TurfJS directory.
+- Finally run `npm test` from the project root folder to run all the tests required for deploying the project.
+
+## Code Style
+
+To ensure code style, at the `turf` root level run
+
+```sh
+$ npm run lint
+```
+
+- Follow the [AirBNB JavaScript code style](https://github.com/airbnb/javascript).
+- Turf aims to use ES5 features where rational. We do not use ES6 features.
+
+## Structure of a turf module
+
+```
+turf-
+│ index.js
+│ index.d.ts
+│ bench.js
+│ test.js
+│ types.ts
+│ package.json
+│ README.md
+│ LICENSE
+│
+└───test
+ │
+ ├───in
+ │ points.geojson
+ │
+ └───out
+ points.geojson
+```
+
+To get started with a new module navigate to the root directory and run
+
+```sh
+$ node ./scripts/create-new-module
+```
+
+it will create a new folder inside `packages` with a simple boilerplate for your module.
+
+- `index.js` - This file contains, in order, the various modules you need to
+ import, the [JSDocs](https://jsdoc.app) documentation, and, finally, the
+ single exported function that the module provides. For more on the types
+ supported in the documentation, see…
+- `index.d.ts` - This is a [TypeScript](https://www.typescriptlang.org/) file
+ that describes your function’s signature. For more on the types supported in
+ TypeScript, see…
+- `bench.js` - This file uses [Benchmark](https://benchmarkjs.com/) to time
+ your function.
+- `test.js` - This file includes your [tape](https://github.com/substack/tape)
+ tests. We prefer dynamic testing built from GeoJSON files placed in
+ `./test/in` that are subsequently written to `./test/out` if your `REGEN`
+ [environment variable is set](https://askubuntu.com/a/58828) to `true`. If
+ `REGEN` is set to a different value, then running `npm t` will compare the
+ output of the tests to the files already present in `./test/out`.
+- `types.ts` - A file that lists the custom TypeScript types used in
+ `index.d.ts`.
+- `package.json` - The [node](http://nodejs.org) metadata container file.
+ Modules imported in `index.js` should be listed here under `dependencies`,
+ and modules used in `test.js` and/or `bench.js` should be listed under
+ `devDependencies`. `npm install` looks to this file to install dependencies
+ in `./node_modules`.
+- `README.md` - This README is generated _automatically_ by running `npm run
+docs` from the project root level. **DO NOT edit this file**.
+- `LICENCE` - Like the README, this file should not be edited.
+- `test/` - This directory holds the GeoJSON files that provide data for
+ dynamic tests (in `./test/in`) and the results of the tests (in
+ `./test/out`). The files in `./test/out` should **not** be edited by hand.
+ They should be generated dynamically by [setting the environment
+ variable](https://askubuntu.com/a/58828) `REGEN` to `true`, and then the
+ tests should be checked against these files by setting `REGEN` to some other
+ value. The resulting out-files can be drag-dropped into
+ [geojson.io](http://geojson.io) to see, visually, if the module is behaving
+ appropriately.
+
+## Publishing
+
+Install lerna:
+
+```bash
+$ npm install -g lerna@2.0.0-beta.34
+```
+
+Publish a test release:
+
+```bash
+$ lerna publish --canary
+```
+
+## Documentation
+
+To update TurfJS's Documentation (README.md) use the following `npm run docs`:
+
+- **inside a module:** will only generate the docs of that module.
+- **main folder:** will generate docs for all modules.
+
+### Examples
+
+**Only builds docs for `@turf/center`**
+
+```bash
+$ cd ./turf/packages/turf-center
+$ npm run docs
+
+> @turf/center@5.0.4 docs /Users/mac/Github/turf/packages/turf-center
+> node ../../scripts/generate-readmes
+
+Building Docs: @turf/center
+```
+
+**Builds docs for all modules**
+
+```bash
+$ cd ./turf
+$ npm run docs
+> @5.0.0 docs /Users/mac/Github/turf
+> node ./scripts/generate-readmes
+
+Building Docs: @turf/along
+Building Docs: @turf/area
+Building Docs: @turf/bbox-clip
+Building Docs: @turf/bbox-polygon
+Building Docs: @turf/bbox
+Building Docs: @turf/bearing
+Building Docs: @turf/bezier-spline
+Building Docs: @turf/boolean-clockwise
+....
+```
+
+## Other Dependencies
+
+- Turf uses [Yarn](https://yarnpkg.com) and [lerna](https://lerna.js.org) during the testing, packaging and publishing process.
+ - Lerna will be automatically installed when you run `npm install` in the root directory.
+ - Yarn will need to be installed on your computer, installers are available via the yarn website.
+
+## Financial contributions
+
+We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/turf).
+Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed.
diff --git a/versioned_docs/version-7.1.0/getting-started.md b/versioned_docs/version-7.1.0/getting-started.md
new file mode 100644
index 00000000..f64e153d
--- /dev/null
+++ b/versioned_docs/version-7.1.0/getting-started.md
@@ -0,0 +1,110 @@
+---
+sidebar_position: 2
+---
+
+# Getting started
+
+How you add Turf to your project will dependend on your environment and tooling but here are some guidelines to get you started.
+
+The source of truth for published versions of Turf is [NPM](https://www.npmjs.com/package/@turf/turf?activeTab=versions). You are welcome to use other providers that republish these packages.
+
+## Installation
+
+### In Node.js
+
+```bash
+# get all of turf
+npm install @turf/turf
+
+# or get individual packages
+npm install @turf/helpers
+npm install @turf/buffer
+```
+
+As of v7, both CommonJS and ESM bundles are included.
+
+### In browser
+
+Whether downloading locally, or including a 3rd party version of turf directly, there are multiple CDN's to choose from and each has a URL scheme that allows you to specify what version you want, with some flexibility. Structure your URL as appropriate for your needs:
+
+- [jsdelivr](https://www.jsdelivr.com/)
+ - browse: https://www.jsdelivr.com/package/npm/@turf/turf
+ - latest within major version: https://cdn.jsdelivr.net/npm/@turf/turf@7/turf.min.js
+ - latest within minor version: https://cdn.jsdelivr.net/npm/@turf/turf@7.0/turf.min.js
+ - specific version: https://cdn.jsdelivr.net/npm/@turf/turf@7.0.0/turf.min.js
+- [unpkg](https://www.unpkg.com/)
+ - browse: https://unpkg.com/browse/@turf/turf@7.0.0/
+ - latest within major version: https://unpkg.com/@turf/turf@^7/turf.min.js
+ - latest within minor version: https://unpkg.com/@turf/turf@^7.0/turf.min.js
+ - specific version: https://unpkg.com/@turf/turf@7.0.0/turf.min.js
+
+For example, download the [latest minified version 7](https://cdn.jsdelivr.net/npm/@turf/turf@7/turf.min.js), and include it in a script tag. This will expose a global variable named `turf`.
+
+```html
+
+```
+
+You can also include it directly from a CDN. This example specifies the latest version within v7.
+
+```html
+
+```
+
+It is not recommended to use a CDN URL that gives you the `latest` bleeding edge version of Turf, especially in a production app. There are breaking changes to turf functions between major versions that can leave your app in a broken state because it always gives your browser users the latest version.
+
+## TypeScript
+
+TypeScript definitions are included and exported by each Turf module, except for GeoJSON type definitions (e.g. `Polygon`, `FeatureCollection`) which are provided by the [@types/geojson](https://www.npmjs.com/package/@types/geojson) package. Turf does not re-export these type definitionas. If you need them, you can import and use them directly, e.g. `import { Polygon, FeatureCollection } from 'geojson'`. You may need to install the `@types/geojson` package first.
+
+## Other languages
+
+Ports of Turf.js are available in:
+
+- [Java](https://github.com/mapbox/mapbox-java/tree/master/services-turf/src/main/java/com/mapbox/turf) (Android, Java SE)
+ - > [The current to-do list for porting to Java](https://github.com/mapbox/mapbox-java/blob/master/docs/turf-port.md)
+- [Swift](https://github.com/mapbox/turf-swift/) (iOS, macOS, tvOS, watchOS, Linux)
+ - > Turf for Swift is **experimental** and its public API is subject to change. Please use with care.
+- [Dart/Flutter](https://github.com/dartclub/turf_dart) (Dart Web, Dart Native; Flutter for iOS, Android, macOS, Windows, Linux, Web)
+ - > The Turf for Dart port is still in progress, the implementation status can be found in the [README](https://github.com/dartclub/turf_dart#components).
+
+---
+
+## Data in Turf
+
+Turf uses GeoJSON for all geographic data. Turf expects the data to be standard WGS84 longitude, latitude coordinates. Check out geojson.io for a tool to easily create this data.
+
+> **NOTE:** Turf expects data in (longitude, latitude) order per the GeoJSON standard.
+
+Most Turf functions work with GeoJSON features. These are pieces of data that represent a collection of properties (ie: population, elevation, zipcode, etc.) along with a geometry. GeoJSON has several geometry types such as:
+
+- Point
+- LineString
+- Polygon
+
+Turf provides a few geometry functions of its own. These are nothing more than simple (and optional) wrappers that output plain old GeoJSON. For example, these two methods of creating a point are functionally equivalent:
+
+```js
+// Note order: longitude, latitude.
+var point1 = turf.point([-73.988214, 40.749128]);
+
+var point2 = {
+ type: "Feature",
+ geometry: {
+ type: "Point",
+ // Note order: longitude, latitude.
+ coordinates: [-73.988214, 40.749128],
+ },
+ properties: {},
+};
+```
+
+## Browser support
+
+Turf packages are compiled to target ES2017. However, the browser version of @turf/turf is transpiled to also include support for IE11. If you are using these packages and need to target IE11, please transpile the following packages as part of your build:
+
+```
+@turf/*
+robust-predicates
+rbush
+tinyqueue
+```
diff --git a/versioned_docs/version-7.1.0/intro.md b/versioned_docs/version-7.1.0/intro.md
new file mode 100644
index 00000000..4c5218dd
--- /dev/null
+++ b/versioned_docs/version-7.1.0/intro.md
@@ -0,0 +1,51 @@
+---
+sidebar_position: 1
+---
+
+# Introduction
+
+**_A modular geospatial engine written in JavaScript_**
+
+---
+
+[Turf](https://turfjs.org) is a [JavaScript library](https://en.wikipedia.org/wiki/JavaScript_library) for [spatial analysis](https://en.wikipedia.org/wiki/Spatial_analysis). It includes traditional spatial operations, helper functions for creating [GeoJSON](https://geojson.org) data, and data classification and statistics tools. Turf can be added to your website as a client-side plugin, or you can [run Turf server-side](https://www.npmjs.com/package/@turf/turf) with [Node.js](https://nodejs.org/) (see below).
+
+[![GitHub Actions Status](https://github.com/Turfjs/turf/actions/workflows/turf.yml/badge.svg)](https://github.com/Turfjs/turf/actions/workflows/turf.yml/badge.svg)
+[![Version Badge][npm-img]][npm-url]
+[![Gitter chat][gitter-img]][gitter-url]
+[![Backers on Open Collective][oc-backer-badge]](#backers)
+[![Sponsors on Open Collective][oc-sponsor-badge]](#sponsors) [![Coverage Status](https://coveralls.io/repos/github/Turfjs/turf/badge.svg)](https://coveralls.io/github/Turfjs/turf)
+
+[npm-img]: https://img.shields.io/npm/v/@turf/turf.svg
+[npm-url]: https://www.npmjs.com/package/@turf/turf
+[gitter-img]: https://badges.gitter.im/Turfjs/turf.svg
+[gitter-url]: https://gitter.im/Turfjs/turf
+[oc-backer-badge]: https://opencollective.com/turf/backers/badge.svg
+[oc-sponsor-badge]: https://opencollective.com/turf/sponsors/badge.svg
+
+## Contributors
+
+This project exists thanks to all the people who contribute. If you are interested in helping, check out the [Contributing Guide](contributing.md).
+
+
+
+## Backers
+
+Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/turf#backer)]
+
+
+
+## Sponsors
+
+Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/turf#sponsor)]
+
+
+
+
+
+
+
+
+
+
+
diff --git a/versioned_docs/version-7.1.0/upgrade-guide.md b/versioned_docs/version-7.1.0/upgrade-guide.md
new file mode 100644
index 00000000..fa55fe70
--- /dev/null
+++ b/versioned_docs/version-7.1.0/upgrade-guide.md
@@ -0,0 +1,50 @@
+---
+sidebar_position: 3
+---
+
+# Upgrade Guide
+
+When upgrading to a newer version of Turf, see the [CHANGELOG](https://github.com/Turfjs/turf/blob/master/CHANGELOG.md) and [release notes](https://github.com/Turfjs/turf/releases) for any breaking changes. If you are getting errors after upgrade, look to see if the [API docs](https://turfjs.org) have changed for your functions between versions and migrate them as appropriate.
+
+How you upgrade Turf will depend on your specific environment and tooling. Here are some guidelines to get you started.
+
+The source of truth for published versions of Turf is [NPM](https://www.npmjs.com/package/@turf/turf?activeTab=versions). You are welcome to use other providers that republish these packages.
+
+## In Node.js
+
+```bash
+# If you use the all-inclusive turf library
+npm update --save @turf/turf
+
+# if you use the smaller individual turf packages
+npm update --save @turf/helpers @turf/buffer
+```
+
+As of v7, both CommonJS and ESM bundles are included.
+
+## In browser
+
+Whether downloading locally, or including a 3rd party version of turf directly, there are multiple CDN's to choose from and each has a URL scheme that allows you to specify what version you want, with some flexibility. Structure your URL as appropriate for your needs:
+
+- [jsdelivr](https://www.jsdelivr.com/)
+ - browse: https://www.jsdelivr.com/package/npm/@turf/turf
+ - latest within major version: https://cdn.jsdelivr.net/npm/@turf/turf@7/turf.min.js
+ - latest within minor version: https://cdn.jsdelivr.net/npm/@turf/turf@7.0/turf.min.js
+ - specific version: https://cdn.jsdelivr.net/npm/@turf/turf@7.0.0/turf.min.js
+- [unpkg](https://www.unpkg.com/)
+ - browse: https://unpkg.com/browse/@turf/turf@7.0.0/
+ - latest within major version: https://unpkg.com/@turf/turf@^7/turf.min.js
+ - latest within minor version: https://unpkg.com/@turf/turf@^7.0/turf.min.js
+ - specific version: https://unpkg.com/@turf/turf@7.0.0/turf.min.js
+
+Here's an example of migrating from Turf 6.x to 7.x
+
+```html
+
+```
+becomes
+```html
+
+```
+
+It is not recommended to use a CDN URL that always gives you the `latest` bleeding edge version of Turf, especially in a production app. There are breaking changes to turf functions between major versions that can leave your app in a broken state.
diff --git a/versioned_sidebars/version-7.1.0-sidebars.json b/versioned_sidebars/version-7.1.0-sidebars.json
new file mode 100644
index 00000000..cf3e27ec
--- /dev/null
+++ b/versioned_sidebars/version-7.1.0-sidebars.json
@@ -0,0 +1,316 @@
+{
+ "docsSidebar": [
+ {
+ "type": "doc",
+ "id": "intro"
+ },
+ {
+ "type": "doc",
+ "id": "getting-started"
+ },
+ {
+ "type": "doc",
+ "id": "upgrade-guide"
+ },
+ {
+ "type": "doc",
+ "id": "contributing"
+ }
+ ],
+ "apiSidebar": [
+ {
+ "type": "category",
+ "label": "Measurement",
+ "collapsed": false,
+ "items": [
+ "api/along",
+ "api/area",
+ "api/bbox",
+ "api/bboxPolygon",
+ "api/bearing",
+ "api/center",
+ "api/centerOfMass",
+ "api/centroid",
+ "api/destination",
+ "api/distance",
+ "api/envelope",
+ "api/greatCircle",
+ "api/length",
+ "api/midpoint",
+ "api/pointOnFeature",
+ "api/pointToLineDistance",
+ "api/polygonTangents",
+ "api/rhumbBearing",
+ "api/rhumbDestination",
+ "api/rhumbDistance",
+ "api/square"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Coordinate Mutation",
+ "collapsed": false,
+ "items": [
+ "api/cleanCoords",
+ "api/flip",
+ "api/rewind",
+ "api/round",
+ "api/truncate"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Transformation",
+ "collapsed": false,
+ "items": [
+ "api/bboxClip",
+ "api/bezierSpline",
+ "api/buffer",
+ "api/circle",
+ "api/clone",
+ "api/concave",
+ "api/convex",
+ "api/difference",
+ "api/dissolve",
+ "api/intersect",
+ "api/lineOffset",
+ "api/polygonSmooth",
+ "api/simplify",
+ "api/tesselate",
+ "api/transformRotate",
+ "api/transformScale",
+ "api/transformTranslate",
+ "api/union",
+ "api/voronoi"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Feature Conversion",
+ "collapsed": false,
+ "items": [
+ "api/combine",
+ "api/explode",
+ "api/flatten",
+ "api/lineToPolygon",
+ "api/polygonToLine",
+ "api/polygonize"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Misc",
+ "collapsed": false,
+ "items": [
+ "api/kinks",
+ "api/lineArc",
+ "api/lineChunk",
+ "api/lineIntersect",
+ "api/lineOverlap",
+ "api/lineSegment",
+ "api/lineSlice",
+ "api/lineSliceAlong",
+ "api/lineSplit",
+ "api/mask",
+ "api/nearestPointOnLine",
+ "api/sector",
+ "api/shortestPath",
+ "api/unkinkPolygon"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Helper",
+ "collapsed": false,
+ "items": [
+ "api/feature",
+ "api/featureCollection",
+ "api/geometryCollection",
+ "api/lineString",
+ "api/multiLineString",
+ "api/multiPoint",
+ "api/multiPolygon",
+ "api/point",
+ "api/polygon"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Random",
+ "collapsed": false,
+ "items": [
+ "api/randomLineString",
+ "api/randomPoint",
+ "api/randomPolygon",
+ "api/randomPosition"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Data",
+ "collapsed": false,
+ "items": [
+ "api/sample"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Interpolation",
+ "collapsed": false,
+ "items": [
+ "api/interpolate",
+ "api/isobands",
+ "api/isolines",
+ "api/planepoint",
+ "api/tin"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Joins",
+ "collapsed": false,
+ "items": [
+ "api/pointsWithinPolygon",
+ "api/tag"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Grids",
+ "collapsed": false,
+ "items": [
+ "api/hexGrid",
+ "api/pointGrid",
+ "api/squareGrid",
+ "api/triangleGrid"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Classification",
+ "collapsed": false,
+ "items": [
+ "api/nearestPoint"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Aggregation",
+ "collapsed": false,
+ "items": [
+ "api/clustersDbscan",
+ "api/clustersKmeans",
+ "api/collect"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Meta",
+ "collapsed": false,
+ "items": [
+ "api/clusterEach",
+ "api/clusterReduce",
+ "api/coordAll",
+ "api/coordEach",
+ "api/coordReduce",
+ "api/featureEach",
+ "api/featureReduce",
+ "api/flattenEach",
+ "api/flattenReduce",
+ "api/geomEach",
+ "api/geomReduce",
+ "api/getCluster",
+ "api/getCoord",
+ "api/getCoords",
+ "api/getGeom",
+ "api/getType",
+ "api/propEach",
+ "api/propReduce",
+ "api/segmentEach",
+ "api/segmentReduce"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Assertions",
+ "collapsed": false,
+ "items": [
+ "api/collectionOf",
+ "api/containsNumber",
+ "api/featureOf",
+ "api/geojsonType"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Booleans",
+ "collapsed": false,
+ "items": [
+ "api/booleanClockwise",
+ "api/booleanConcave",
+ "api/booleanContains",
+ "api/booleanCrosses",
+ "api/booleanDisjoint",
+ "api/booleanEqual",
+ "api/booleanIntersects",
+ "api/booleanOverlap",
+ "api/booleanParallel",
+ "api/booleanPointInPolygon",
+ "api/booleanPointOnLine",
+ "api/booleanTouches",
+ "api/booleanWithin"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Unit Conversion",
+ "collapsed": false,
+ "items": [
+ "api/azimuthToBearing",
+ "api/bearingToAzimuth",
+ "api/convertArea",
+ "api/convertLength",
+ "api/degreesToRadians",
+ "api/lengthToDegrees",
+ "api/lengthToRadians",
+ "api/radiansToDegrees",
+ "api/radiansToLength",
+ "api/toMercator",
+ "api/toWgs84"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Other",
+ "collapsed": false,
+ "items": [
+ "api/angle",
+ "api/booleanValid",
+ "api/centerMean",
+ "api/centerMedian",
+ "api/directionalMean",
+ "api/distanceWeight",
+ "api/ellipse",
+ "api/findPoint",
+ "api/findSegment",
+ "api/geometry",
+ "api/isNumber",
+ "api/isObject",
+ "api/lineEach",
+ "api/lineReduce",
+ "api/lineStrings",
+ "api/mean",
+ "api/moranIndex",
+ "api/nearestPointToLine",
+ "api/pNormDistance",
+ "api/points",
+ "api/polygons",
+ "api/pt",
+ "api/quadratAnalysis",
+ "api/rbush",
+ "api/standardDeviationalEllipse",
+ "api/variance"
+ ]
+ }
+ ]
+}
diff --git a/versions.json b/versions.json
index 23b234f6..e408003c 100644
--- a/versions.json
+++ b/versions.json
@@ -1,4 +1,5 @@
[
+ "7.1.0",
"7.0.0",
"6.5.0"
]