## Ports of Turf.js Turf has been ported to several other languages, listed below. - [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) - [Kotlin Multiplatform](https://maplibre.org/spatial-k/) (JVM, Android, Native, JS, WASM) - > [The current to-do list for porting to Kotlin](https://github.com/maplibre/spatial-k/issues?q=sort%3Aupdated-desc%20is%3Aissue%20is%3Aopen%20label%3A%22turf%20port%22) - [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). ## Other Geospatial Analysis Software Below are other geospatial options that aren't specifically ports of Turf. ### Python * [Shapely](https://pypi.python.org/pypi/Shapely) is a friendly Python binding to GEOS * [geopandas](https://geopandas.org/) is a layer on top of Shapely and Fiona for PostGIS-like tasks ### C++ * [GEOS](https://libgeos.org/) is a port of JTS to C++ ### JavaScript * [jsts](https://github.com/bjornharrtell/jsts) is a port of JTS to JavaScript ### Java * [JTS](https://www.tsusiatsoftware.net/jts/main.html) ### Go * [gogeos](https://paulsmith.github.io/gogeos/) is a Go binding to GEOS * [go.geo](https://github.com/paulmach/go.geo) is a pure-Go implementation of some geometry operations and primitives ### Postgres * [PostGIS](https://postgis.net/) provides geospatial operations within the Postgres database. Advanced operations rely on GEOS.