我想打印出两个多边形的交集。但是当两个多边形没有相交时,我怎样才能知道避免打印呢?因为如果没有交集,我不能调用 $pgons[0]->polygons,它会给我一个错误。
(所有多边形都没有洞)
谢谢!
for my $x(0..$#polygon){
for my $y(0..$#polygon){
if ($x != $y){
my $it = GpcClip('INTERSECTION', $polygon[0]->convert2gpc, $polygon[1]->convert2gpc);
print FO "$x == $y \n";
my @pgons = Gpc2Polygons($it);
#since here we don't have holes, only the first one is a valid polygon
if(@pgons){
print FO Dumper($pgons[0]->polygons->[0]);
print "\n";
}
}
}
}