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
GeoJson
types and Java Topology Suite (JTS) geometries
See the full Docs for usage examples and more information
- 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
- Check the last version with
git tag
- Tag the next one, e.g.
git tag v0.1.3
- Push
git push origin v0.1.3
and sbt-ci-release will push the release to sonatype
- 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?)