GpxJs is a lightweight JS library wich parse .gpx file and get or compute various datas like
- GPX metadata
- total and cumulate distances
- min, max, average, positive and negative height difference
- Hr, Cadence, Temperature (exported from Garmin devices)
It is created by Lucas, Original Repo
I added some support to new elements exported from my Garmin Edge 830 device as HR, Cadence and Temperature
npm install --save gpx-js
From an HTML document :
<script src="./js/GpxJs.js"></script>
From a node.js script :
let gpx = require('gpx-js');
var gpx = new GpxJs(); //Create GpxJs Object
gpx.parse("<xml><gpx></gpx></xml>"); //parse gpx file from string data
var totalDistance = gpx.tracks[0].distance.total;
let geoJSON = gpx.toGeoJSON();
Property | Type | Description |
---|---|---|
xmlSource | XML | XML Object parsed from gpx string file |
metadata | Metadata object | File metadata |
waypoints | Array of Waypoint object | Array of waypoints |
tracks | Array of Track object | Array of waypoints of tracks |
routes | Array of Route object | Array of waypoints of routes |
Property | Type | Description |
---|---|---|
name | String | File name |
desc | String | Description |
link | Link object | Web address |
author | Float | Author object |
time | DateTime | Time |
Property | Type | Description |
---|---|---|
name | String | Point name |
cmt | String | Comment |
desc | String | Point description |
lat | Float | Point latitute |
lon | Float | Point longitude |
ele | Float | Point elevation |
time | Date | Point time |
Property | Type | Description |
---|---|---|
name | String | Point name |
cmt | String | Comment |
desc | String | Point description |
src | String | Used device |
number | String | Track identifier |
link | String | Link to a web address |
type | String | Track type |
points | Array | Points object array |
distance | Distance Object | Distance informations about the Route |
elevation | Elevation Object | Elevation informations about the Route |
slopes | Float Array | Slope of each sub-segment |
Property | Type | Description |
---|---|---|
name | String | Point name |
cmt | String | Comment |
desc | String | Point description |
src | String | Used device |
number | String | Track identifier |
link | String | Link to a web address |
type | String | Route type |
points | Array | Points object array |
distance | Distance Object | Distance informations about the Route |
elevation | Elevation Object | Elevation informations about the Route |
slopes | Float Array | Slope of each sub-segment |
Property | Type | Description |
---|---|---|
lat | Float | Point latitute |
lon | Float | Point longitude |
ele | Float | Point elevation |
time | Date | Point time |
hr | Int | Point Hear rate |
cad | Int | Point Cadence |
atemp | Int | Point Temperature |
Property | Type | Description |
---|---|---|
total | Float | Total distance of the Route/Track |
cumul | Float | Cumulative distance at each point of the Route/Track |
Property | Type | Description |
---|---|---|
max | Float | Maximum elevation |
min | Float | Minimum elevation |
pos | Float | Positive elevation difference |
neg | Float | Negative elevation difference |
avg | Float | Average elevation |
Property | Type | Description |
---|---|---|
name | String | Author name |
Email object | Email address of the author | |
link | Link object | Web address |
Property | Type | Description |
---|---|---|
id | String | Email id |
domain | String | Email domain |
Property | Type | Description |
---|---|---|
href | String | Web address |
text | String | Link text |
type | String | Link type |