Ride2Map import schema

Technical reference for JSON, CSV and GPX ride imports. Required GPS fields, optional telemetry, source app metadata and versioned schema recommendation.

Versioned JSON shape (recommended)

Use schema_version and source_app at the top level. Track points live in track_points with one object per sample.

{
  "schema_version": "1.0",
  "source_app": "floaty",
  "ride": {
    "id": "example-ride-id",
    "title": "Evening Flow Ride",
    "started_at": "2026-06-24T18:30:00Z",
    "ended_at": "2026-06-24T19:05:00Z"
  },
  "track_points": [
    {
      "timestamp": "2026-06-24T18:30:01Z",
      "latitude": 50.9848,
      "longitude": 11.0299,
      "elevation": 220.5,
      "speed": 5.8,
      "battery_voltage": 78.4,
      "battery_current": 12.2,
      "battery_percentage": 84,
      "motor_temperature": 48,
      "controller_temperature": 42,
      "pitch": 1.2,
      "roll": -0.5,
      "duty_cycle": 0.31
    }
  ]
}

CSV column example

timestamp,latitude,longitude,elevation,speed,battery_voltage,battery_current,battery_percentage,motor_temperature,controller_temperature,pitch,roll,duty_cycle,source_app
2026-06-24T18:30:01Z,50.9848,11.0299,220.5,5.8,78.4,12.2,84,48,42,1.2,-0.5,0.31,float_control

GPX notes

GPX provides trkpt latitude/longitude and optional elevation. Timestamps use <time> elements when exported. Speed and board telemetry are usually not in plain GPX — use JSON/CSV for rich board data. See GPX 3D replay.

Required fields

  • latitude
  • longitude
  • timestamp

Optional telemetry fields

  • elevation
  • speed
  • distance
  • battery_voltage
  • battery_current
  • battery_percentage
  • board_temperature
  • motor_temperature
  • controller_temperature
  • pitch
  • roll
  • yaw
  • motor_current
  • duty_cycle
  • ride_mode
  • source_app

Source-specific guides