GPS Exchange Format library/CLI in OCaml
1(** Eio API for GPX operations *)
2
3module IO = Gpx_io
4
5(** Read and parse GPX file *)
6let read ?(validate=false) ~fs path = IO.read_file ~validate ~fs path
7
8(** Write GPX to file *)
9let write ?(validate=false) ~fs path gpx = IO.write_file ~validate ~fs path gpx
10
11(** Write GPX to file with backup *)
12let write_with_backup ?(validate=false) ~fs path gpx = IO.write_file_with_backup ~validate ~fs path gpx
13
14(** Read GPX from Eio source *)
15let from_source ?(validate=false) source = IO.read_source ~validate source
16
17(** Write GPX to Eio sink *)
18let to_sink ?(validate=false) sink gpx = IO.write_sink ~validate sink gpx
19
20(** Pretty print GPX statistics *)
21let print_stats sink gpx =
22 let buf = Buffer.create 256 in
23 let fmt = Format.formatter_of_buffer buf in
24 Format.fprintf fmt "%a@?" Gpx.Doc.pp_stats gpx;
25 Eio.Flow.copy_string (Buffer.contents buf) sink