@s5m/gpxparser-mini
v3.0.8
Published
GPX file parser
Readme

GPXParser.js
Note: This package is published as
@s5m/gpxparser-minion npm. It is a fork of the originalgpxparserpackage by Luuka.
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
GPX ? What is this ?
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
How to do
Install from npm
npm install --save @s5m/gpxparser-mini
Load JavaScript file
From an HTML document (browser):
<script src="./js/GPXParser.js"></script>From a node.js script:
let gpxParser = require('@s5m/gpxparser-mini');Note for Node.js users: This library uses the browser's native DOMParser API. When using in Node.js, you need to provide a DOM implementation. Install jsdom and set it up in your environment:
npm install jsdom jsdom-globalThen in your Node.js code:
require('jsdom-global')();
let gpxParser = require('@s5m/gpxparser-mini');Create and parse file
var gpx = new gpxParser(); //Create gpxParser Object
gpx.parse("<xml><gpx></gpx></xml>"); //parse gpx file from string dataUse the gpx Object
var totalDistance = gpx.tracks[0].distance.total;Export gpxParser Objecto to GeoJSON
let geoJSON = gpx.toGeoJSON();Documentation
| 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 |
Metadata object
| Property | Type | Description | | -------- | ------ | ----------------- | | name | String | File name | | desc | String | Description | | link | Link object | Web address | | author | Float | Author object | | time | DateTime | Time |
Waypoint object
| 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 |
Track object
| 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|
Route object
| 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|
Point object
| Property | Type | Description | | -------- | ------ | ----------------- | | lat | Float | Point latitute | | lon | Float | Point longitude | | ele | Float | Point elevation | | time | Date | Point time |
Distance object
| Property | Type | Description | | -------- | ------ | ----------------- | | total | Float | Total distance of the Route/Track | | cumul | Float | Cumulative distance at each point of the Route/Track |
Elevation object
| 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 |
Author object
| Property | Type | Description | | -------- | ------ | ----------------- | | name | String | Author name | | email | Email object | Email address of the author | | link | Link object | Web address |
Email object
| Property | Type | Description | | -------- | ------ | ----------------- | | id | String | Email id | | domain | String | Email domain |
Link object
| Property | Type | Description | | -------- | ------ | ----------------- | | href | String | Web address | | text | String | Link text | | type | String | Link type |
