NAME
Geo::Geos::Noding::Noder - Computes all intersections between segments in a set of SegmentString.
SYNOPSIS
use Geo::Geos::Algorithm::LineIntersector;
use Geo::Geos::Coordinate;
use Geo::Geos::PrecisionModel;
use Geo::Geos::Noding::IntersectionAdder;
use Geo::Geos::Noding::IteratedNoder;
use Geo::Geos::Noding::NodedSegmentString;
use Geo::Geos::Noding::ScaledNoder;
use Geo::Geos::Noding::SimpleSnapRounder;
my $c1 = Geo::Geos::Coordinate->new(0,1);
my $c2 = Geo::Geos::Coordinate->new(2,1);
my $c3 = Geo::Geos::Coordinate->new(1,0);
my $c4 = Geo::Geos::Coordinate->new(1,2);
my $pm = Geo::Geos::PrecisionModel->new(2.0);
my $ss1 = Geo::Geos::Noding::NodedSegmentString->new([$c1, $c2]);
my $ss2 = Geo::Geos::Noding::NodedSegmentString->new([$c3, $c4]);
my $li = Geo::Geos::Algorithm::LineIntersector->new($pm);
my $ia = Geo::Geos::Noding::IntersectionAdder->new($li);
my $n = Geo::Geos::Noding::IteratedNoder->new($pm); # => isa 'Geo::Geos::Noding::Noder'
Geo::Geos::Noding::ScaledNoder->new($n, 5, 0, 0); # => isa 'Geo::Geos::Noding::Noder'
Geo::Geos::Noding::SimpleNoder->new($ia); # => isa 'Geo::Geos::Noding::Noder'
Geo::Geos::Noding::SimpleSnapRounder->new($pm); # => isa 'Geo::Geos::Noding::Noder'
$n->computeNodes([$ss1, $ss2]);
my $substr = $n->getNodedSubstrings->[0]; # => isa 'Geo::Geos::Noding::SegmentString';
SEE ALSO (C++ classes docs)
geos::noding::Noder
SEE ALSO
Geo::Geos::Noding::IteratedNoder
Geo::Geos::Noding::SegmentString
Geo::Geos::Noding::ScaledNoder
Geo::Geos::Noding::SimpleNoder
Geo::Geos::Noding::SimpleSnapRounder
Geo::Geos::Noding::SinglePassNoder
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.