How To: Parse
Vincent Neo edited this page Feb 19, 2021
·
1 revision
Parsing of GPX files is done by initializing GPXParser
.
There are five ways of initializing GPXParser
, and these are three main ways of initializing:
guard let gpx = GPXParser(withURL: inputURL)?.parsedData() else { return }
guard let gpx = GPXParser(withPath: inputPath)?.parsedData() else { return } // String type
let gpx = GPXParser(withData: inputData).parsedData()
.parsedData()
returns a GPXRoot
type, which contains all the metadata, waypoints, tracks, routes, and extensions(if any), which you can expect from a GPX file, depending on what that file contains.
guard let gpx = GPXParser(withURL: inputURL)?.parsedData() else { return // do things here when failed }
// waypoints, tracks, tracksegements, trackpoints are all stored as Array depends on the amount stored in the GPX file.
for waypoint in gpx.waypoints { // for loop example, every waypoint is written
print(waypoint.latitude) // prints every waypoint's latitude, etc: 1.3521, as a Double object
print(waypoint.longitude) // prints every waypoint's longitude, etc: 103.8198, as a Double object
print(waypoint.time) // prints every waypoint's date, as a Date object
print(waypoint.name) // prints every waypoint's name, as a String
}
print(gpx.metadata?.desc) // prints description given in GPX file metadata tag
print(gpx.metadata?.name) // prints name given in GPX file metadata tag