update
Browse files
app.py
CHANGED
|
@@ -396,18 +396,16 @@ def calculate_geometry_metrics(file_url: str):
|
|
| 396 |
geometry_gdf = next((input_gdf.iloc[[i]] for i in range(len(input_gdf)) if is_valid_polygon(input_gdf.iloc[[i]])), None)
|
| 397 |
geometry_gdf = to_best_crs(geometry_gdf)
|
| 398 |
|
| 399 |
-
# 5. Calculate area and perimeter
|
| 400 |
area_hectares = geometry_gdf.area.item()/ 10000
|
| 401 |
perimeter_meters = geometry_gdf.length.item()
|
| 402 |
-
|
| 403 |
-
print("calculate_geometry_metrics", geometry_gdf, area_hectares, perimeter_meters)
|
| 404 |
|
| 405 |
-
|
| 406 |
-
return {
|
| 407 |
"area": round(area_hectares, 4),
|
| 408 |
"perimeter": round(perimeter_meters, 4),
|
| 409 |
}
|
| 410 |
-
|
|
|
|
|
|
|
| 411 |
except ValueError as e:
|
| 412 |
# Handle known errors (e.g., bad URL, no polygon)
|
| 413 |
raise HTTPException(status_code=400, detail=str(e))
|
|
|
|
| 396 |
geometry_gdf = next((input_gdf.iloc[[i]] for i in range(len(input_gdf)) if is_valid_polygon(input_gdf.iloc[[i]])), None)
|
| 397 |
geometry_gdf = to_best_crs(geometry_gdf)
|
| 398 |
|
|
|
|
| 399 |
area_hectares = geometry_gdf.area.item()/ 10000
|
| 400 |
perimeter_meters = geometry_gdf.length.item()
|
|
|
|
|
|
|
| 401 |
|
| 402 |
+
payload = {
|
|
|
|
| 403 |
"area": round(area_hectares, 4),
|
| 404 |
"perimeter": round(perimeter_meters, 4),
|
| 405 |
}
|
| 406 |
+
|
| 407 |
+
return payload
|
| 408 |
+
|
| 409 |
except ValueError as e:
|
| 410 |
# Handle known errors (e.g., bad URL, no polygon)
|
| 411 |
raise HTTPException(status_code=400, detail=str(e))
|