将Codoon的路径记录导出成GPX路径
新浪微博网友 @better_man__ 问道能不能将 Codoon 记录的轨迹文件导出为 GPX 或 TCX 文件,以方便与Garmin、Nike+ Fuelband进行轨迹交换。试了一下,能够完成。过程如下。
GPX 和 TCX 文件
以下内容转自维基百科。
GPX(GPS eXchange Format, GPS交换格式)是一个XML格式,为应用软件设计的通用GPS数据格式。它可以用来描述路点、轨迹、路程。这个格式是免费的,可以在不需要付任何许可费用的前提下使用。它的标签保存位置,海拔和时间,可以用来在不同的GPS设备和软件之间交换数据。TCX, Garmin Training Center XML,功能类此。GARMIN 的 GPS 手表能够使用这两种格式的文件。
这两种格式之间已经有很多互相转换的工具。
实现说明
在 GPX 中,一个没有顺序关系的点集合,叫路点。一个有顺序的点的集合叫轨迹或者路程。轨迹是一个人曾经走过的记录,路程是一个建议的下一步要走的地方。所以,一般来讲,轨迹里的点,包含时间信息,路程里的点,没有时间信息。
下面的代码实现的是将 Codoon 的轨迹数据,转换成 GPX 路径文件。
获取Codoon轨迹数据
利用以前实现的咕咚 Codoon 运动的 API,能够获得某次用户运动的GPS轨迹。对应API详细说明参见 获取咕咚运动移动应用中的数据——非官方API
参考代码:
account = { "email" : "your@email" , "passwd" : "yourpassword" }
imei = "000000000000000"
device = DeviceCodoon ()
# login
device.get_users_login(account["email"], account["passwd"])
# 获得用户的运动历史列表
routes = device.get_route_log( productId = imei )
for r in routes["data"]:
routeId = r["route_id"]
print routeId
# 获得特定某次的运动轨迹
routeId = "03e1cd1e-07b1-11e3-b50f-00163e020001"
route = device.get_single_log( routeId = routeId )
device.saveJsonData( filename = "/single_log_20130817.json" , data = route)
取得的运动轨迹数据可以参考示例文件: single_log_20130817.json。这个轨迹是跟着绿野去长峪城腐败的轨迹。:D,摆两张照片放放毒。