circe-geojson-core

GeoJSON ADT and Circe encoders/decoders

License

License

Categories

Categories

Geo Business Logic Libraries Geospatial JSON Data
GroupId

GroupId

works.worace
ArtifactId

ArtifactId

circe-geojson-core_2.13
Last Version

Last Version

0.2.0
Release Date

Release Date

Type

Type

jar
Description

Description

circe-geojson-core
GeoJSON ADT and Circe encoders/decoders
Project URL

Project URL

https://github.com/worace/circe-geojson
Project Organization

Project Organization

works.worace
Source Code Management

Source Code Management

https://github.com/worace/circe-geojson

Download circe-geojson-core_2.13

How to add to project

<!-- https://jarcasting.com/artifacts/works.worace/circe-geojson-core_2.13/ -->
<dependency>
    <groupId>works.worace</groupId>
    <artifactId>circe-geojson-core_2.13</artifactId>
    <version>0.2.0</version>
</dependency>
// https://jarcasting.com/artifacts/works.worace/circe-geojson-core_2.13/
implementation 'works.worace:circe-geojson-core_2.13:0.2.0'
// https://jarcasting.com/artifacts/works.worace/circe-geojson-core_2.13/
implementation ("works.worace:circe-geojson-core_2.13:0.2.0")
'works.worace:circe-geojson-core_2.13:jar:0.2.0'
<dependency org="works.worace" name="circe-geojson-core_2.13" rev="0.2.0">
  <artifact name="circe-geojson-core_2.13" type="jar" />
</dependency>
@Grapes(
@Grab(group='works.worace', module='circe-geojson-core_2.13', version='0.2.0')
)
libraryDependencies += "works.worace" % "circe-geojson-core_2.13" % "0.2.0"
[works.worace/circe-geojson-core_2.13 "0.2.0"]

Dependencies

compile (5)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.13.1
io.circe : circe-core_2.13 jar 0.13.0
io.circe : circe-generic_2.13 jar 0.13.0
io.circe : circe-generic-extras_2.13 jar 0.13.0
io.circe : circe-parser_2.13 jar 0.13.0

test (1)

Group / Artifact Type Version
org.scalameta : munit_2.13 jar 0.7.1

Project Modules

There are no modules declared in this project.

circe-geojson

Build Status Sonatype Nexus (Snapshots) Sonatype Nexus (Snapshots)

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

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.3 and 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?)

Versions

Version
0.2.0
0.1.2