broadcast-areas: only store local authorities once

Signed-off-by: Toby Lorne <toby.lornewelch-richards@digital.cabinet-office.gov.uk>
This commit is contained in:
Toby Lorne
2020-08-10 12:50:18 +01:00
parent b7e6b94e87
commit 0e3158da97
@@ -135,7 +135,16 @@ for f in geojson.loads(wards_filepath.read_text())["features"]:
repo.insert_broadcast_areas(areas_to_add) repo.insert_broadcast_areas(areas_to_add)
areas_to_add = [] areas_to_add = []
for group_id, group_name in repo.get_all_groups_for_library(dataset_id): seen = set()
for feature in geojson.loads(las_filepath.read_text())["features"]:
la_id = feature["properties"]["LAD19CD"]
group_name = feature["properties"]["LAD19NM"]
if la_id in seen:
continue
seen.add(la_id)
group_id = dataset_id + "-" + la_id
areas = repo.get_all_areas_for_group(group_id) areas = repo.get_all_areas_for_group(group_id)
features = [geojson.loads(f) for _, _, f, _ in areas] features = [geojson.loads(f) for _, _, f, _ in areas]
@@ -144,7 +153,6 @@ for group_id, group_name in repo.get_all_groups_for_library(dataset_id):
if len(shapes) == 0: if len(shapes) == 0:
continue continue
print(group_id, group_name, "union")
shape = shapes[0] shape = shapes[0]
for other in shapes[1:]: for other in shapes[1:]:
shape = shape.buffer(0).union(other.buffer(0)) shape = shape.buffer(0).union(other.buffer(0))