circe-geojson
A library for working with GeoJSON in idiomatic Scala.
import works.worace.geojson.GeoJson
GeoJson.parse("""{"type":"Point","coordinates":[1.0,-1.0]}""")
// res: Either[io.circe.Error, GeoJson] = Right(
//   Point(Coordinate(1.0, -1.0, None, None), None, None)
// ) 
Includes:
- An Algebraic Data Type (
works.worace.geojson.GeoJson) for representing GeoJSON data in accordance with the RFC 7946 Spec - Circe-based encoders and decoders for converting GeoJSON to and from JSON
 - Optional extensions for converting between 
GeoJsontypes and Java Topology Suite (JTS) geometries 
See the full Docs for usage examples and more information
Scaladoc
Development
- Run tests with 
sbt test - Releases are pushed by CI (Github Actions) using sbt-ci-release
 - Markdown doc examples are compiled using mdoc
 - Build Mdoc: 
sbt docs/mdoc - Run Mdoc live server: 
sbt docs/mdoc --watch - Push Scaladoc to GitHub Pages: 
sbt ghpagesPushSite - Run scalafmt: 
sbt scalafmtAll 
Releasing
- Check the last version with 
git tag - Tag the next one, e.g. 
git tag v0.1.3 - Push 
git push origin v0.1.3and sbt-ci-release will push the release to sonatype 
Upcoming / TODOs
-  Docs 
  
- Readme Usage examples (tut/md - compile-time check)
 - Scaladoc
 -  Publish scaladoc to github pages somehow? (sbt-site - 
sbt ghpagesPushSite) - Push github pages site from CI (may need a token or ssh key)
 
 - Cross-build (2.11, 2.12, 2.13? Will these even work?)