From 8252697b266ffd2e6552d6a8bc70e659f58e014b Mon Sep 17 00:00:00 2001 From: Théo de la Hogue Date: Thu, 25 Apr 2024 22:11:44 +0200 Subject: Testing polygon validity before to proceed at circle intersection. --- src/argaze/AreaOfInterest/AOIFeatures.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/argaze/AreaOfInterest/AOIFeatures.py b/src/argaze/AreaOfInterest/AOIFeatures.py index 065fd64..c2714ca 100644 --- a/src/argaze/AreaOfInterest/AOIFeatures.py +++ b/src/argaze/AreaOfInterest/AOIFeatures.py @@ -17,6 +17,7 @@ __credits__ = [] __copyright__ = "Copyright 2023, Ecole Nationale de l'Aviation Civile (ENAC)" __license__ = "GPLv3" +import logging import json import math from typing import Self @@ -232,6 +233,15 @@ class AreaOfInterest(numpy.ndarray): assert (self.dimension == 2) self_polygon = Polygon(self) + + if not self_polygon.is_valid: + + logging.warning('AreaOfInterest.circle_intersection: AOI polygon is not valid.') + + empty_array = numpy.array([list([])]).astype(numpy.float32).view(AreaOfInterest) + + return empty_array, 0., 0. + args_circle = Point(center).buffer(radius) if self_polygon.intersects(args_circle): -- cgit v1.1