Spatial4j v0.7 Release Notes

Release Date: 2017-12-28 // about 2 years ago
  • DATE: 27 December 2017

    • 🚀 #153: Upgraded to JTS 1.15. This JTS release has an API breakage in that the package root was changed from com.vividsolutions to org.locationtech but should otherwise be compatible. JTS is now dual-licensed as EPL 1.0 and EDL 1.0 (a BSD style license). This JTS release also included various improvements, including faster LineString intersection. (David Smiley)

    • #138: Feature: Added integration for the Jackson-databind ("ObjectMapper") serialization library. It's a popular library to serialize/deserialize JSON, XML, and other formats to/from Java objects. Jackson is an optional dependency for Spatial4j that is only required for this feature. (Ryan McKinley)

    • 🚚 #151: Moved application of JtsContext.autoIndex from JtsShapeFactory.makeShapeFromGeometry() to JtsSpatialContext.makeShape is which is more central. (Justin Deoliveira)

    • #155: Ensure that JTS Geometry objects passed to Spatial4j are never modified. If Spatial4j wants to do so in order to dateline wrap it, then it'll now be cloned first (at some new cost, which we try to avoid). (David Smiley)

    • 0️⃣ 408c14a7: Bug: JtsShapeFactory.lineString: if useJtsLineString (true by default) and we have a non-0 buffer then a buffer of 0 was applied instead of the intended buffer. (Ryan McKinley)

    • 🚚 #152: Removed test dependency on jeo library; some classes were copied in. (Justin Deoliveira)

Previous changes from v0.6

  • DATE: 26 February 2016


    • 📦 Package change from com.spatial4j.core to org.locationtech.spatial4j. Also, maven coordinates change from groupId com.spatial4j to org.locationtech.spatial4j. (David Smiley)

    🔋 Features:

    • 🗄 #130: New ShapeFactory interface for shape creation. Related methods on SpatialContext are now deprecated; get the ShapeFactory from the SpatialContext. ShapeFactory has builders for Polygon, LineString, MultiShape, MultiPoint, MultiLineString, and MultiPolygon. The ShapeReader formats now use these and thus no longer have hard dependencies on JTS just to create a polygon, although should you need to create a polygon, you still need JTS on the classpath at this time. A new JtsSpatialContextFactory.useJtsMulti option (defaults to true) toggles whether JTS's Multi* implementations are to be used in preference to Spatial4j's native ShapeCollection. (David Smiley, Justin Deoliveira)

    🐛 Bugs:

    • If tried to use an "empty" JTS geometry when geo=false, it would throw an exception. (David Smiley)

    • #127: JtsGeometry.relate(Circle) was incorrect. (David Smiley)