-
-
Notifications
You must be signed in to change notification settings - Fork 57
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 typelet 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