GPS Exchange Format library/CLI in OCaml

trim README

Changed files
+3 -32
+3 -32
README.md
···
# mlgpx - OCaml GPX Library
-
A high-quality OCaml library for parsing and generating GPX (GPS Exchange Format) files, designed with streaming performance and type safety in mind.
+
An OCaml library for parsing and generating GPX (GPS Exchange Format) 1.0 and
+
1.1 files, and a CLI for common manipulation and query options.
## Architecture Overview
···
## Key Features
-
- ✅ **Complete GPX 1.1 support**: Waypoints, routes, tracks, metadata, extensions
+
- ✅ **Complete GPX 1.0/1.1 support**: Waypoints, routes, tracks, metadata, extensions
- ✅ **Streaming parser/writer**: Memory-efficient for large files
- ✅ **Strong type safety**: Validated coordinates, GPS fix types, etc.
- ✅ **Comprehensive validation**: Detailed error and warning reporting
···
mlgpx convert --help
mlgpx info --help
```
-
-
## Dependencies
-
-
- **xmlm**: Streaming XML parser/writer (core dependency)
-
- **ptime**: Time handling for timestamps
-
- **unix**: File I/O operations (Unix layer only)
-
-
## Testing Strategy
-
-
- Unit tests for coordinate validation
-
- Roundtrip tests (parse → write → parse)
-
- Validation rule testing
-
- Large file streaming tests
-
- Cross-platform compatibility tests
-
-
## Future Considerations
-
-
### Potential Optimizations
-
- Custom coordinate type with packed representation
-
- Lazy extension parsing
-
- Memory-mapped file reading for very large files
-
- Streaming validation (validate while parsing)
-
-
### API Extensions
-
- GPX merging/splitting utilities
-
- Coordinate transformation functions
-
- Distance/bearing calculations
-
- GPX statistics and analysis tools
-
-
This architecture provides a solid foundation for GPX processing in OCaml with excellent type safety, performance, and extensibility.