bug fixing
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 58s

This commit is contained in:
Tudor
2026-01-10 11:40:02 +00:00
parent bb58d607c2
commit 6597ee40fb

View File

@@ -278,8 +278,17 @@ async def get_schools(
# Filter by distance using pre-geocoded lat/long from database # Filter by distance using pre-geocoded lat/long from database
# Use vectorized haversine calculation for better performance # Use vectorized haversine calculation for better performance
lat1, lon1 = search_coords lat1, lon1 = search_coords
lat2 = schools_df["latitude"].values
lon2 = schools_df["longitude"].values # Handle potential duplicate columns by taking first occurrence
lat_col = schools_df.loc[:, "latitude"]
lon_col = schools_df.loc[:, "longitude"]
if isinstance(lat_col, pd.DataFrame):
lat_col = lat_col.iloc[:, 0]
if isinstance(lon_col, pd.DataFrame):
lon_col = lon_col.iloc[:, 0]
lat2 = lat_col.values
lon2 = lon_col.values
# Vectorized haversine formula # Vectorized haversine formula
R = 3959 # Earth's radius in miles R = 3959 # Earth's radius in miles
@@ -293,11 +302,8 @@ async def get_schools(
distances = R * c distances = R * c
# Handle missing coordinates # Handle missing coordinates
distances = np.where( has_coords = ~(pd.isna(lat_col) | pd.isna(lon_col))
pd.isna(schools_df["latitude"]) | pd.isna(schools_df["longitude"]), distances = np.where(has_coords.values, distances, float("inf"))
float("inf"),
distances
)
schools_df["distance"] = distances schools_df["distance"] = distances
schools_df = schools_df[schools_df["distance"] <= radius] schools_df = schools_df[schools_df["distance"] <= radius]
schools_df = schools_df.sort_values("distance") schools_df = schools_df.sort_values("distance")