Home

Awesome

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.

Usage

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();
$poly->setOutline($coords);

$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";
}

Origin

Written during Apps For Ghent, 2012.

License

MIT