New minor release! Turf 5.1.0 🎉
See original GitHub issueNew minor release! Turf 5.1.0 🎉
TurfJS releases are being tracked using Milestones.
Contributors
Crowdsourced Funding
Why we’re looking for support
TurfJS is a community-driven project maintained by a small group of core contributors who work on the project in their spare time. Time is spent supporting users, improving documentation, fixing bugs as well as creating new modules. Your funding will directly go to development costs, marketing campaigns, promotional events & any other financial costs to operate & maintain TurfJS.
In particular, we’re looking for corporate sponsors who use TurfJS in revenue-generating ways, either by creating applications for clients, or through use in an app used by customers. Of course individuals are welcome to support us as well if TurfJS has helped you 😃
https://opencollective.com/turf
Help TurfJS by becoming a Backer for only 2$/mo.
🚀 New Modules
@turf/center-median
Takes a FeatureCollection of points and calculates the median center, algorithimically. The median center is understood as the point that is requires the least total travel from all other points.
(PR https://github.com/Turfjs/turf/pull/1122 - Author @muziejus)
@turf/center-mean
Takes a Feature or FeatureCollection and returns the mean center. Can be weighted.
(PR https://github.com/Turfjs/turf/pull/1089 - Author @muziejus)
@turf/standard-deviational-ellipse
Takes a FeatureCollection 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 in ArcGIS and the QGIS Standard Deviational Ellipse Plugin
(PR https://github.com/Turfjs/turf/pull/1120 - Author @muziejus)

@turf/ellipse
Takes a Point and calculates the ellipse polygon given two semi-axes expressed in variable units and steps for precision.
(PR https://github.com/Turfjs/turf/pull/1087 - Author @muziejus)
📖 Documentation
- TurfJS’s website has a fresh new look! 🚀 http://turfjs.org (Author @rowanwins PR https://github.com/Turfjs/turf-www/pull/127)
- This uses nuxt to generate the pages as static html which should be better for search engines
- The docs are now all on a single page
- Built sizes are much better than the current
- The map moves to a module when its description comes into view, I think this functions reasonably nicely.
🏅 New Features/Enhancements
- Add points/lineStrings/polygons to @turf/helpers (https://github.com/Turfjs/turf/pull/1108)
- Internalize
@types/geojson
(https://github.com/Turfjs/turf/pull/1138) - Add extra geometry support to @turf/points-within-polygon (https://github.com/Turfjs/turf/pull/1117)
- ES Modules now work in the latest version of Chrome!
<script type='module'>
import {point} from "https://unpkg.com/@turf/helpers?module"
console.log(point([100, 0]));
</script>
🐛 Bug Fixes
- Prevent Window Freeze when using @turf/simplify (https://github.com/Turfjs/turf/pull/1145)
- Take care of zero handling for weight in @turf/center-mean (https://github.com/Turfjs/turf/pull/1127)
- Add input validation to @turf/bbox-polygon (https://github.com/Turfjs/turf/pull/1121)
- Use rhumb lines to calculate @turf/ellipse axes, except when units are “degrees” (https://github.com/Turfjs/turf/pull/1115)
- coordEach indexing bug (https://github.com/Turfjs/turf/issues/1092)
- Add null handling for property cloning on @turf/clone. Fixes issue #1095 (https://github.com/Turfjs/turf/pull/1096)
Twitter: https://twitter.com/DenisCarriere/status/938895355541778432 CC: @Turfjs/ownership
Issue Analytics
- State:
- Created 6 years ago
- Reactions:2
- Comments:10 (6 by maintainers)
Thanks. I’ve been using Turf on and off as a solution to put my various geospatial analysis on the web in presentations for about a year, but lately I’ve been getting more and more frustrated w/ ArcMap and QGIS and working between them and Leaflet. Turf takes up a great middle ground, and I’m glad that my solution to “I wish Turf did x” was “Let me try to do it; the worst that happens is the team tells me I was wrong and fixes it.”
Turf is also useful towards the curriculum (of sorts) of free, light, JavaScript solutions for scholars in the humanities that I’m designing. I’ve got high hopes for this little (huge) library, and I have to thank you all for putting it together in the first place!
Thanks particularly to @muziejus for getting involved in the past month, lots of really valuable contributions, code & thoughts & documentation, so thank you!