Alexvatti commited on
Commit
bc3b274
·
verified ·
1 Parent(s): f1e0408

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -11
app.py CHANGED
@@ -191,21 +191,21 @@ def mask_to_polygons(mask, transform, target_class_id):
191
  return gdf
192
 
193
 
194
- def calculate_illegal_area(mining_gdf, wiup_gdf):
195
  # Ensure both are in same CRS
196
  mining_gdf = mining_gdf.to_crs(wiup_gdf.crs)
197
 
198
- # Difference = parts of mining polygons outside WIUP
199
- illegal_area_gdf = gpd.overlay(mining_gdf, wiup_gdf, how='difference')
200
 
201
  # Convert to metric CRS (e.g., UTM) to calculate area in m²
202
- metric_crs = 'EPSG:32648' # UTM zone for SE Asia (adjust based on location)
203
- illegal_area_gdf = illegal_area_gdf.to_crs(metric_crs)
204
 
205
- illegal_area_gdf['area_m2'] = illegal_area_gdf.geometry.area
206
- total_illegal_area = illegal_area_gdf['area_m2'].sum()
207
 
208
- return total_illegal_area, illegal_area_gdf
209
 
210
  # Streamlit App Title
211
  st.title("Satellite Mining Segmentation: SAR + Optic Image Inference")
@@ -378,9 +378,9 @@ if st.button("Run Inference"):
378
  st.success(f"WIUP CRS: {wiup_gdf.crs}")
379
 
380
  # Find area
381
- non_mining_area, non_mining_area_gdf = calculate_illegal_area(non_mining_gdf, wiup_gdf)
382
- mining_area, mining_area_gdf = calculate_illegal_area(mining_gdf, wiup_gdf)
383
- beach_area, beach_area_gdf = calculate_illegal_area(beach_gdf, wiup_gdf)
384
 
385
  # Display in Streamlit
386
  st.success(f" Non Mining Area : {non_mining_area/1e6:.2f} sq. km")
 
191
  return gdf
192
 
193
 
194
+ def calculate_area(mining_gdf, wiup_gdf):
195
  # Ensure both are in same CRS
196
  mining_gdf = mining_gdf.to_crs(wiup_gdf.crs)
197
 
198
+ # Same = parts of mining polygons
199
+ area_gdf = gpd.overlay(mining_gdf, wiup_gdf, how='intersection')
200
 
201
  # Convert to metric CRS (e.g., UTM) to calculate area in m²
202
+ metric_crs = 'EPSG:4326' # UTM zone for SE Asia (adjust based on location)
203
+ area_gdf = area_gdf.to_crs(metric_crs)
204
 
205
+ area_gdf['area_m2'] = area_gdf.geometry.area
206
+ total_area = area_gdf['area_m2'].sum()
207
 
208
+ return total_area, area_gdf
209
 
210
  # Streamlit App Title
211
  st.title("Satellite Mining Segmentation: SAR + Optic Image Inference")
 
378
  st.success(f"WIUP CRS: {wiup_gdf.crs}")
379
 
380
  # Find area
381
+ non_mining_area, non_mining_area_gdf = calculate_area(non_mining_gdf, wiup_gdf)
382
+ mining_area, mining_area_gdf = calculate_area(mining_gdf, wiup_gdf)
383
+ beach_area, beach_area_gdf = calculate_area(beach_gdf, wiup_gdf)
384
 
385
  # Display in Streamlit
386
  st.success(f" Non Mining Area : {non_mining_area/1e6:.2f} sq. km")