{"id":20571465,"url":"https://github.com/kf99916/gpx-parser-builder","last_synced_at":"2025-05-07T18:09:22.148Z","repository":{"id":47999727,"uuid":"100778987","full_name":"kf99916/gpx-parser-builder","owner":"kf99916","description":"A simple gpx parser and builder between GPX string and JavaScript object","archived":false,"fork":false,"pushed_at":"2024-08-06T07:30:06.000Z","size":197,"stargazers_count":22,"open_issues_count":5,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T18:08:49.090Z","etag":null,"topics":["builder","gpx","gpx-parser","javascript","parser"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kf99916.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-19T07:47:32.000Z","updated_at":"2024-08-06T07:30:02.000Z","dependencies_parsed_at":"2024-06-19T00:15:54.058Z","dependency_job_id":"5aa54c0c-ebbf-4f83-81c5-f77b9ddefc55","html_url":"https://github.com/kf99916/gpx-parser-builder","commit_stats":{"total_commits":38,"total_committers":4,"mean_commits":9.5,"dds":"0.23684210526315785","last_synced_commit":"353b23b3171e6a137de65eaaae223776f47995a5"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kf99916%2Fgpx-parser-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kf99916%2Fgpx-parser-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kf99916%2Fgpx-parser-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kf99916%2Fgpx-parser-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kf99916","download_url":"https://codeload.github.com/kf99916/gpx-parser-builder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252931536,"owners_count":21827111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["builder","gpx","gpx-parser","javascript","parser"],"created_at":"2024-11-16T05:16:19.272Z","updated_at":"2025-05-07T18:09:22.123Z","avatar_url":"https://github.com/kf99916.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gpx-parser-builder\nA simple gpx parser and builder between GPX string and JavaScript object. It is dependent on [isomorphic-xml2js](https://github.com/RikkiGibson/isomorphic-xml2js).\n\n[![npm](https://img.shields.io/npm/dt/gpx-parser-builder.svg)](https://www.npmjs.com/package/gpx-parser-builder)\n[![GitHub stars](https://img.shields.io/github/stars/kf99916/gpx-parser-builder.svg)](https://github.com/kf99916/gpx-parser-builder/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/kf99916/gpx-parser-builder.svg)](https://github.com/kf99916/gpx-parser-builder/network)\n[![npm](https://img.shields.io/npm/v/gpx-parser-builder.svg)](https://www.npmjs.com/package/gpx-parser-builder)\n[![GitHub license](https://img.shields.io/github/license/kf99916/gpx-parser-builder.svg)](https://github.com/kf99916/gpx-parser-builder/blob/master/LICENSE)\n\n## Requirements\n\ngpx-parser-builder is written with ECMAScript 6. You can leverage [Babel](https://babeljs.io/) and [Webpack](https://webpack.js.org/) to make all browsers available.\n\n## Installation\n\n```bash\nnpm install gpx-parser-builder --save\n```\n\n## Version\n\nv1.0.0+ is a breaking change for v0.2.2-. v1.0.0+ fully supports gpx files including waypoints, routes, and tracks. Every gpx type is 1-1 corresponding to a JavaScript class.\n\n## Usage\n\n```javascript\nimport GPX from 'gpx-parser-builder';\n\n// Parse gpx\nconst gpx = GPX.parse('GPX_STRING');\n\nwindow.console.dir(gpx.metadata);\nwindow.console.dir(gpx.wpt);\nwindow.console.dir(gpx.trk);\n\n// Build gpx\nwindow.console.log(gpx.toString());\n```\n\nGet more details about usage with the unit tests.\n\n### GPX\n\nThe GPX JavaScript object.\n\n`constructor(object)` \n\n```javascript\nconst gpx = new Gpx({$:{...}, metadat: {...}, wpt:[{...},{...}]}, trk: {...}, rte: {...})\n```\n\n#### Member Variables\n\n`$` the attributes for the gpx element. Default value:\n```javascript\n{\n    'version': '1.1',\n    'creator': 'gpx-parser-builder',\n    'xmlns': 'http://www.topografix.com/GPX/1/1',\n    'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n    'xsi:schemaLocation': 'http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd'\n}\n```\n\n`metadata` the metadata for the gpx.\n\n`wpt` array of waypoints. It is corresponded to `\u003cwpt\u003e`. The type of all elements in `wpt` is `Waypoint`;\n\n`rte` array of routes. It is corresponded to `\u003crte\u003e`. The type of all elements in `rte` is `Route`;\n\n`trk` array of tracks. It is corresponded to `\u003ctrk\u003e`. The type of all elements in `trk` is `Track`;\n\n#### Static Methods\n\n`parse(gpxString)` parse gpx string to Gpx object. return `null` if parsing failed.\n\n#### Member Methods\n\n`toString(options)` GPX object to gpx string. The options is for [isomorphic-xml2js](https://github.com/RikkiGibson/isomorphic-xml2js).\n\n## Save as GPX file in the frontend\n\nYou can leverage [StreamSaver.js](https://github.com/jimmywarting/StreamSaver.js) or [FileSaver.js](https://github.com/eligrey/FileSaver.js) to save as GPX file. ⚠️Not all borwsers support the above file techniques. ⚠️️️\n\n## Author\n\nZheng-Xiang Ke, kf99916@gmail.com\n\n## License\n\ngpx-parser-builder is available under the MIT license. See the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkf99916%2Fgpx-parser-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkf99916%2Fgpx-parser-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkf99916%2Fgpx-parser-builder/lists"}