{"id":16189182,"url":"https://github.com/jhermsmeier/node-tle","last_synced_at":"2025-08-28T04:39:36.825Z","repository":{"id":13030201,"uuid":"15709856","full_name":"jhermsmeier/node-tle","owner":"jhermsmeier","description":"Two-line element set (TLE) data parser","archived":false,"fork":false,"pushed_at":"2021-08-16T13:59:12.000Z","size":232,"stargazers_count":17,"open_issues_count":0,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-25T10:42:59.890Z","etag":null,"topics":["celestrak","format","nasa","norad","orbit","parser","satellite","tle"],"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/jhermsmeier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-07T16:31:22.000Z","updated_at":"2023-02-19T01:59:59.000Z","dependencies_parsed_at":"2022-09-07T17:33:30.545Z","dependency_job_id":null,"html_url":"https://github.com/jhermsmeier/node-tle","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhermsmeier%2Fnode-tle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhermsmeier%2Fnode-tle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhermsmeier%2Fnode-tle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhermsmeier%2Fnode-tle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhermsmeier","download_url":"https://codeload.github.com/jhermsmeier/node-tle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234036812,"owners_count":18769620,"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":["celestrak","format","nasa","norad","orbit","parser","satellite","tle"],"created_at":"2024-10-10T07:34:24.766Z","updated_at":"2025-01-15T12:14:49.670Z","avatar_url":"https://github.com/jhermsmeier.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Two-line element set (TLE)\n[![npm](https://img.shields.io/npm/v/tle.svg?style=flat-square)](https://npmjs.com/package/tle)\n[![npm license](https://img.shields.io/npm/l/tle.svg?style=flat-square)](https://npmjs.com/package/tle)\n[![npm downloads](https://img.shields.io/npm/dm/tle.svg?style=flat-square)](https://npmjs.com/package/tle)\n[![build status](https://img.shields.io/travis/jhermsmeier/node-tle.svg?style=flat-square)](https://travis-ci.org/jhermsmeier/node-tle)\n\nTwo-line element set (TLE) data format parser\n\nA two-line element set ([TLE]) is a data format used to convey sets of orbital elements that describe the orbits of Earth-orbiting satellites. A computer program called a model can use the TLE to compute the position of a satellite at a particular time. The TLE is a format specified by NORAD and used by [NORAD] and [NASA]. The TLE can be used directly by the [SGP4] model (or one of the SGP8, [SDP4], SDP8 models). Orbital elements are determined for many thousands of space objects by NORAD and are freely distributed on the Internet in the form of TLEs. A TLE consists of a title line followed by two lines of formatted text.\n\n— From [Wikipedia](http://en.wikipedia.org/wiki/Two-line_element_set)\n\n[TLE]: http://en.wikipedia.org/wiki/Two-line_element_set\n[NORAD]: http://en.wikipedia.org/wiki/NORAD\n[NASA]: http://en.wikipedia.org/wiki/NASA\n[SGP4]: http://en.wikipedia.org/wiki/SGP4\n[SDP4]: http://en.wikipedia.org/wiki/SDP4\n\n## Install via [npm](https://npmjs.com/package/tle)\n\n```sh\n$ npm install --save tle\n```\n\n## Format\n\n**More,  detailed information is available at [NASA Human Space Flight](https://web.archive.org/web/20200609193115/https://spaceflight.nasa.gov/realdata/sightings/SSapplications/Post/JavaSSOP/SSOP_Help/tle_def.html):**\n\n\u003ch3 align=\"center\"\u003e\n  \u003ca href=\"https://web.archive.org/web/20200609193115/https://spaceflight.nasa.gov/realdata/sightings/SSapplications/Post/JavaSSOP/SSOP_Help/tle_def.html\"\u003e\n    \u003cimg alt=\"Definition of Two-line Element Set Coordinate System\" src=\"./doc/2line.gif\"\u003e\n  \u003c/a\u003e\n\u003c/h3\u003e\n\nSome data to play around with can be found at [Celestrak](http://www.celestrak.com/NORAD/elements/) and in [Celestrak's Master Index](http://www.celestrak.com/NORAD/elements/master.asp).\n\n## Usage\n\n```js\nvar TLE = require( 'tle' )\n```\n\n### Parsing a single set\n\n```js\nvar set = 'ISS (ZARYA)\\n' +\n  '1 25544U 98067A   08264.51782528 -.00002182  00000-0 -11606-4 0  2927\\n' +\n  '2 25544  51.6416 247.4627 0006703 130.5360 325.0288 15.72125391563537'\n```\n\n```js\nvar tle = TLE.parse( set )\n```\n\n```js\nTLE {\n  name: 'ISS (ZARYA)',\n  number: 25544,\n  class: 'U',\n  id: '98067A',\n  date: Date\u003c'2008-09-20T12:25:40.104Z'\u003e,\n  fdmm: -0.00002182,\n  sdmm: 0,\n  drag: -0.000011606,\n  ephemeris: 0,\n  esn: 292,\n  inclination: 51.6416,\n  ascension: 247.4627,\n  eccentricity: 0.0006703,\n  perigee: 130.536,\n  anomaly: 325.0288,\n  motion: 15.72125391,\n  revolution: 56353,\n}\n```\n\n### Parsing a stream\n\n```js\nvar parser = new TLE.Parser( options ) // OR\nvar parser = TLE.createParser( options )\n````\n\n```js\nfs.createReadStream( FILEPATH )\n  .pipe( new TLE.Parser() )\n  .on( 'data', function( tle ) {\n    // ...\n  })\n```\n\n### Creating a TLE instance from existing data\n\n```js\n// From a JSON string\nvar tle = TLE.fromJSON( '{\"name\":\"ISS (ZARYA)\",\"number\":25544,\"class\":\"U\",\"id\":\"98067A\",\"date\":\"2008-09-20T12:25:40.104Z\",\"fdmm\":-0.00002182,\"sdmm\":0,\"drag\":-0.000011606,\"ephemeris\":0,\"esn\":292,\"inclination\":51.6416,\"ascension\":247.4627,\"eccentricity\":0.0006703,\"perigee\":130.536,\"anomaly\":325.0288,\"motion\":15.72125391,\"revolution\":56353}' )\n```\n\n```js\n// From an object\nvar tle = TLE.fromJSON({\n  name: 'FENGYUN 1C DEB',\n  class: 'U',\n  id: '29740',\n})\n```\n\n## Speed\n\nIt can read, stream \u0026 parse ~2500 TLEs from the file system in about 100ms.\n\n```\nnode example/fs-stream.js\nParser: 2517 TLEs, 108ms, 23306 op/s\nParser: 23 op/ms\n```\n\n## Examples\n\nSee `examples` folder for runnable examples:\n```\nnode examples/fs-stream.js\nnode examples/http-stream.js\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhermsmeier%2Fnode-tle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhermsmeier%2Fnode-tle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhermsmeier%2Fnode-tle/lists"}