@turf/helpers
feature
Wraps a GeoJSON Geometry in a GeoJSON Feature.
Parameters
geometry
Geometry input geometryproperties
[Object] an Object of key-value pairs to add as properties (optional, default {}
)bbox
[Array<number>] BBox [west, south, east, north]id
[(string | number)] Identifier
Examples
var geometry = {
"type": "Point",
"coordinates": [110, 50]
};
var feature = turf.feature(geometry);
Returns Feature a GeoJSON Feature
geometry
Creates a GeoJSON Geometry from a Geometry string type & coordinates.
For GeometryCollection type use helpers.geometryCollection
Parameters
Examples
var type = 'Point';
var coordinates = [110, 50];
var geometry = turf.geometry(type, coordinates);
Returns Geometry a GeoJSON Geometry
point
Takes coordinates and properties (optional) and returns a new Point feature.
Parameters
coordinates
Array<number> longitude, latitude position (each in decimal degrees)properties
[Object] an Object of key-value pairs to add as properties (optional, default {}
)bbox
[Array<number>] BBox [west, south, east, north]id
[(string | number)] Identifier
Examples
var point = turf.point([-75.343, 39.984]);
Returns Feature<Point> a Point feature
polygon
Takes an array of LinearRings and optionally an Object with properties and returns a Polygon feature.
Parameters
Examples
var polygon = turf.polygon([[
[-2.275543, 53.464547],
[-2.275543, 53.489271],
[-2.215118, 53.489271],
[-2.215118, 53.464547],
[-2.275543, 53.464547]
]], { name: 'poly1', population: 400});
- Throws Error throw an error if a LinearRing of the polygon has too few positions
or if a LinearRing of the Polygon does not have matching Positions at the beginning & end.
Returns Feature<Polygon> a Polygon feature
lineString
Creates a LineString based on a
coordinate array. Properties can be added optionally.
Parameters
coordinates
Array<Array<number>> an array of Positionsproperties
[Object] an Object of key-value pairs to add as properties (optional, default {}
)bbox
[Array<number>] BBox [west, south, east, north]id
[(string | number)] Identifier
Examples
var linestring1 = turf.lineString([
[-21.964416, 64.148203],
[-21.956176, 64.141316],
[-21.93901, 64.135924],
[-21.927337, 64.136673]
]);
var linestring2 = turf.lineString([
[-21.929054, 64.127985],
[-21.912918, 64.134726],
[-21.916007, 64.141016],
[-21.930084, 64.14446]
], {name: 'line 1', distance: 145});
- Throws Error if no coordinates are passed
Returns Feature<LineString> a LineString feature
featureCollection
Takes one or more Features and creates a FeatureCollection.
Parameters
Examples
var features = [
turf.point([-75.343, 39.984], {name: 'Location A'}),
turf.point([-75.833, 39.284], {name: 'Location B'}),
turf.point([-75.534, 39.123], {name: 'Location C'})
];
var collection = turf.featureCollection(features);
Returns FeatureCollection a FeatureCollection of input features
multiLineString
Creates a Feature<MultiLineString> based on a
coordinate array. Properties can be added optionally.
Parameters
Examples
var multiLine = turf.multiLineString([[[0,0],[10,10]]]);
- Throws Error if no coordinates are passed
Returns Feature<MultiLineString> a MultiLineString feature
multiPoint
Creates a Feature<MultiPoint> based on a
coordinate array. Properties can be added optionally.
Parameters
coordinates
Array<Array<number>> an array of Positionsproperties
[Object] an Object of key-value pairs to add as properties (optional, default {}
)bbox
[Array<number>] BBox [west, south, east, north]id
[(string | number)] Identifier
Examples
var multiPt = turf.multiPoint([[0,0],[10,10]]);
- Throws Error if no coordinates are passed
Returns Feature<MultiPoint> a MultiPoint feature
multiPolygon
Creates a Feature<MultiPolygon> based on a
coordinate array. Properties can be added optionally.
Parameters
Examples
var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);
- Throws Error if no coordinates are passed
Returns Feature<MultiPolygon> a multipolygon feature
geometryCollection
Creates a Feature<GeometryCollection> based on a
coordinate array. Properties can be added optionally.
Parameters
geometries
Array<Geometry> an array of GeoJSON Geometriesproperties
[Object] an Object of key-value pairs to add as properties (optional, default {}
)bbox
[Array<number>] BBox [west, south, east, north]id
[(string | number)] Identifier
Examples
var pt = {
"type": "Point",
"coordinates": [100, 0]
};
var line = {
"type": "LineString",
"coordinates": [ [101, 0], [102, 1] ]
};
var collection = turf.geometryCollection([pt, line]);
Returns Feature<GeometryCollection> a GeoJSON GeometryCollection Feature
round
Round number to precision
Parameters
num
number Numberprecision
[number] Precision (optional, default 0
)
Examples
turf.round(120.4321)
turf.round(120.4321, 2)
Returns number rounded number
radiansToDistance
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
radians
number in radians across the sphereunits
[string] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers. (optional, default kilometers
)
Returns number distance
distanceToRadians
Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians
Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet
Parameters
distance
number in real unitsunits
[string] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers. (optional, default kilometers
)
Returns number radians
distanceToDegrees
Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees
Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet
Parameters
distance
number in real unitsunits
[string] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers. (optional, default kilometers
)
Returns number degrees
bearingToAngle
Converts any bearing angle from the north line direction (positive clockwise)
and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line
Parameters
bearing
number angle, between -180 and +180 degrees
Returns number angle between 0 and 360 degrees
radians2degrees
Converts an angle in radians to degrees
Parameters
radians
number angle in radians
Returns number degrees between 0 and 360 degrees
degrees2radians
Converts an angle in degrees to radians
Parameters
degrees
number angle between 0 and 360 degrees
Returns number angle in radians
convertDistance
Converts a distance to the requested unit.
Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet
Parameters
distance
number to be convertedoriginalUnit
string of the distancefinalUnit
[string] returned unit (optional, default kilometers
)
Returns number the converted distance
convertArea
Converts a area to the requested unit.
Valid units: kilometers, kilometres, meters, metres, centimetres, millimeter, acre, mile, yard, foot, inch
Parameters
area
number to be convertedoriginalUnit
[string] of the distance (optional, default meters
)finalUnit
[string] returned unit (optional, default kilometers
)
Returns number the converted distance
isNumber
isNumber
Parameters
num
Any Number to validate
Examples
turf.isNumber(123)
turf.isNumber('foo')
Returns boolean true/false
This module is part of the Turfjs project, an open source
module collection dedicated to geographic algorithms. It is maintained in the
Turfjs/turf repository, where you can create
PRs and issues.
Installation
Install this module individually:
$ npm install @turf/helpers
Or install the Turf module that includes it as a function:
$ npm install @turf/turf