From b47d04fbf65f424420d5bd1720fb40d571f3e739 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Thu, 24 Jun 2021 18:26:21 +0100 Subject: [PATCH] =?UTF-8?q?Check=20that=20the=20simplification=20process?= =?UTF-8?q?=20hasn=E2=80=99t=20introduced=20bad=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a good bit of future proofing against unintended mistakes in the simplification code. --- app/broadcast_areas/create-broadcast-areas-db.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/broadcast_areas/create-broadcast-areas-db.py b/app/broadcast_areas/create-broadcast-areas-db.py index 72f6eda80..f6eb77ae5 100755 --- a/app/broadcast_areas/create-broadcast-areas-db.py +++ b/app/broadcast_areas/create-broadcast-areas-db.py @@ -132,11 +132,18 @@ def polygons_and_simplified_polygons(feature): 'Polygons.perimeter_to_buffer_ratio)' ) - return ( + output = ( full_resolution.as_coordinate_pairs_long_lat, simplified.as_coordinate_pairs_long_lat, ) + # Check that the simplification process hasn’t introduced bad data + for dataset in output: + for polygon in dataset: + assert Polygon(polygon).is_valid + + return output + def estimate_number_of_smartphones_in_area(country_or_ward_code):