http://www.perlmonks.org?node_id=608160


in reply to Trying to use ESRI shapefiles

Are you certain your sample point is inside the polygon? In a case like this it is useful to provide a simple case to test your logic:

use strict; use warnings; use Math::Geometry::Planar; my $polygon = Math::Geometry::Planar->new; my $points = [[0,0], [1,0], [1,1], [0,1], ]; $polygon->points($points) ; print "Perimeter:",$polygon->perimeter,"\n" ; print "Area: ",$polygon->area,"\n" ; for my $point ( [.725,.396], [2,3], [1,1] ) { if ($polygon->isinside($point)) { print "point @{$point} is inside\n" ; }else{ print "point @{$point} is outside\n" ; } }
produces the expected

Perimeter:4 Area: 1 point 0.725 0.396 is inside point 2 3 is outside point 1 1 is outside

--
I'd like to be able to assign to an luser