Spaces:
Running
Running
rmm
commited on
Commit
·
722ec65
1
Parent(s):
d546098
fix: input validation for decimal_coords
Browse files- src/input_handling.py +5 -0
src/input_handling.py
CHANGED
@@ -209,6 +209,11 @@ def decimal_coords(coords:tuple, ref:str) -> Fraction:
|
|
209 |
decimal_coords((40, 26, 46), 'W') -> -40.44611111111111
|
210 |
"""
|
211 |
# https://stackoverflow.com/a/73267185
|
|
|
|
|
|
|
|
|
|
|
212 |
decimal_degrees = coords[0] + coords[1] / 60 + coords[2] / 3600
|
213 |
if ref == "S" or ref =='W':
|
214 |
decimal_degrees = -decimal_degrees
|
|
|
209 |
decimal_coords((40, 26, 46), 'W') -> -40.44611111111111
|
210 |
"""
|
211 |
# https://stackoverflow.com/a/73267185
|
212 |
+
if ref not in ['N', 'S', 'E', 'W']:
|
213 |
+
raise ValueError("Invalid reference direction. Must be 'N', 'S', 'E', or 'W'.")
|
214 |
+
if len(coords) != 3:
|
215 |
+
raise ValueError("Coordinates must be a tuple of three elements (degrees, minutes, seconds).")
|
216 |
+
|
217 |
decimal_degrees = coords[0] + coords[1] / 60 + coords[2] / 3600
|
218 |
if ref == "S" or ref =='W':
|
219 |
decimal_degrees = -decimal_degrees
|