File size: 875 Bytes
2bcb413
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import folium
import os

def generate_map(gps_coordinates, cracks):
    # Create a map centered at the average of the GPS coordinates
    if not gps_coordinates:
        return None
    avg_lat = sum(coord[0] for coord in gps_coordinates) / len(gps_coordinates)
    avg_lon = sum(coord[1] for coord in gps_coordinates) / len(gps_coordinates)
    m = folium.Map(location=[avg_lat, avg_lon], zoom_start=15)

    # Add markers for cracks
    for coord, crack in zip(gps_coordinates[-len(cracks):], cracks):
        folium.Marker(
            location=coord,
            popup=f"Severity: {crack['severity']}, Confidence: {crack['confidence']:.2f}",
            icon=folium.Icon(color='red' if crack['severity'] == 'Severe' else 'orange' if crack['severity'] == 'Moderate' else 'green')
        ).add_to(m)

    map_path = "map_temp.html"
    m.save(map_path)
    return map_path