GPXParser.js 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 différence
Wikipedia say :
GPX, or GPS Exchange Format, is an XML schema designed as a common GPS data format for software applications.
gpx files are based on xml with specific tags and attributes
For more information about gpx format see http://www.topografix.com/gpx_manual.asp
npm install --save gpxparser
From an HTML document :
<script src="./js/GPXParser.js"></script>From a node.js script :
let gpxParser = require('gpxparser');var gpx = new gpxParser(); //Create gpxParser Object
gpx.parse("<xml><gpx></gpx></xml>"); //parse gpx file from string datavar 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 |
| 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 |
