Beispiel #1
0
 def _make_strava_cache_dict(track: Track) -> typing.Dict[str, Any]:
     lines_data = []
     for line in track.polylines:
         lines_data.append([{"lat": latlng.lat().degrees, "lng": latlng.lng().degrees} for latlng in line])
     return {
         "name": track.file_names[0],  # strava id
         "start": track.start_time().strftime("%Y-%m-%d %H:%M:%S"),
         "end": track.end_time().strftime("%Y-%m-%d %H:%M:%S"),
         "length": track.length_meters,
         "segments": lines_data,
     }
Beispiel #2
0
 def _strava_cache_to_track(data: typing.Dict[str, Any]) -> "Track":
     t = Track()
     t.file_names = [data["name"]]
     t.start_time = datetime.datetime.strptime(data["start"],
                                               "%Y-%m-%d %H:%M:%S")
     t.end_time = datetime.datetime.strptime(data["end"],
                                             "%Y-%m-%d %H:%M:%S")
     t.length_meters = float(data["length"])
     t.polylines = []
     for data_line in data["segments"]:
         t.polylines.append([
             s2sphere.LatLng.from_degrees(float(d["lat"]), float(d["lng"]))
             for d in data_line
         ])
     return t