RCGPX

1.1

A library for reading/writing GPX files in Swift
RCCoop/RCGPX

What's New

Version 1.1

2023-03-28T21:01:47Z

Added support for GPXRoute

RCGPX

GitHub

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:

.package(url: "https://github.com/RCCoop/RCGPX.git", .upToNextMajor(from: "1.0.0"))

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.

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()

Dependencies

  • AEXML for reading and writing XML files

Description

  • Swift Tools 5.3.0
View More Packages from this Author

Dependencies

Last updated: Fri Nov 24 2023 10:50:14 GMT-1000 (Hawaii-Aleutian Standard Time)