GPXParser.js
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 gpxparser
Load JavaScript file
From an HTML document :
<script src="https://github.com/Luuka/GPXParser.js/raw/master/js/GPXParser.js"></script>
From a node.js script :
let gpxParser = require('gpxparser');
Create and parse file
var gpx = new gpxParser(); //Create gpxParser Object
gpx.parse("<xml><gpx></gpx></xml>"); //parse gpx file from string data
Use 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 |