Geo-Raster
view release on metacpan or search on metacpan
t/00_basic.t view on Meta::CPAN
$gd->world(cell_size=>1.4,minX=>1.2,minY=>2.4);
my @point = $gd->g2w(3,7);
my @cell = $gd->w2g(@point);
ok(($cell[0] == 3 and $cell[1] == 7),"world coordinates <-> grid coordinates");
ok(not($gd->cell_in(-1,5) and $gd->cell_in(2,13) and
$gd->cell_in(7,5) and $gd->cell_in(2,-1)) and $gd->cell_in(2,5), "cell in");
ok(not($gd->point_in(10,0) and $gd->point_in(20,4) and
$gd->point_in(10,12) and $gd->point_in(0,5)) and $gd->point_in(10,3), "point in");
$gd->save('t/data/test.bil');
$gd = Geo::Raster->new(filename=>'t/data/test.bil',load=>1);
ok(($cell[0] == 3 and $cell[1] == 7),"world coordinates <-> grid coordinates");
ok(not($gd->cell_in(-1,5) and $gd->cell_in(2,13) and
$gd->cell_in(7,5) and $gd->cell_in(2,-1)) and $gd->cell_in(2,5), "cell in");
ok(not($gd->point_in(10,0) and $gd->point_in(20,4) and
$gd->point_in(10,12) and $gd->point_in(0,5)) and $gd->point_in(10,3), "point in");
}
{
my $gd = new Geo::Raster(5,10);
my $i = 1;
my $j = 7;
my $val = 5;
$gd->set($i,$j,$val);
my $check = $gd->cell($i,$j);
ok((abs($val-$check)<0.01),"set and get");
my ($min,$max) = $gd->value_range();
ok((abs($min-0)<0.01 and abs($max-5)<0.01),"value range");
}
{
my $gd = new Geo::Raster('real',10,10);
$gd->nodata_value(-9999);
$gd->lt(1);
my $test = diff(-9999,$gd->nodata_value());
ok($test, "nodata in lt");
}
{
for my $datatype ('int','real') {
my $g = new Geo::Raster($datatype,5,5);
for $i (0..4) {
for $j (0..4) {
$g->set($i,$j,$i+$j);
}
}
$g->map('*'=>12, [1,3]=>13, [5,7.1]=>56);
ok($g->get(0,0) == 12, "default map $datatype");
ok($g->get(0,1) == 13, "map $datatype 1");
ok($g->get(1,4) == 56, "map $datatype 2");
}
}
{
my $g1 = new Geo::Raster('int',5,5);
my $g2 = new Geo::Raster('int',5,5);
my $g3 = new Geo::Raster('int',1,5);
my $t1 = $g1->overlayable($g2);
my $t2 = $g1->overlayable($g3);
ok($t1 == 1, "overlayability");
ok($t2 == 0, "overlayability");
}
( run in 0.592 second using v1.01-cache-2.11-cpan-39bf76dae61 )