Provides integration with the geoPHP library: https://github.com/phayes/geoPHP
This module does not provide any direct functionality to end-users or site-administrators. Install it only if another module requires it.
GeoPHP is a open-source native PHP library for doing geometry operations. It is written entirely in PHP and can therefore run on shared hosts. It can read and write a wide variety of formats (WKT, WKB, GeoJSON, KML, GPX, GeoRSS). It works with all Simple-Feature geometries (Point, LineString, Polygon, GeometryCollection etc.) and can be used to get centroids, bounding-boxes, area, and a wide variety of other useful information.
geoPHP also helpfully wraps the GEOS php extension so that applications can get a transparent performance increase when GEOS is installed on the server. When GEOS is installed, geoPHP also becomes fully compliant with the OpenGIS® Implementation Standard for Geographic information. With GEOS you get the full-set of openGIS functions in PHP like Union, IsWithin, Touches etc. This means that applications get a useful "core-set" of geometry operations that work in all environments, and an "extended-set"of operations for environments that have GEOS installed.
Read the API Reference at: https://github.com/phayes/geoPHP/wiki/API-Reference
Learn about GEOS integration at: https://github.com/phayes/geoPHP/wiki/GEOS
Both the original library, and this module, is maintained by Patrick Hayes (phayes).
A special thanks to the following organization for sponsoring the development of geoPHP: HighWire Press, GeoMemes Research and GeoScienceWorld.
// Polygon WKT example
$polygon = geoPHP::load('POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,2 2))');
$area = $polygon->getArea();
$centroid = $polygon->getCentroid();
$centX = $centroid->getX();
$centY = $centroid->getY();
print "This polygon has an area of ".$area." and a centroid with X=".$centX." and Y=".$centY;
// MultiPoint json example
[100.0, 0.0], [101.0, 1.0]
$multipoint = geoPHP::load($json);
$multipoint_points = $multipoint->getComponents();
$first_wkt = $multipoint_points->out('wkt');
print "This multipolygon has ".$multipoint->numGeometries()." points. The first point has a wkt representation of ".$first_wkt;