hannesvdvreken / pip
The Polygon class
Installs: 36 988
Dependents: 1
Suggesters: 0
Security: 0
Stars: 17
Watchers: 3
Forks: 4
Open Issues: 1
Requires
- php: >=5.6.0
Requires (Dev)
- phpunit/phpunit: ^5.6.3||^8.2.3
This package is auto-updated.
Last update: 2024-10-18 04:40:44 UTC
README
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.