{k}otlin g{eo} - geographic extensions for Kotlin
This is a collection of various geo-related extensions for Kotlin. The extensions mostly integrate existing libraries - like JTS into the the Kotlin ecosystem but sometimes also provide their own functionality. It is currently only a small collection which will hopefully grow in the future.
The project is split into subpackages to reduce the number of dependencies when only a subset of the functionality is required.
Packages are available via github.
package name: keo-core
The core package provides functionality shared between multiple subprojects.
package name: keo-geojson
GeoJSON support for the jackson JSON library. This package allows serializing and deserializing the JTS geometry types as well as JTS Coordinates and Envelopes. Some support for Features and FeatureCollections is also included.
Usage:
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import net.nmandery.keo.geojson.registerJTSGeoJSON
// ...
val om = jacksonObjectMapper()
om.registerJTSGeoJSON()
// Now jacksons object mapper supports the JTS types
package name: keo-optimize
Geometry-optimization algorithms:
- reorder coordinates to build the shortest-possible path.
Sadly there currently is not to much documentation - please refer to the included unittests - they should show most of the implemented features.
Apache 2.0