Skip to main content

A sensor to terrain mapping tool

Project description

PyRugged

pyRugged, A sensor-to-terrain mapping tool

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.

Rugged explained
Effects of taking into account the DEM in the computation of latitude, longitude and altitude.

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 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 , 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 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 to build sphinx doc

Getting help

The main communication channel is our forum. You can report bugs and suggest new features in our issues tracking system. When reporting security issues check the "This issue is confidential" box.

Contributing

Please take a look at our contributing guidelines if you're interested in helping!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrugged-1.1.5.tar.gz (32.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyrugged-1.1.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (21.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pyrugged-1.1.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (21.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyrugged-1.1.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (21.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyrugged-1.1.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (21.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

File details

Details for the file pyrugged-1.1.5.tar.gz.

File metadata

  • Download URL: pyrugged-1.1.5.tar.gz
  • Upload date:
  • Size: 32.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pyrugged-1.1.5.tar.gz
Algorithm Hash digest
SHA256 896a8206dd3f56f1e0857731a53c4ccccbb050c171902da9c6677ca3e8076654
MD5 1986dad4b806d9aca43ba6eaee751302
BLAKE2b-256 f17fd847123fe8bea084dbc36b8c88611f3b8496b20ca333f2ffe0a1d8d7a5a1

See more details on using hashes here.

File details

Details for the file pyrugged-1.1.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyrugged-1.1.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 76c2b099effe22fc9cb914d451a2259fdea1277165fa8c90d91f1274c406fbab
MD5 df0142386dab1ee4c3f27ef61b91ee8f
BLAKE2b-256 e8ea7e9f9e7c66d51ff2385f8de5e3c46e57c455a685c2fc10ab00e60528d4e1

See more details on using hashes here.

File details

Details for the file pyrugged-1.1.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyrugged-1.1.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 04dcb1cc9d5e15ef3f27b6309a74d876a0601aafc4e88bf5bc547fa96cf42f4d
MD5 2e2e02efbc402b1ee9a9ec9e4eb94e93
BLAKE2b-256 159adb704e57fdfbd79dfb7edd828ff10e16e5b3626a480a2258e04b654f561b

See more details on using hashes here.

File details

Details for the file pyrugged-1.1.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyrugged-1.1.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2d8a5ffe9a208126e7d9364d00340ac8c77a6ca4176e5c022bb0450a96cf971c
MD5 bf27dc3e0017b69e412d4f43d73122d9
BLAKE2b-256 95a1a999db995c80be167808d71e9457059988fe9c61aa5e0b83a00f17601256

See more details on using hashes here.

File details

Details for the file pyrugged-1.1.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyrugged-1.1.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7e1c575791a09f29b941b5e82a41deacf0829219905c65fa908b1534fb889aa3
MD5 f1af016a7687788d62a7b63bfd58c867
BLAKE2b-256 6349fe8c3f237c72a792724b39bc75bd3bb97801f3f4902c99fe1d80fac0f02d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page