#!/usr/bin/perl
if
( $@ ) {
print
"1..1\nok 1\n"
;
warn
"skipping, Geo::ShapeFile not available\n"
;
exit
;
}
require
'./t/test_contains.pl'
;
my
$image
= Image::GeoTIFF::Tiled->new(
"./t/samples/usgs2_.tif"
);
for
my
$i
( 1 .. 2 ) {
my
$shp
= Geo::ShapeFile->new(
"./t/samples/usgs2_hollow$i"
);
my
$shp_shape
=
$shp
->get_shp_record( 1 );
my
$shape
=
Image::GeoTIFF::Tiled::Shape->load_shape(
$image
,
$shp_shape
);
my
$iter
=
$image
->get_iterator_shape(
$shape
);
test_contains(
$image
,
$iter
,
$shp_shape
);
ok(
!(
grep
{
grep
{
defined
and (
$_
== 6 ||
$_
== 1) }
@{
$_
}
} @{
$iter
->buffer }
),
'Hollow pixels okay'
);
ok(
!(
grep
{
grep
{
defined
and
$_
!= 4 and
$_
!= 5 }
@{
$_
}
} @{
$iter
->buffer }
),
'Shape pixels okay'
);
}