import gpxpy
import mplleaflet
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['axes.xmargin'] = 0.1
plt.rcParams['axes.ymargin'] = 0.1
%matplotlib inline
import seaborn as sns
sns.set_style("whitegrid")
sns.set_context("talk")
with open('../gpx/hh_marathon.gpx') as fh:
gpx_file = gpxpy.parse(fh)
File consists of many tracks und track consists of segments which consists of points. Segments are continuously connected points. Points in different segments are not connected to reflect loss of gps signal, device turned on/off etc.
segment = gpx_file.tracks[0].segments[0]
coords = pd.DataFrame([{'lat': p.latitude, 'lon': p.longitude} for p in segment.points])
plot_coords = coords.ix[::150]
fig = plt.figure()
plt.plot(plot_coords['lon'].values, plot_coords['lat'].values)
plt.plot(plot_coords['lon'].values, plot_coords['lat'].values, 'ro')
[<matplotlib.lines.Line2D at 0x111e501d0>]
mplleaflet.display(fig=fig)
with open('../gpx/3-laender-giro.gpx') as fh:
gpx_file = gpxpy.parse(fh)
segment = gpx_file.tracks[0].segments[0]
coords = pd.DataFrame([{'lat': p.latitude, 'lon': p.longitude} for p in segment.points])
plot_coords = coords.ix[::150]
fig = plt.figure()
plt.plot(plot_coords['lon'].values, plot_coords['lat'].values)
plt.plot(plot_coords['lon'].values, plot_coords['lat'].values, 'ro')
[<matplotlib.lines.Line2D at 0x112680160>]
mplleaflet.display(fig=fig)