Crate gpx [−] [src]
gpx is a library for reading and writing GPX (GPS Exchange Format) files. It uses the primitives provided by rust-geo to allow for storage of GPS data.
Examples
use std::io::BufReader; use std::fs::File; use gpx::read; use gpx::{Gpx, Track, TrackSegment}; // This XML file actually exists — try it for yourself! let file = File::open("tests/fixtures/wikipedia_example.gpx").unwrap(); let reader = BufReader::new(file); // read takes any io::Read and gives a Result<Gpx, Error>. let gpx: Gpx = read(reader).unwrap(); // Each GPX file has multiple "tracks", this takes the first one. let track: &Track = &gpx.tracks[0]; assert_eq!(track.name, Some(String::from("Example GPX Document"))); // Each track will have different segments full of waypoints, where a // waypoint contains info like latitude, longitude, and elevation. let segment: &TrackSegment = &track.segments[0]; // This is an example of retrieving the elevation (in meters) at certain points. assert_eq!(segment.points[0].elevation, Some(4.46)); assert_eq!(segment.points[1].elevation, Some(4.94)); assert_eq!(segment.points[2].elevation, Some(6.87));
Modules
errors |
errors provides error generics for the gpx parser. |
Structs
Gpx |
Gpx is the root element in the XML file. |
Link |
Link represents a link to an external resource. |
Metadata |
Metadata is information about the GPX file, author, and copyright restrictions. |
Person |
Person represents a person or organization. |
Track |
Track represents an ordered list of points describing a path. |
TrackSegment |
TrackSegment represents a list of track points. |
Waypoint |
Waypoint represents a waypoint, point of interest, or named feature on a map. |
Enums
Fix |
Type of the GPS fix. |
GpxVersion |
Functions
read |
Reads an activity in GPX format. |