My agentic slop goes here. Not intended for anyone else!
1(** Coordinate parsing module *)
2
3val parse_lat : string -> Lat.t
4(** Parse decimal degrees or DMS formats *)
5
6val parse_lon : string -> Lon.t
7
8val parse_coord : string -> Coord.t
9(** Parse "lat,lon" or "lat lon" formats *)
10
11val parse_dms : string -> float
12(** Parse various DMS formats:
13 - "40.7128"
14 - "40°42'46\""
15 - "40°42.767'"
16 - "40 42 46"
17 - "40:42:46"
18 - "40.7128N" or "N40.7128" *)
19
20(** Try parsing - returns None on failure instead of raising *)
21val try_parse_lat : string -> Lat.t option
22val try_parse_lon : string -> Lon.t option
23val try_parse_coord : string -> Coord.t option