mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-03-13 06:43:08 -04:00
Some of the polygons in our source data are invalid. An invalid polygon is one that self intersects, in other words has a point which causes the boundary of the shape to cross itself. This doesn’t cause an exception until we try to perform certain operations on one of these polygons, like intersecting them with another polygon. This is why we haven’t spotted that they are invalid until now. This commit adds checks so that as we import the polygons we make sure they are valid. If they are not valid, we can automatically fix them by just looking at the exterior boundary of the shape, and ignore any holes created by self intersection.