{ "info": { "author": "Brandon Rhodes", "author_email": "brandon@rhodesmill.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Scientific/Engineering :: Astronomy" ], "description": "This Python package computes the position and velocity of an\nearth-orbiting satellite, given the satellite's TLE orbital elements\nfrom a source like `Celestrak `_. It implements\nthe most recent version of SGP4, and is regularly run against the SGP4\ntest suite to make sure that its satellite position predictions **agree\nto within 0.1\u00a0mm** of the predictions of the standard C++ implementation\nof the algorithm. This error is far less than the 1\u20133\u00a0km/day by which\nsatellites themselves deviate from the ideal orbits described in TLE\nfiles.\n\nThe C++ function names have been retained, since users may already be\nfamiliar with this library in other languages. Here is how to compute\nthe x,y,z position and velocity for Vanguard\u00a01 at 12:50:19 on 29\nJune\u00a02000:\n\n>>> from sgp4.earth_gravity import wgs72\n>>> from sgp4.io import twoline2rv\n>>>\n>>> line1 = ('1 00005U 58002B 00179.78495062 '\n... '.00000023 00000-0 28098-4 0 4753')\n>>> line2 = ('2 00005 34.2682 348.7242 1859667 '\n... '331.7664 19.3264 10.82419157413667')\n>>>\n>>> satellite = twoline2rv(line1, line2, wgs72)\n>>> position, velocity = satellite.propagate(\n... 2000, 6, 29, 12, 50, 19)\n>>>\n>>> print(satellite.error) # nonzero on error\n0\n>>> print(satellite.error_message)\nNone\n>>> print(position)\n(5576.056952..., -3999.371134..., -1521.957159...)\n>>> print(velocity)\n(4.772627..., 5.119817..., 4.275553...)\n\nThe position vector measures the satellite position in **kilometers**\nfrom the center of the earth. The velocity is the rate at which those\nthree parameters are changing, expressed in **kilometers per second**.\n\nThere are three gravity models available that you can import from the\n``earth_gravity`` module:\n\n* ``wgs72``\n* ``wgs72old``\n* ``wgs84``\n\nThe ``wgs72`` model seems to be the most commonly used in the satellite\ntracking community, and is probably the model behind most TLE elements\nthat are available for download.\n\nThe ``twoline2rv()`` function returns a ``Satellite`` object whose\nattributes carry the data loaded from the TLE entry:\n\n* Unique satellite number, as given in the TLE file.\n\n >>> satellite.satnum\n 5\n\n* The epoch of the element set, expressed three ways:\n as the integer year plus the floating point number of days into the year;\n as a floating-point Julian date; and as Python ``datetime`` object.\n\n >>> satellite.epochyr\n 2000\n >>> satellite.epochdays\n 179.78495062\n >>> satellite.jdsatepoch\n 2451723.28495062\n >>> satellite.epoch\n datetime.datetime(2000, 6, 27, 18, 50, 19, 733567)\n\nThis implementation passes all of the automated tests in the August 2010\nrelease of the reference implementation of SGP4 by Vallado et\u00a0al., who\noriginally published their revision of SGP4 in\u00a02006:\n\n Vallado, David A., Paul Crawford, Richard Hujsak, and T.S. Kelso, \u201cRevisiting Spacetrack Report #3,\u201d presented at the AIAA/AAS Astrodynamics Specialist Conference, Keystone, CO, 2006 August 21\u201324.\n\nIf you would like to review the paper, it is `available online\n`_. You can\nalways download the latest version of their code for comparison against\nthis Python module (or other implementations) at `AIAA-2006-6753.zip\n`_.\n\nThis module was adapted from Vallado's C++ code since its revision date\nwas the most recently updated SGP4 implementation in their zip file:\n\n* C++, August 2010\n* Fortran, August 2008\n* Pascal, August 2008\n* Matlab, May 2008\n* Java, July 2005\n\nChangelog\n---------\n\n| 2015-01-15 \u2014 1.4 \u2014 Display detailed help when TLE input does not match format.\n| 2014-06-26 \u2014 1.3 \u2014 Return ``(NaN,NaN,NaN)`` vectors on error and set ``.error_message``\n| 2013-11-29 \u2014 1.2 \u2014 Made ``epochyr`` 4 digits; add ``datetime`` for ``.epoch``\n| 2012-11-22 \u2014 1.1 \u2014 Python\u00a03 compatibility; more documentation\n| 2012-08-27 \u2014 1.0 \u2014 Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/brandon-rhodes/python-sgp4", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "sgp4", "package_url": "https://pypi.org/project/sgp4/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sgp4/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/brandon-rhodes/python-sgp4" }, "release_url": "https://pypi.org/project/sgp4/1.4/", "requires_dist": null, "requires_python": null, "summary": "Track earth satellite TLE orbits using up-to-date 2010 version of SGP4", "version": "1.4" }, "last_serial": 1384490, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "2ddc45c529edf273658cdbe77a62a0e2", "sha256": "e1e99cc792e978838d16cd4967d19de3a7fd01456ea804857f4b7f3b8266dc5b" }, "downloads": -1, "filename": "sgp4-1.0.tar.gz", "has_sig": false, "md5_digest": "2ddc45c529edf273658cdbe77a62a0e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30991, "upload_time": "2012-08-26T19:14:19", "url": "https://files.pythonhosted.org/packages/87/a6/46dd85b3a778cc882836a57c58b5474c0f9ba53c8f1fc71c07bd534883f6/sgp4-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "0ba35fa78bfe9d6f600d4a9a5571e03f", "sha256": "86b800693a7ab7b0274f2bd5cbbbc2aef45b80464b81162af687f6b98042b505" }, "downloads": -1, "filename": "sgp4-1.1.tar.gz", "has_sig": false, "md5_digest": "0ba35fa78bfe9d6f600d4a9a5571e03f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31992, "upload_time": "2012-11-23T00:15:47", "url": "https://files.pythonhosted.org/packages/ae/14/0d9eea414e35696182ad9c73d11e1dff3476f856b5f566ba6e7feb4c3e00/sgp4-1.1.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "5dbae5ded65224cdc19c6110e41d0a97", "sha256": "eddf716ce89a346ba52cfbb81b0a67bb46cf25ad783bf16048bac16015a903d2" }, "downloads": -1, "filename": "sgp4-1.3.tar.gz", "has_sig": false, "md5_digest": "5dbae5ded65224cdc19c6110e41d0a97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32569, "upload_time": "2014-06-27T03:00:04", "url": "https://files.pythonhosted.org/packages/f6/e7/310fbfbd5269c701342cc128ce13b81979bafed4e26cfb9fbcb840f036b6/sgp4-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "c4141d99e56b8a8bd2657e651481d08a", "sha256": "1fb3cdbc11981a9ff34a032169f83c1f4a2877d1b6c295aed044e1d890b73892" }, "downloads": -1, "filename": "sgp4-1.4.tar.gz", "has_sig": false, "md5_digest": "c4141d99e56b8a8bd2657e651481d08a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32386, "upload_time": "2015-01-16T06:17:10", "url": "https://files.pythonhosted.org/packages/d2/00/3f3699203176017211a71fe16e3fa71bae946ac92ade77d5a2ffc5da8576/sgp4-1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c4141d99e56b8a8bd2657e651481d08a", "sha256": "1fb3cdbc11981a9ff34a032169f83c1f4a2877d1b6c295aed044e1d890b73892" }, "downloads": -1, "filename": "sgp4-1.4.tar.gz", "has_sig": false, "md5_digest": "c4141d99e56b8a8bd2657e651481d08a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32386, "upload_time": "2015-01-16T06:17:10", "url": "https://files.pythonhosted.org/packages/d2/00/3f3699203176017211a71fe16e3fa71bae946ac92ade77d5a2ffc5da8576/sgp4-1.4.tar.gz" } ] }