-
-
Notifications
You must be signed in to change notification settings - Fork 33
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=>GeosEnginePDOEngine=>PdoEngineSQLite3Engine=>Sqlite3EngineRemoveZMProjector=>RemoveZmProjectorSRIDProjector=>SridProjectorSwapXYProjector=>SwapXyProjectorTIN=>TinGeometryIOException=>GeometryIoExceptionIO\EWKBReader=>Io\EwkbReaderIO\EWKBWriter=>Io\EwkbWriterIO\EWKTReader=>Io\EwktReaderIO\EWKTWriter=>Io\EwktWriterIO\WKBReader=>Io\WkbReaderIO\WKBWriter=>Io\WkbWriterIO\WKTReader=>Io\WktReaderIO\WKTWriter=>Io\WktWriterIO\GeoJSONReader=>Io\GeoJsonReaderIO\GeoJSONWriter=>Io\GeoJsonWriterIO\GeoJSON\Feature=>Io\GeoJson\FeatureIO\GeoJSON\FeatureCollection=>Io\GeoJson\FeatureCollection
The following breaking changes will only affect you if you're writing your own geometry engine:
GeometryEngineinterface has a new method:concaveHull()DatabaseEngine::executeQuery()implementations must now acceptboolparametersDatabaseEngine::getParameterPlaceholder()signature has changed to acceptboolparametersDatabaseEngine::queryGeometry()is nowfinal
The following breaking changes may only affect you if you're writing your own engine or geometry classes:
GeometryExceptionconstructor signature has changedGeometryhas a new method:withRoundedCoordinates()
✨ New features
- New geometry engine:
GeosOpEngineuses thegeosopbinary to perform geometry operations - New engine method:
GeometryEngine::concaveHull() - New
Geometrymethod:withRoundedCoordinates()
✨ Improvements
- All
GeometryEnginemethods are now properly documented with@throws GeometryEngineException
🐛 Bug fixes
WktParserandEwktParsernow accept bothMULTIPOINT (1 2, 3 4)andMULTIPOINT((1 2), (3 4))syntaxes;
this notably fixes interoperability issues with PostGIS
Assets 2
0.12.0
💥 Breaking changes
- Interface
GeometryEnginehas 2 new methods:lineInterpolatePoint(),lineInterpolatePoints() BoundingBox's constructor is now private, useBoundingBox::new()to create a new instanceCompoundCurvecan now only containLineStringandCircularStringinstances; nestedCompoundCurveinstances are forbiddenGeometryno longer implementsCountableandIteratorAggregate; subclasses implement these interfaces as needed, with proper types- The
SQLite3Exceptionclass has been removed - The
GeometryEngineException::operationNotSupportedByEngine()method has been removed - The following classes are now
final:BoundingBoxCoordinateSystem- engines:
GEOSEnginePDOEngineSQLite3Engine
- exceptions:
CoordinateSystemExceptionEmptyGeometryExceptionGeometryEngineExceptionGeometryIOExceptionInvalidGeometryExceptionNoSuchGeometryExceptionUnexpectedGeometryException
- input/output:
EWKBReaderEWKBWriterEWKTReaderEWKTWriterGeoJSONReaderGeoJSONWriterWKBReaderWKBWriterWKTReaderWKTWriter
- The following classes are marked as
@internal, and are no longer part of the public API:Attribute\NoProxyEngine\GeometryParameterIO\AbstractWKBReaderIO\AbstractWKBWriterIO\AbstractWKTReaderIO\AbstractWKTWriterIO\EWKBToolsIO\EWKTParserIO\WKBBufferIO\WKBByteOrderIO\WKBGeometryHeaderIO\WKBToolsIO\WKTParser
🗑️ Deprecations
- The following classes are marked as
@final, and will be made final in a future version:CircularStringCompoundCurveCurvePolygonLineStringMultiLineStringMultiPointMultiPolygonPointTINTriangle
✨ New features
- New engine methods:
GeometryEngine::lineInterpolatePoint(),lineInterpolatePoints()(#55 by @arminwinkt)
✨ Improvements
- Improved documentation and return types for
Geometry::toArray()methods PDOEngineandSQLite3Enginenow wrap all underlying exceptions in aGeometryEngineException- When an engine exception occurs,
GeometryEngineExceptionnow includes the original exception message
Assets 2
1 person reacted
0.11.5
🐛 Bug fixes
- The error mode of the PDO connection in
PDOEnginecould be left modified when an exception occurs - Uninitialized proxies would be broken when calling
with*()methods
Assets 2
0.11.4
🐛 Bug fixes
GeoJSONWritererroneously refused to writeMultiPoint,MultiLineStringandMultiPolygonnested insideGeometryCollection(#53)
✨ New features
GeoJSONWriterconstructor now has a$lenientflag to allow nestedGeometryCollectionobjects
✨ Improvements
- Improved exception messages in non-lenient mode in
GeoJSONReader - Performance improvement in
GeoJSONWriterwhen thebboxattribute is not requested
Assets 2
1 person reacted
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()
Assets 2
1 person reacted
0.11.2
🐛 Bug fixes
- extending an empty
BoundingBoxwould get its immutability violated by setting a coordinate system
Assets 2
0.11.1
✨ New features
- New projector:
RoundCoordinatesProjector
Assets 2
0.11.0
💥 Breaking changes
- interface
GeometryEnginehas a new method:split() - method
GeometryEngine::boundingPolygons()has been removed
✨ New features
- New engine method:
GeometryEngine::split()
Assets 2
0.10.0
💥 Breaking changes
- Minimum PHP version is now
8.1 - interface
GeometryEnginehas a new method:makeValid() AbstractWKBWriter::setByteOrder()now accepts aWKBByteOrderenum instead of aWKBTools::*_ENDIANconstant- constants
WKBTools::BIG_ENDIANandWKBTools::LITTLE_ENDIANhave been removed - method
WKBTools::checkByteOrder()has been removed
✨ New features
- New engine method:
GeometryEngine::makeValid()