Name | pyRugged JSON |
Version |
1.1.1
JSON |
| download |
home_page | None |
Summary | A sensor to terrain mapping tool |
upload_time | 2025-07-30 09:54:31 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
keywords |
rugged
orekit
hipparchus
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<div align="center">
<a href="rugged"><img src="docs/source/images/rugged-logo.jpg" alt="PyRugged" title="PyRugged" width="60%"></a>
<h1>pyRugged, A sensor-to-terrain mapping tool</h1>
</div>
# What is it?
pyRugged is a python geolocation library used for satellite imagery (pyRugged is the python version of Rugged). It allows to map image coordinates (pixel, line) with geographic or projected
coordinates (lon, lat or x, y, h) by computing the intersection of the sensor's lines of sight with the Earth's terrain. This mapping is
essential for georeferencing raw satellite images. It is a key component when projecting an image on ground.
<div align="center">
<img src="docs/source/images/rugged-explained-2.png" alt="Rugged explained" width="300"/>
<figcaption>Effects of taking into account the DEM in the computation of latitude, longitude and altitude.</figcaption>
</div>
## Sensor-to-terrain mapping library
pyRugged provides the tools to model any type of sensors rigorously/physically, to process all the spacecraft navigation data
(position, velocity and attitude), and to take into account Digital
Elevation Models (DEM) to represent the surface of the Earth. It is on
this last point that Rugged gets its name from; Rugged deals with rugged
terrains.
pyRugged relies on [Orekit](https://https://www.orekit.org/) for all what concerns transformations between coordinate systems (inertial/terrestrial)
and orbital data but what pyRugged brings on top of Orekit, is the capacity
to deal with the DEM. Orekit could have been used for intersecting a line
of sight with the Earth's ellipsoid but it is not its mandate to know what
the Earth's surface looks like as it is a space dynamics library. It is in
this perspective that we decided to provide a separate package for those
users who look for a robust tool for geometric processing.
# Features
* Direct/inverse location
* Can support several types of Digital Elevation Models, including user-provided models
* Several intersection models algorithms available
* Both modern and legacy models for Earth rotation
* Lieske (1976), Wahr (1980),
* Mathews, Herring, Buffett (2002)
* Capitaine (2006)
* Complete set of corrections applied for greater accuracy
* δΔψ, δΔε on precession nutation (about 3m correction since 2013, steadily increasing)
* ΔUT₁, lod on proper rotation (can theoretically reach up to 400m)
* u, v pole wander (polhody), (about 15m correction)
* light time correction (about 1.2m)
* aberration of light correction (about 20m)
* line-of-sight curvature in geodetic coordinates, (0m at nadir, 10m at 30° dive angle, hundreds of meters for skimming los)
* atmospheric refraction
* Not limited to Earth
# Free (open source) software
pyRugged is freely available, with all related documentation and tests.
Rugged is distributed under the [Apache License version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) , a well known business-friendly license. This means
anybody can use it to build any application, free or not. There are no
strings attached to user code.
# Getting orekit jcc build
PyRugged relies on python wrapper for orekit build with JCC.
The project https://gitlab.eopf.copernicus.eu/geolib/orekit-jcc is aiming at providing tool to build orekit jcc packages.
Already build packages are available in https://gitlab.eopf.copernicus.eu/geolib/orekit-jcc/-/packages
# Who is behind it?
Rugged has been in development since 2014 inside [CS GROUP](https://www.csgroup.eu/) and is still used and maintained by its dual teams of space dynamics and image processing experts.
pyRugged, the python version of Rugged has been started in 2022.
Several major actors of space research and industry are interested into this project.
Rugged forum is available for any question or request about Rugged (see contact section).
We do our best to provide you with a quality code:
# Documentation
follow : [README](docs/README.md) to build sphinx doc
# Getting help
The main communication channel is our [forum](https://forum.orekit.org/). You
can report bugs and suggest new features in our
[issues tracking system](https://gitlab.cloud-espace.si.c-s.fr/RemoteSensing/pyrugged/-/issues). When
reporting security issues check the "This issue is confidential" box.
# Contributing
Please take a look at our
[contributing guidelines](CONTRIBUTING.md) if you're interested in helping!
Raw data
{
"_id": null,
"home_page": null,
"name": "pyRugged",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "rugged, orekit, hipparchus",
"author": null,
"author_email": "CS Group <pyrugged@csgroup.eu>",
"download_url": null,
"platform": null,
"description": " \n<div align=\"center\">\n <a href=\"rugged\"><img src=\"docs/source/images/rugged-logo.jpg\" alt=\"PyRugged\" title=\"PyRugged\" width=\"60%\"></a>\n\n<h1>pyRugged, A sensor-to-terrain mapping tool</h1>\n</div>\n\n# What is it?\n\npyRugged is a python geolocation library used for satellite imagery (pyRugged is the python version of Rugged). It allows to map image coordinates (pixel, line) with geographic or projected\ncoordinates (lon, lat or x, y, h) by computing the intersection of the sensor's lines of sight with the Earth's terrain. This mapping is\nessential for georeferencing raw satellite images. It is a key component when projecting an image on ground.\n\n<div align=\"center\">\n <img src=\"docs/source/images/rugged-explained-2.png\" alt=\"Rugged explained\" width=\"300\"/> \n <figcaption>Effects of taking into account the DEM in the computation of latitude, longitude and altitude.</figcaption>\n</div>\n\n## Sensor-to-terrain mapping library\n\n\npyRugged provides the tools to model any type of sensors rigorously/physically, to process all the spacecraft navigation data\n(position, velocity and attitude), and to take into account Digital\nElevation Models (DEM) to represent the surface of the Earth. It is on\nthis last point that Rugged gets its name from; Rugged deals with rugged\nterrains.\n\npyRugged relies on [Orekit](https://https://www.orekit.org/) for all what concerns transformations between coordinate systems (inertial/terrestrial)\nand orbital data but what pyRugged brings on top of Orekit, is the capacity\nto deal with the DEM. Orekit could have been used for intersecting a line\nof sight with the Earth's ellipsoid but it is not its mandate to know what\nthe Earth's surface looks like as it is a space dynamics library. It is in\nthis perspective that we decided to provide a separate package for those\nusers who look for a robust tool for geometric processing.\n\n\n# Features\n\n\n* Direct/inverse location\n* Can support several types of Digital Elevation Models, including user-provided models\n* Several intersection models algorithms available\n* Both modern and legacy models for Earth rotation\n\n * Lieske (1976), Wahr (1980),\n * Mathews, Herring, Buffett (2002)\n * Capitaine (2006)\n\n* Complete set of corrections applied for greater accuracy\n\n * \u03b4\u0394\u03c8, \u03b4\u0394\u03b5 on precession nutation (about 3m correction since 2013, steadily increasing)\n * \u0394UT\u2081, lod on proper rotation (can theoretically reach up to 400m)\n * u, v pole wander (polhody), (about 15m correction)\n * light time correction (about 1.2m)\n * aberration of light correction (about 20m)\n * line-of-sight curvature in geodetic coordinates, (0m at nadir, 10m at 30\u00b0 dive angle, hundreds of meters for skimming los)\n * atmospheric refraction\n\n* Not limited to Earth\n\n# Free (open source) software\n\n\npyRugged is freely available, with all related documentation and tests.\n\nRugged is distributed under the [Apache License version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) , a well known business-friendly license. This means\nanybody can use it to build any application, free or not. There are no\nstrings attached to user code.\n\n# Getting orekit jcc build\n\nPyRugged relies on python wrapper for orekit build with JCC.\n\nThe project https://gitlab.eopf.copernicus.eu/geolib/orekit-jcc is aiming at providing tool to build orekit jcc packages.\n\nAlready build packages are available in https://gitlab.eopf.copernicus.eu/geolib/orekit-jcc/-/packages\n\n\n\n# Who is behind it?\n\nRugged has been in development since 2014 inside [CS GROUP](https://www.csgroup.eu/) and is still used and maintained by its dual teams of space dynamics and image processing experts.\npyRugged, the python version of Rugged has been started in 2022.\n\nSeveral major actors of space research and industry are interested into this project.\n\nRugged forum is available for any question or request about Rugged (see contact section).\n\nWe do our best to provide you with a quality code:\n\n# Documentation\n\nfollow : [README](docs/README.md) to build sphinx doc\n\n# Getting help\n\nThe main communication channel is our [forum](https://forum.orekit.org/). You\ncan report bugs and suggest new features in our\n[issues tracking system](https://gitlab.cloud-espace.si.c-s.fr/RemoteSensing/pyrugged/-/issues). When\nreporting security issues check the \"This issue is confidential\" box.\n\n# Contributing\n\nPlease take a look at our\n[contributing guidelines](CONTRIBUTING.md) if you're interested in helping!\n",
"bugtrack_url": null,
"license": null,
"summary": "A sensor to terrain mapping tool",
"version": "1.1.1",
"project_urls": {
"Changelog": "https://gitlab.eopf.copernicus.eu/geolib/pyrugged/-/blob/main/CHANGELOG.md",
"Documentation": "https://geolib.pages.eopf.copernicus.eu/pyrugged/",
"Homepage": "https://gitlab.eopf.copernicus.eu/geolib/pyrugged",
"Issues": "https://gitlab.eopf.copernicus.eu/geolib/pyrugged/-/issues",
"Repository": "https://gitlab.eopf.copernicus.eu/geolib/pyrugged.git"
},
"split_keywords": [
"rugged",
" orekit",
" hipparchus"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2e15e1b2a1886b3626caaa2676fd5bf08d586250ef27ba755f99aca4decbb09d",
"md5": "e7c82716329966a0d8c633da331f88b7",
"sha256": "86194d966868b7e2e1f19d7a8c75e086094b0229409d41d0c8636910b312df1b"
},
"downloads": -1,
"filename": "pyrugged-1.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "e7c82716329966a0d8c633da331f88b7",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 21516334,
"upload_time": "2025-07-30T09:54:31",
"upload_time_iso_8601": "2025-07-30T09:54:31.289645Z",
"url": "https://files.pythonhosted.org/packages/2e/15/e1b2a1886b3626caaa2676fd5bf08d586250ef27ba755f99aca4decbb09d/pyrugged-1.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-30 09:54:31",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pyrugged"
}