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.3.0.tar.gz (36.8 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.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pyrugged-1.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyrugged-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyrugged-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyrugged-1.3.0.tar.gz
Algorithm Hash digest
SHA256 28e175059e8e04a8f7cb09fd5ba0a0a2f25a034f3e348d36a70742cc87ce14b6
MD5 40a8f654d85177a1878ea6e7442090ea
BLAKE2b-256 0341f5bb1b05dd96229d21556aeceb811f4c4b5a3e67429a5aa9738c12260fb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyrugged-1.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4f629cfbecf19a35be9a7695da3b0ff09ffd612ee77862f0fba23245a948c2f7
MD5 ac23607d48c3f2617f9d27b1da276367
BLAKE2b-256 7176a13bf0376d3dd6c88039d5ad75f6bc29c6f6cc283714c6281f5942dd520f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyrugged-1.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 333bc3942f0513713def17affb5441d0303449ed6b8bc0e18427d36160a2df05
MD5 8ea2147020111f191287b0d5bc8084a4
BLAKE2b-256 e8ac457b80a5b8c95c67d1ce4d218938c027ef5ca23a36a065b70874db4bbedf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyrugged-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ebf3c77447cdd5d4ebd7581b3bac83c3138a59853bc6c06b76f31c653ddba6ce
MD5 5c1b282088d273e1589c5b4472a2ff93
BLAKE2b-256 09a15f1264e207bb191e8edfd3a6d71247d63c11679d8e0e969c48906a6c3a97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyrugged-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 adb6b10f4870b6824c8a5e9fab0c79cf9e7e18d2f6349bb6f5325e7eaaaf03df
MD5 43ffaa9961341774ba015d7445e26718
BLAKE2b-256 63b0ef763ea5ea82c4eeda6dc62f1ca0570a01a2933c1af7594ef211ea586207

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