diff --git a/bin/gpsmap.py b/bin/gpsmap.py index 4ad0663..cdfe6ed 100644 --- a/bin/gpsmap.py +++ b/bin/gpsmap.py @@ -152,6 +152,11 @@ def sort_key(item): return (item.taken_at or datetime.max, item.path.name) +def is_invalid_coord(lat, lon): + # Treat Null Island coordinates as invalid/missing GPS. + return abs(float(lat)) < 1e-9 and abs(float(lon)) < 1e-9 + + def haversine_km(lat1, lon1, lat2, lon2): r = 6371.0 p1 = math.radians(lat1) @@ -179,6 +184,9 @@ def collect_media(media_dir): continue lat, lon, taken_at = meta + if is_invalid_coord(lat, lon): + print(f"Skip invalid GPS (0,0): {file_path.name}") + continue item = MediaItem(file_path, lat, lon, kind, taken_at) items.append(item) print(f"GPS: {file_path.name} -> ({lat}, {lon}) [{kind}]")