mjaschen/phpgeo
Simple Yet Powerful Geo Library
6.0.4
9.6M downloads/mo
#1711 most downloaded on Packagist
mjaschen/phpgeo
What this package is like to depend on
Last release 17 days ago
06 Aug 2026
Release timing varies
gaps range from 3 weeks to 1.4 years
Most releases are documented
notes for 41 of 54 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
54 releases · first in 2013
4 releases in the last 12 months
see the full history below
Release timeline
54 releases · Feb 2013 to Aug 2026Releases
latest 54-
6.0.406 Aug 2026 -
6.0.306 Aug 2026Nothing published for this version
-
6.0.202 Dec 2025Nothing published for this version
-
6.0.107 Nov 2025 -
6.0.012 Jan 2025 -
5.0.007 Dec 2023Nothing published for this version
-
4.2.103 Dec 2023 -
4.2.025 Jul 2022Release notes
Open source →Changed
- point-to-line distance is calculated iteratively now, fixes #92
- improved intersection checking for polygon/polygon
-
4.1.004 Jun 2022Release notes
Open source →This release has no breaking changes.
Thanks, @nilshoerrmann, for contributing!
Added
- method
Bounds::getAsPolygon()which returns a polygon containing the four nodes of the Bounds instance - methods
Bounds::getNorthEast()andBounds::getSouthWest() - new public methods:
CardinalDirection::isStrictlyNorth(),CardinalDirection::isStrictlyEast(),CardinalDirection::isStrictlySouth()andCardinalDirection::isStrictlyWest() - new class
Directionfor checking if one point is north, eat, south or west from another point - new Class
Intersectionfor checking if two geometries intersect each other
- method
-
4.0.029 Nov 2021Release notes
Open source →Changed
- drop support for PHP 7.2 breaking change
- add support for PHP 8.1
- add deprecations for setter methods in
DMSandLineclasses
-
3.2.104 Mar 2021Release notes
Open source →Fixed
- Division by zero in
SimplifyBearingif two consecutive points share the same location, fixes #79.
- Division by zero in
-
3.2.009 Oct 2020Release notes
Open source →Added
- Calculation of Cardinal Distances between two points. Thanks @LeoVie!
Changed
- change
statictoselfto prevent accidentally calling the constructor with wrong arguments in child classes (Ellipsoid,Line,Polygon,Polyline)
-
3.1.024 Jul 2020Release notes
Open source →Added
- Simplifying polygons is now supported as well, see
simplifyGeometry()methods inSimplifyBearingandSimplifyDouglasPeuckerclasses (fixes #69).
- Simplifying polygons is now supported as well, see
-
3.0.118 May 2020Release notes
Open source →Fixed
- #68
CoordinateFactoryemitted a warning if a coordindates string without arc seconds was passed to thefromString()method
- #68
-
3.0.007 Feb 2020Release notes
Open source →Changed
- phpgeo requires PHP >= 7.2 now
- backwards compatibility breaking: fix double space in Ellipsoid Name
World␣Geodetic␣System␣␣1984→World␣Geodetic␣System␣1984(#49) - updated tests for PHPUnit 8
Added
- class constant visibiliy modifiers
Removed
- support for PHP 7.0 and PHP 7.1 from Travis CI config
-
2.6.104 Mar 2021Nothing published for this version
-
2.6.005 Feb 2020Release notes
Open source →Added
- method
getIntermediatePoint()to theLineclass which calculates an intermediate point on a line by following the Great Circle between the two line ends and dividing the line by the given fraction (0.0 ... 1.0)
- method
-
2.5.004 Feb 2020Release notes
Open source →Added
- method
getMidpoint()to theLineclass which calculates the midpoint of a line by following the Great Circle between the two line ends and dividing the line into two halves. - utility class
Cartesianwhich abstracts three-dimensional cartesian coordinates x, y, and z
- method
-
2.4.129 Jan 2020Release notes
Open source →Changed
- access modifier for the
toleranceattribute is now protected (SimplifyDouglasPeucker)
- access modifier for the
-
2.4.027 Jan 2020Release notes
Open source →Added
BoundsFactoryto create a bounds instance for a center point and a given distance to the bounds' corners. Thanks @sdennler!
-
2.3.121 Dec 2019 -
2.3.019 Dec 2019Release notes
Open source →Added
PointToLineDistancecalculates the smallest distance between a point and a line
-
2.2.025 Nov 2019Release notes
Open source →Added
hasSameLocation()checks if two points share the same location (optionally within a distance which defaults to 0.001 m = 1 mm)addUniquePointadds unique points to a polyline (i.e., points that doesn't already exist in that polyline)getAveragePoint()returns the average value of latitude and longitude values for a polyline
Fixed
- wrongly placed parenthesis in
Polygon::contains()
-
2.1.021 Mar 2019Release notes
Open source →Added
- The bounds for a
Polylinecan now be retrieved in form of aBoundobject.
Changed
- The auto-loader is now PSR-4 compatible; directory structure was flattened by one level.
- The bounds for a
-
2.0.527 Feb 2019 -
2.0.425 Dec 2018Nothing published for this version
-
2.0.319 Jul 2018Release notes
Open source →Fixed
- Links to documentation in README. Thanks @JonathanMH
Changed
- better floating point number comparisons in
Vincenty - add exception message in
Vincenty - type-cast regexp matches before doing calculations in
CoordinateFactory
-
2.0.227 Mar 2018Release notes
Open source →Added
- Information on how to run checks and tests for developers in the README.
Changed
- Updated internal stuff like type and return hints after running a static analysis.
- Updated some PHPDoc blocks after running a static analysis.
Fixed
- Wrongly typed return value in
BearingEllipsoidal::inverseVincenty().
-
2.0.116 Feb 2018 -
2.0.027 Sep 2017Release notes
Open source →Changed
- License: phpgeo is now distributed under the MIT license
- phpgeo requires at least PHP 7.0
Removed
- deprecated class
Simplifywas removed; alternatives:SimplifyBearingorSimplifyDouglasPeucker - PHP versions 5.4, 5.5, and 5.6 are no longer supported
-
1.3.805 Jul 2017Release notes
Open source →Fixed
- Area calculation for polygons works now. Thanks to @felixveysseyre
-
1.3.701 Jul 2017Release notes
Open source →Fixed
- GeoJSON output for polygon is now compliant with RFC 7946. Thanks to @arsonik
-
1.3.630 Aug 2016Nothing published for this version
-
1.3.519 Aug 2016 -
1.3.416 Aug 2016Nothing published for this version
-
1.3.316 Aug 2016Release notes
Open source →Fixed
- bugifx for a division-by-zero error which occurred when symplifying a polyline with the Douglas-Peucker algorithm.
-
1.3.228 Mar 2016Release notes
Open source →Added
- add an utility class to calculate the perpendicular distance between a point and a line; documentation
-
1.3.126 Mar 2016Release notes
Open source →Added
- add method to calculate the bearing of a
Lineinstance (point 1 -> point 2)
- add method to calculate the bearing of a
-
1.3.026 Mar 2016Release notes
Open source →Added
- A new
SimplifyInterfacewas introduced and is implemented in two classes:SimplifyDouglasPeuckerandSimplifyBearing - Added documentation
Deprecated
- The
Simplifyprocessor class is now deprecated and will be removed in the 2.0 release.
- A new
-
1.2.115 Mar 2016Release notes
Open source →Added
- Added functionality to change the direction of Polygon instances
- Added documentation
-
1.2.014 Mar 2016Release notes
Open source →Added
- Added geofence check for arbitrary geometry objects
- Extended and updated documentation
-
1.1.113 Mar 2016Release notes
Open source →Added
- Added formatter for "Decimal Minutes" format, e.g.
43° 37.386' N, 070° 12.472' W - Added documentation for the new formatter
- Added formatter for "Decimal Minutes" format, e.g.
-
1.1.012 Mar 2016Release notes
Open source →Added
- Added calculation of the bearing angle between two points (initial and final bearing)
- Added calculation of the destination point for a given starting point, the bearing angle, and the distance
- Support for spherical and ellipsoidal algorithms for the described bearing calculations
- Added documentation for the bearing calculations
-
1.0.411 Mar 2016Release notes
Open source →Added
- Added functionality to change the direction of Line/Polyline instances
- Added documentation
-
1.0.310 Mar 2016Release notes
Open source →Added
- Added documentation sources in mkdocs format. Documentation is now available online at http://phpgeo.marcusjaschen.de/
-
1.0.204 Mar 2016 -
1.0.111 Feb 2016Nothing published for this version
-
1.0.011 Feb 2016Release notes
Open source →Added
- Added license information. phpgeo is now licensed under the GPL 3. (see issue #8)
-
0.3.029 Oct 2015 -
0.2.317 Dec 2014Nothing published for this version
-
0.2.209 Dec 2014Nothing published for this version
-
v0.2.109 Oct 2013Nothing published for this version
-
v0.2.007 Jul 2013Nothing published for this version
-
v0.1.018 Feb 2013Nothing published for this version