Skip to content
CAI
Software that uses CAICheck a score

bjornharrtell/jts2geojson

54.0

Adequate · 20 September 2026

523

lines of production code

Java

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This is a Java library that provides utilities for parsing and serializing GeoJSON data, as well as converting between GeoJSON and JTS geometry objects. It supports standard GeoJSON types including points, lines, polygons, and their multi-variants, along with features and feature collections. The system handles both 2D and 3D coordinates and relies on Jackson for JSON processing and JTS for geometry operations.

Features

Initial release of GeoJSON parsing and serialization library

This change introduces the core library for handling GeoJSON data in Java. It provides classes for all standard GeoJSON types, including Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection, Feature, and FeatureCollection. The library uses Jackson for JSON serialization and deserialization, allowing users to parse GeoJSON strings into Java objects and vice versa via the GeoJSONFactory.

src/main/java/org/wololo/geojson · high confidence

Initial release of JTS to GeoJSON conversion library

This change introduces the core components for converting between JTS geometry objects and GeoJSON format. The new GeoJSONReader class enables parsing GeoJSON strings or objects into JTS Geometry instances, supporting Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection types, while also allowing users to supply a custom GeometryFactory. The new GeoJSONWriter class provides the reverse capability, converting JTS Geometry objects into GeoJSON structures, including support for FeatureCollections via a dedicated method. Both readers and writers handle 3D coordinates (XYZ), preserving the Z-axis when present and omitting it when NaN.

src/main/java/org/wololo/jts2geojson · high confidence

Test coverage

Added Scala-based test suite for GeoJSON serialization and deserialization

Added a comprehensive set of Scala tests (using ScalaTest) to verify the GeoJSON library's ability to parse and write various geometry types, including Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection. The tests cover standard 2D coordinates as well as XYZ (3D) coordinates, ensuring that features, feature collections, bounding boxes, and feature IDs are correctly serialized and deserialized. Additionally, helper classes were added to support Jackson-based JSON parsing for testing object mapping.

src/test · high confidence

Dependencies

Update to version 0.18.1 with dependency upgrades

The project has been updated to version 0.18.1, upgrading the core JTS dependency to 1.18.1 and Jackson libraries to 2.13.x (jackson-databind 2.13.4.2, jackson-annotations 2.13.4). The build now targets Java 11, and test dependencies have been updated to Scala 2.13.10 and ScalaTest 3.2.14.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 54.

Lenses

  • Code Health 100
  • Architecture 69
  • Maturity 45
  • Readiness 50
  • Security 72

Changes since last survey

  • 115 commits — 102 feature/other, 13 fixes

By area

  • (root) — 64 commits
  • src/main — 24 commits
  • (repo) — 18 commits
  • src/test — 5 commits
  • .github/workflows — 4 commits

Notable commits

  • fix: Custom mvn install fix for Travis CI
  • fix: Fix deprecated .z and add tests for XYZ geometries
  • fix: Fix link
  • fix: Fix missing paranthesis
  • fix: Fix travis builds on oraclejdk8, add openjdk8 and openjdk11
  • fix: Fix unchecked warning Cleanups
  • fix: Fixes conflicting property-based creators error
  • fix: Merge pull request #12 from jeffreyeriksondg/fix-multiple-construtor-error
  • fix: Revert
  • fix: [ObjectMapper.readerFor(Data(geometry:GeoJSON))] fix "Cannot construct instance of org.wololo.geojson.GeoJSON"
  • fix: fixed compilation errors
  • fix: fixed issue with reading feature collections. Reading feature collections required iterating over each feature because when it was reading Geometry, it was an abstract type and jackson was throwing an exception
  • fix: update jts-core and fix GeoJsonWrite test to support the new version
  • change: Add Github action CI
  • change: Add Jackson annotations for handling Geometry subclasses in GeometryCollection
  • change: Add Travis CI build icon
  • change: Add Travis CI config
  • change: Add cache bundler
  • change: Add stuff to build tests Restore Travis CI config
  • change: Add tests with multiple JDKs
  • …and 95 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

bjornharrtell/jts2geojson was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit fb751e818a2116dd5220db0d7ef7f4ee3f294a57 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.