Skip to content

Instantly share code, notes, and snippets.

@squeezer44
Created November 1, 2021 14:41
Show Gist options
  • Save squeezer44/0ff958c09ae804428cc12c3ca935668d to your computer and use it in GitHub Desktop.
Save squeezer44/0ff958c09ae804428cc12c3ca935668d to your computer and use it in GitHub Desktop.
# ----------------------------
# Calculate sums
# calculate Total altitude_total_up, altitude_total_down
altitude_total_up = 0
altitude_total_down = 0
for i in gpx_df['altitude_delta_meters']:
if i > 0.0:
altitude_total_up += i
elif i < 0.0:
altitude_total_down += i
# distance meters and kilometers
## cumulative total in meters per tracked waypoint
gpx_df['distance_total_geodesic_meters'] = np.cumsum(dist_geodesic)
## cumulative total in kilometers per tracked waypoint
gpx_df['distance_total_geodesic_kilometers'] = round(gpx_df['distance_delta_geodesic_meters'].cumsum() / 1000, 3)
# speed meters and kilometers
gpx_df['speed_meters_per_second'] = round(gpx_df['distance_delta_geodesic_meters'] / gpx_df['time_delta_seconds'], 3)
## remove and replace infinite values
gpx_df['speed_meters_per_second'].replace(np.inf, 0, inplace=True)
## convert speed into km per hour and round them
gpx_df['speed_kilometers_per_hour'] = round(gpx_df['speed_meters_per_second'] * 3.6, 3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment