Skip to content

0.6.0

Compare
Choose a tag to compare
@BenMorel BenMorel released this 16 Mar 13:37
· 122 commits to master since this release

New features

  • Proper support for Feature and FeatureCollection in GeoJSONReader and GeoJSONWriter
  • Support for auto-calculating the bbox attribute in GeoJSONWriter
  • New method: Geometry::transform() transforms Geometry coordinates to a new SRID
  • New method: Geometry::toXY() returns a new Geometry with no Z and M coordinates
  • New method: Geometry::withoutZ() returns a new Geometry with the Z coordinate removed
  • New method: Geometry::withoutM() returns a new Geometry with the M coordinate removed
  • New method: Geometry::getBoundingBox() returns the south-west and north-east bounds of a Geometry
  • New method: CoordinateSystem::isEqualTo() compares against another CoordinateSystem

🐛 Fixes

  • Doctrine types could hydrate a parent Geometry proxy class, but now hydrate the correct Geometry proxy sub-class by introspecting the WKB without fully loading it

Improvements

  • Proxy data is now always sent as is to the DatabaseEngine

💥 BC breaks

  • Minimum PHP version is now 7.4
  • New signature for CoordinateSystemException::sridMix()
  • New signature for CoordinateSystemException::dimensionalityMix()

The following breaks only affect you if you use the GeoJSON reader/writer:

  • GeoJSONReader now instantiates Features and FeatureCollections as Feature and FeatureCollection objects, instead of Geometry and GeometryCollection objects
  • GeoJSONWriter will now write GeometryCollections as GeometryCollection type, instead of FeatureCollection

The following breaks will only affect you if you're writing your own geometry engine, or your own WKB reader:

  • AbstractWKBReader::readGeometryHeader() signature was changed
  • WKBReader::read() signature was changed
  • GeometryEngine has a new transform() method
  • ProxyInterface has a new isProxyBinary() method