/usr/share/doc/libmapscript-perl/examples/shp_in_shp.pl is in libmapscript-perl 6.4.1-5+deb8u3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #!/usr/bin/perl
#
# Script : shp_in_shp.pl
#
# Purpose: Tests whether a shape is within another shape
#
# $Id$
#
use strict;
use warnings;
use POSIX;
use XBase;
use mapscript;
use Getopt::Long;
use File::Copy;
my ($infile1, $infile1_shpid, $infile2, $infile2_shpid, $within);
GetOptions("infile1=s", \$infile1, "infile1_shpid=s", \$infile1_shpid, "infile2=s", \$infile2, "infile2_shpid=s", \$infile2_shpid);
if(!$infile1 or !$infile1_shpid or !$infile2 or !$infile2_shpid) {
print "Usage: $0 --infile1=[filename] --infile1_shpid=[shpid] --infile2=[filename] --infile2_shpid=[shpid]\n";
exit 0;
}
# open the first input shapefile
my $inshpf1 = new mapscript::shapefileObj($infile1, -1) or die "Unable to open shapefile $infile1.";
my $inshpf2 = new mapscript::shapefileObj($infile2, -1) or die "Unable to open shapefile $infile2.";
my $inshape1 = $inshpf1->getShape($infile1_shpid);
my $inshape2 = $inshpf2->getShape($infile2_shpid);
$within = $inshape1->within($inshape2);
if ($within == 1) {
$within = "WITHIN";
}
elsif ($within == 0) {
$within = "NOT WITHIN";
}
undef $inshpf1;
undef $inshpf2;
print "Shape $infile1/$infile1_shpid is $within shape $infile2/$infile2_shpid\n";
|