Releases: brick/geo
Releases · brick/geo
0.13.1
0.13.0
💥 Breaking changes
The case of the following class names and namespaces has changed:
GEOSEngine
=>GeosEngine
PDOEngine
=>PdoEngine
SQLite3Engine
=>Sqlite3Engine
RemoveZMProjector
=>RemoveZmProjector
SRIDProjector
=>SridProjector
SwapXYProjector
=>SwapXyProjector
TIN
=>Tin
GeometryIOException
=>GeometryIoException
IO\EWKBReader
=>Io\EwkbReader
IO\EWKBWriter
=>Io\EwkbWriter
IO\EWKTReader
=>Io\EwktReader
IO\EWKTWriter
=>Io\EwktWriter
IO\WKBReader
=>Io\WkbReader
IO\WKBWriter
=>Io\WkbWriter
IO\WKTReader
=>Io\WktReader
IO\WKTWriter
=>Io\WktWriter
IO\GeoJSONReader
=>Io\GeoJsonReader
IO\GeoJSONWriter
=>Io\GeoJsonWriter
IO\GeoJSON\Feature
=>Io\GeoJson\Feature
IO\GeoJSON\FeatureCollection
=>Io\GeoJson\FeatureCollection
The following breaking changes will only affect you if you're writing your own geometry engine:
GeometryEngine
interface has a new method:concaveHull()
DatabaseEngine::executeQuery()
implementations must now acceptbool
parametersDatabaseEngine::getParameterPlaceholder()
signature has changed to acceptbool
parametersDatabaseEngine::queryGeometry()
is nowfinal
The following breaking changes may only affect you if you're writing your own engine or geometry classes:
GeometryException
constructor signature has changedGeometry
has a new method:withRoundedCoordinates()
✨ New features
- New geometry engine:
GeosOpEngine
uses thegeosop
binary to perform geometry operations - New engine method:
GeometryEngine::concaveHull()
- New
Geometry
method:withRoundedCoordinates()
✨ Improvements
- All
GeometryEngine
methods are now properly documented with@throws GeometryEngineException
🐛 Bug fixes
WktParser
andEwktParser
now accept bothMULTIPOINT (1 2, 3 4)
andMULTIPOINT((1 2), (3 4))
syntaxes;
this notably fixes interoperability issues with PostGIS
0.12.0
💥 Breaking changes
- Interface
GeometryEngine
has 2 new methods:lineInterpolatePoint()
,lineInterpolatePoints()
BoundingBox
's constructor is now private, useBoundingBox::new()
to create a new instanceCompoundCurve
can now only containLineString
andCircularString
instances; nestedCompoundCurve
instances are forbiddenGeometry
no longer implementsCountable
andIteratorAggregate
; subclasses implement these interfaces as needed, with proper types- The
SQLite3Exception
class has been removed - The
GeometryEngineException::operationNotSupportedByEngine()
method has been removed - The following classes are now
final
:BoundingBox
CoordinateSystem
- engines:
GEOSEngine
PDOEngine
SQLite3Engine
- exceptions:
CoordinateSystemException
EmptyGeometryException
GeometryEngineException
GeometryIOException
InvalidGeometryException
NoSuchGeometryException
UnexpectedGeometryException
- input/output:
EWKBReader
EWKBWriter
EWKTReader
EWKTWriter
GeoJSONReader
GeoJSONWriter
WKBReader
WKBWriter
WKTReader
WKTWriter
- The following classes are marked as
@internal
, and are no longer part of the public API:Attribute\NoProxy
Engine\GeometryParameter
IO\AbstractWKBReader
IO\AbstractWKBWriter
IO\AbstractWKTReader
IO\AbstractWKTWriter
IO\EWKBTools
IO\EWKTParser
IO\WKBBuffer
IO\WKBByteOrder
IO\WKBGeometryHeader
IO\WKBTools
IO\WKTParser
🗑️ Deprecations
- The following classes are marked as
@final
, and will be made final in a future version:CircularString
CompoundCurve
CurvePolygon
LineString
MultiLineString
MultiPoint
MultiPolygon
Point
TIN
Triangle
✨ New features
- New engine methods:
GeometryEngine::lineInterpolatePoint()
,lineInterpolatePoints()
(#55 by @arminwinkt)
✨ Improvements
- Improved documentation and return types for
Geometry::toArray()
methods PDOEngine
andSQLite3Engine
now wrap all underlying exceptions in aGeometryEngineException
- When an engine exception occurs,
GeometryEngineException
now includes the original exception message
0.11.5
0.11.4
🐛 Bug fixes
GeoJSONWriter
erroneously refused to writeMultiPoint
,MultiLineString
andMultiPolygon
nested insideGeometryCollection
(#53)
✨ New features
GeoJSONWriter
constructor now has a$lenient
flag to allow nestedGeometryCollection
objects
✨ Improvements
- Improved exception messages in non-lenient mode in
GeoJSONReader
- Performance improvement in
GeoJSONWriter
when thebbox
attribute is not requested
0.11.3
✨ New features
- The following methods have been added:
CircularString::withAddedPoints()
CompoundCurve::withAddedCurves()
CurvePolygon::withExteriorRing()
,withInteriorRings()
,withAddedInteriorRings()
GeometryCollection::withAddedGeometries()
LineString::withAddedPoints()
Polygon::withExteriorRing()
,withInteriorRings()
,withAddedInteriorRings()
PolyhedralSurface::withAddedPatches()
0.11.2
0.11.1
0.11.0
0.10.0
💥 Breaking changes
- Minimum PHP version is now
8.1
- interface
GeometryEngine
has a new method:makeValid()
AbstractWKBWriter::setByteOrder()
now accepts aWKBByteOrder
enum instead of aWKBTools::*_ENDIAN
constant- constants
WKBTools::BIG_ENDIAN
andWKBTools::LITTLE_ENDIAN
have been removed - method
WKBTools::checkByteOrder()
has been removed
✨ New features
- New engine method:
GeometryEngine::makeValid()