NAME
Geo::Geos::Envelope - Defines a rectangulare region of the 2D coordinate plane
SYNOPSIS
use
Geo::Geos::Envelope;
Geo::Geos::Envelope->new->isNull;
# => success
my
$e1
= Geo::Geos::Envelope->new(1, 2, 3, 4);
$e1
->toString;
# => "Env[1:2,3:4]"
my
$c1
= Geo::Geos::Coordinate->new(1,3);
my
$c2
= Geo::Geos::Coordinate->new(2,4);
my
$e2
= Geo::Geos::Envelope->new(1, 2, 3, 4);
my
$e3
= Geo::Geos::Envelope->new(
$c1
);
$e3
->centre;
# => is Geo::Geos::Coordinate->new(1,3)
my
$e4
= Geo::Geos::Envelope->new;
$e4
->init(1, 2, 3, 4);
$e4
->init(
$c1
,
$c2
);
$e4
->init(
$c1
);
$e4
->setToNull;
$e4
->isNull;
# => success
$e2
->getArea;
# => 1
$e2
->getMinX;
# => 1
$e2
->getMinY;
# => 3
$e2
->getMaxX;
# => 2
$e2
->getMaxY;
# => 4
$e2
->getWidth;
# => 1
$e2
->getHeight;
# => 1
$e2
->contains(
$e3
);
# => success
$e2
->covers(
$e3
);
# => success
$e2
->intersects(
$e3
);
# => success
my
$c01
= Geo::Geos::Coordinate->new(0,0);
my
$c02
= Geo::Geos::Coordinate->new(3,3);
my
$q01
= Geo::Geos::Coordinate->new(1,1);
my
$q02
= Geo::Geos::Coordinate->new(5,5);
Geo::Geos::Envelope::intersects(
$c01
,
$c02
,
$q01
);
# => success
Geo::Geos::Envelope::intersects(
$c01
,
$c02
,
$q01
,
$q02
);
# => success
my
$e6
= Geo::Geos::Envelope->new(0, 1, 0, 1);
$e6
->translate(1,1);
$e6
->toString;
# => is 'Env[1:2,1:2]'
$e6
->expandBy(1,1);
$e6
->toString;
# => is 'Env[0:3,0:3]'
$e6
->expandToInclude(Geo::Geos::Envelope->new(0, 4, 0, 4));
$e6
->toString;
# => is 'Env[0:4,0:4]'
$e2
->intersection(
$e6
);
# => isa 'Geo::Geos::Envelope'
$e6
->distance(
$e6
);
# => 0;
SEE ALSO (C++ classes docs)
geos::geom::Envelope
SEE ALSO
AUTHOR
Ivan Baidakou <i.baydakov@crazypanda.ru>, Crazy Panda, CP Decision LTD
LICENSE
You may distribute this code under the same terms as Perl itself.