Releases104
Frequency1 month 1 week
Last Release
Stars10.4K
A modular geospatial engine written in JavaScript and TypeScript

Linked projects

Checks if a point is inside an area, like a city boundary.
Provides helper functions to create GeoJSON features, like points, lines, or areas on a map.
turf inside module
Lightweight utility for input validation and data extraction in Turf.js. Ensures GeoJSON inputs are in the correct format and extracts specific components like coordinates or geometries.
Measures the straight-line distance between two points, like cities or landmarks.
turf destination module
Truncates precision of GeoJSON coordinates.
Calculate great circles routes as LineString or MultiLineString.
Provides tools for iterating over and manipulating GeoJSON objects.
Generates random points, lines, or polygons for testing.
a JavaScript library for performing geospatial operations with GeoJSON
Takes a feature or set of features and returns all positions as points.
Takes any LineString or Polygon and returns the overlapping lines between both features.
turf linestring-to-polygon module
Reduces the number of points in a shape while keeping its overall look.
Moves a shape or location in a specific direction.
turf bezier module
Finds the difference between multiple polygons by clipping the subsequent polygon from the first.
Takes a triangular plane as a polygon and a point within that triangle, and returns the z-value at that point.
Rewind using Shoelace Formula.
Generates a bounding box around a GeoJSON feature.
Finds the “balance point” of irregular shapes, like a country outline.
Takes input features and flips all of their coordinates.
Takes a grid of values (GeoJSON format) and a set of threshold ranges. It outputs polygons that group areas within those ranges, effectively creating filled contour isobands.
turf nearest module
Tesselates a polygon or multipolygon into a collection of triangle polygons using earcut.
Determines the geometric center of a polygon or shape.
Takes a GeoJSON feature and returns points at all self-intersections.
Calculates the destination point having travelled the given distance along a Rhumb line.
Calculates the distance along a rhumb line between two points.
Takes a set of points and a set of polygons and/or multipolygons and performs a spatial join.
Creates a buffer around a GeoJSON feature.
turf polygon-to-linestring module
Takes a bounding box and calculates the minimum square bounding box that would contain the input.
Creates a concave hull around points.
Takes any LineString or Polygon GeoJSON and returns the intersecting point(s).
Useful for extracting only the part of a route between waypoints.
Split a LineString by another GeoJSON Feature.
Merges a specified property from a FeatureCollection of points into a FeatureCollection of polygons.
turf idw module
Creates a circular arc, of a circle of the given radius and center point, between two bearings.
Finds the tangents of a polygon from a point.
Takes any number of features and returns a rectangular Polygon that encompasses all vertices.
Generate contour lines from a grid of data.
Useful for extracting only the part of a route between two distances.
Takes a kinked polygon and returns a feature collection of polygons that have no kinks.
Creates a circular sector of a circle.
Rotates a geometry around its center or a given point.
Combines two or more polygons into a single polygon.
Calculates a point along a line at a specific distance
Takes two points and finds the geographic bearing between them.
Takes two points and calculates a point midway between them geodesically.
Converts a bounding box to a GeoJSON polygon.
Takes two points and finds the bearing angle between them along a Rhumb line.
Creates a square grid within a bounding box.
Takes a point and calculates the circle polygon given a radius.
Dissolves a FeatureCollection of Polygon features.
Takes a line and returns a line at offset by the specified distance.
Polygonizes a set of lines that represents edges in a planar graph.
turf within module
Flattens any GeoJSON to a FeatureCollection
Takes a FeatureCollection and returns a FeatureCollection with given number of features at random.
Takes a set of points and creates a Triangulated Irregular Network.
Changes the size of a geometry by scaling it up or down.
Calculates the geodesic area in square meters of one or more polygons.
Takes a Feature and a bbox and clips the feature to the bbox using lineclip.
Combines a FeatureCollection of Point, LineString, or Polygon features into MultiPoint, MultiLineString, or MultiPolygon features.
Divides a LineString into chunks of a specified length.
turf line-distance module
Creates line segments from a GeoJSON feature.
turf point-on-line module
Finds the central point of a GeoJSON feature, like a city or a park. Ideal for placing labels or markers.
Creates a convex hull around points
Finds the shared area between two polygons.
Takes polygons or multipolygons and an optional mask, and returns an exterior ring polygon with holes.
Creates a triangular grid within a bounding box.
Creates a honeycomb-like grid of hexagons within a bounding box.
Creates a grid of points within a bounding box.
turf point-on-surface module
Converts line(s) to polygon(s).
Takes a ring and return true or false whether or not the ring is clockwise or counter-clockwise.
Takes a FeatureCollection of points and calculates the median center.
Group points into clusters based on their spatial proximity or properties.
Takes a collection of features and returns a standard deviational ellipse.
Smooths a line into a curve using Bézier splines, great for visualizing routes.
Takes a set of points and partition them into clusters using the k-means algorithm.
Finds the nearest point on a line to a given point
Calculates the distance between a given point and the nearest point on a line.
Checks if two geometries cross each other.
Checks if two geometries have an area of overlap without one being completely contained inside the other.
Determines whether the first geometry is completely within the second geometry.
Creates an interpolated grid of points using the Inverse Distance Weighting method.
Returns the shortest path from start to end without colliding with any Feature in obstacles.
Converts a polygon to a line string.
Determine whether each segment of a line is parallel to the correspondent segment of another line.
Removes redundant coordinates from a GeoJSON Geometry.
Returns a cloned copy of the passed GeoJSON Object, including possible 'Foreign Members'.
Takes a Point and calculates the ellipse polygon given two semi-axes expressed in variable units and steps for precision.
Determine whether two geometries of the same type have identical X,Y coordinate values
Takes a collection of points and a bounding box, and returns a collection of Voronoi polygons.
Provides tools for conversion between geographic coordinates and projected coordinates.
Checks if two geometries have no overlapping areas.
Returns the closest point, of a collection of points, to a line.
Determines whether the second geometry is completely within the first geometry.
Takes a set of points and partition them into clusters according to DBSCAN's data clustering algorithm.
Takes a Feature or FeatureCollection and returns a Point guaranteed to be on the surface of the feature.
Finds the nearest point from a FeatureCollection of Features with Point geometries to a given point.
Takes a Feature or FeatureCollection and returns the mean center.
Calculates the length of a line, perfect for paths or routes.
Finds points that fall within polygon(s).
Checks if a point lies directly on a line, like a path or road.
Finds the angle formed by two adjacent segments.
Smooths a Polygon or MultiPolygon, based on Chaikin's algorithm.
Calculate the influence or weight of points over an area based on their distances.
Measures patterns of attribute values associated with features. Reveals whether similar values tend to occur near each other, or whether high or low values are interspersed
Checks if two geometries overlap in any way.
Creates a grid of rectangular polygons with width and height consistent in degrees.