@@ -135,39 +135,12 @@ def create_mask_polygon(self, mask):
135135 spatial_ref .ImportFromWkt (projection )
136136
137137 # Create a temporary shapefile to store all polygons
138- temp_layername = "TEMP_POLYGONIZED "
138+ temp_layername = "POLYGONIZED_MASK "
139139 driver = ogr .GetDriverByName ("ESRI Shapefile" )
140140 temp_ds = driver .CreateDataSource (temp_layername + ".shp" )
141141 temp_layer = temp_ds .CreateLayer (temp_layername , srs = spatial_ref )
142142 gdal .Polygonize (in_band , in_band , temp_layer , - 1 , [], callback = None )
143143 self .progress_updated .emit (20 )
144-
145- features = [(feature .GetGeometryRef ().GetArea (), feature ) for feature in temp_layer ]
146- largest_polygon = max (features , key = lambda item : item [0 ])[1 ]
147-
148- # Fetch the geometry of the largest feature
149- largest_polygon_geom = largest_polygon .GetGeometryRef ().Clone ()
150-
151- # Close the temporary data source
152- temp_ds .Destroy ()
153-
154- # Create the final shapefile to store the largest polygon
155- final_layername = "POLYGONIZED_MASK"
156- final_ds = driver .CreateDataSource (final_layername + ".shp" )
157- final_layer = final_ds .CreateLayer (final_layername , srs = spatial_ref , geom_type = ogr .wkbPolygon )
158-
159- # Create a new feature
160- feature_defn = final_layer .GetLayerDefn ()
161- out_feature = ogr .Feature (feature_defn )
162- out_feature .SetGeometry (largest_polygon_geom )
163-
164- # Add the feature to the final layer
165- final_layer .CreateFeature (out_feature )
166-
167- # Cleanup
168- out_feature = None
169- final_ds .Destroy ()
170-
171144 return
172145
173146 def bbox_to_pixel_offsets (self ,gt , bbox ):
@@ -382,8 +355,6 @@ def create_thiessen_polygon (self, grid_area, mask, density, deforestation, out_
382355 coords = np .array (points_df ['coords' ].tolist ())
383356
384357 ## Create thiessen polygon
385- polygon = mask_df .geometry .unary_union
386-
387358 vor = Voronoi (points = coords )
388359
389360 # Polygonize the line ridge is not infinity
@@ -396,11 +367,8 @@ def create_thiessen_polygon (self, grid_area, mask, density, deforestation, out_
396367 voronois = gpd .GeoDataFrame (geometry = gpd .GeoSeries (polys ), crs = mask_df .crs )
397368 self .progress_updated .emit (30 )
398369
399- # Convert the study area to GeoDataFrame.
400- polydf = gpd .GeoDataFrame (geometry = [polygon ], crs = mask_df .crs )
401-
402370 # Ensure Thiessen Polygon cells retain 99.9% of maximum size after intersection with study area
403- thiessen_gdf = self .remove_edge_cells (voronois , polydf , 0.999 )
371+ thiessen_gdf = self .remove_edge_cells (voronois , mask_df , 0.999 )
404372
405373 self .progress_updated .emit (40 )
406374
0 commit comments