The root of a GPX file is represented by the GPXDocument struct, which is used as a container for any number of waypoints and tracks.
When creating a GPXDocument from scratch (rather than reading from an existing file), you may optionally add a name for the person or program that created the file, as well as the arrays of tracks and waypoints.
public struct GPXDocument {
public var creator: String?
public var waypoints: [GPXWaypoint]
public var tracks: [GPXTrack]
public var routes: [GPXRoute]
}
GPX Types
GPXTrack
.Segment
.Point
GPXRoute
.Point
GPXWaypoint
Reading GPX Files
let fileUrl = ...
let fileData = try Data(contentsOf: fileUrl)
let gpxString = try? String(contentsOf: fileUrl, encoding: .utf8)
let documentFromData = try? GPXDocument(fileData)
let documentFromFileUrl = try? GPXDocument(fileUrl)
let documentFromString = try? GPXDocument(gpxString)
Writing GPX Files
let gpxDoc = GPXDocument(...)
let asData = gpxDoc.gpxData()
let asString = gpxDoc.gpxString()
RCGPX
A simple library for reading & writing GPX tracks and waypoints in Swift, specifically designed for simplicity and ease of use.
Index
Installation
Swift Package Manager:
GPXDocument
The root of a GPX file is represented by the
GPXDocument
struct, which is used as a container for any number of waypoints and tracks.When creating a GPXDocument from scratch (rather than reading from an existing file), you may optionally add a name for the person or program that created the file, as well as the arrays of tracks and waypoints.
GPX Types
Reading GPX Files
Writing GPX Files
Dependencies