Turf is GIS for web maps. It’s a fast, compact, and open-source JavaScript library that implements the most common geospatial operations: buffering, contouring, triangular irregular networks (TINs), and more. Turf speaks GeoJSON natively, easily connects to Leaflet, and is now available as a Mapbox.js plugin on our cloud platform. We’re also working to integrate Turf into our offline products and next-generation map rendering tools.
Turf is part of a new geospatial infrastructure. Unlike the ArcGIS API for JavaScript, Turf can run completely client-side for all operations, so web apps can work offline and sensitive information can be kept local. We’re constantly refining Turf’s performance. Recent research algorithms can make operations like clipping and buffering faster than ever, and as JavaScript engines like V8 continue to optimize, Turf will compete with native code.
Turf is isomorphic. You can run the same analysis in real-time with a web browser that you can with Node.js using a script or a server. Turf is also modular. Download just the parts you need, or use a bundled distribution with everything included. A lot of Turf’s magic comes from using browserify to stitch together the pieces and from using npm to manage Turf as a large collection of modules.
With the building blocks for GIS analysis on the web, you can create your next spatial application in a whole new way: as small pieces joined together intelligently using Turf. To get started, follow the instructions on the Turf setup page and try adding some of the example code to your Mapbox maps. Let us know what you think and what additional modules you’d like to see added.