一个简单的库,用于在 Swift 中读取和写入 GPX 轨迹和航点,专门为简洁易用而设计。
Swift 包管理器
.package(url: "https://github.com/RCCoop/RCGPX.git", .upToNextMajor(from: "1.0.0"))
GPX 文件的根由 GPXDocument
结构体表示,它用作任意数量的航点和轨迹的容器。
从头开始创建 GPXDocument 时(而不是从现有文件读取),您可以选择为创建该文件的人员或程序添加名称,以及轨迹和航点数组。
public struct GPXDocument {
public var creator: String?
public var waypoints: [GPXWaypoint]
public var tracks: [GPXTrack]
public var routes: [GPXRoute]
}
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)
let gpxDoc = GPXDocument(...)
let asData = gpxDoc.gpxData()
let asString = gpxDoc.gpxString()