Skip to content

Commit fa4ff4e

Browse files
authored
Merge pull request #26 from ClarkCGA/yayao
Update model_evaluation.py
2 parents 60985a8 + 2c3e08b commit fa4ff4e

1 file changed

Lines changed: 2 additions & 34 deletions

File tree

model_evaluation.py

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)