rgeo v0.3.0 Release Notes

Release Date: 2011-05-23 // almost 13 years ago
    • RGeo can now use GEOS via the ffi-geos gem, in addition to RGeo's built-in C integration. The ffi-geos integration is experimental right now, since ffi-geos is still in early beta. In particular, I do not recommend using it in JRuby yet (as of JRuby 1.6.1), because an apparent JRuby bug (JRUBY-5813) causes intermittent segfaults. However, once the issue is resolved (soon, I hope, since I've already submitted a patch to the JRuby team), we should have GEOS functional on JRuby.
    • It is now possible to add methods to geometry objects "globally". This was not possible previously because there is no global base class; however, there is now a mechanism to specify mixins that all implementations are expected to include.
    • Added RGeo::Feature::Type.supertype and each_immediate_subtype.
    • POSSIBLE INCOMPATIBLE CHANGE: Taking the boundary of a GEOS GeometryCollection now returns nil. It used to return an empty GeometryCollection, regardless of the contents of the original collection. GeometryCollection subclasses like MultiPoint, however, do have proper boundaries.
    • Renamed the lenient_multi_polygon_assertions GEOS factory parameter to uses_lenient_multi_polygon_assertions. The older name will continue to work.
    • The GEOS buffer_resolution and uses_lenient_multi_polygon_assertions options are now exposed via properties.
    • 🛠 The RGeo::Feature::Polygon module incorrectly included Enumerable. Fixed.
    • Several of the implementations included some extraneous (and nonfunctional) methods because they included the wrong modules. Fixed.