Created: 2012-03-24 17:58
Updated: 2018-09-01 02:17
License: mit

Polygon tools

Build Status

A point-in-polygon algorithm, centroid and orientation calculation, written in PHP. Figure out (pun) if a point is actually inside a convex or concave polygon.


Initiate a Polygon object with coordinates as specified in the GeoJSON Format. An array of latitude, longitude pairs.

$coords = [
    [51.046945330263, 3.7388005491447],
    [50.884119340619, 4.7054353759129],
    [51.260385196697, 4.3696193284848],

$poly = new \Geometry\Polygon($coords);

$coords = $poly->getOutline();

$centroid = $poly->centroid();
echo "the centroid of the polygon is ($centroid[0], $centroid[1]).\n";

if ($poly->isValid()) {
    echo "the polygon was succesfully created.\n";

if (!$poly->isClockwise()) {
    echo "the points define a counter-clockwise polygon.\n";

if ($poly->pip($x, $y)) {
    echo "the polygon includes ($x,$y).\n";


Written during Apps For Ghent, 2012.



Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more