From 2fd9b6339a4fcb65f4eb369c8dde099138ee7b1e Mon Sep 17 00:00:00 2001 From: wanli Date: Sat, 3 Jan 2026 03:06:01 -0500 Subject: [PATCH] Fix mergeinstances: use geometry.union_all and handle Polygon output --- src/instancemaker/mergeinstances.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/instancemaker/mergeinstances.py b/src/instancemaker/mergeinstances.py index e799ca2..f01462c 100644 --- a/src/instancemaker/mergeinstances.py +++ b/src/instancemaker/mergeinstances.py @@ -342,12 +342,19 @@ def process_tile_at(self, target_tile): logging.warning(f"No polygons found for tile {target_tile}") return False + + # Combine all polygons - logging.debug("Combining polygons from adjacent tiles") - all_combine = pd.concat(retrieved_polygons, - ignore_index=True).unary_union - polygons = list(all_combine.geoms) - logging.debug(f"Combined into {len(polygons)} polygons") + all_combine = pd.concat( + retrieved_polygons, + ignore_index=True + ).geometry.union_all() + + if all_combine.geom_type == "Polygon": + polygons = [all_combine] + else: + polygons = list(all_combine.geoms) + # Assign polygons to tiles tile_polygons = {tile['tilename']: [] for tile in adjacent_tiles}