Skip to main content

Rational Polynomial Camera Model for optical satellite images.

Project description

RPCM - Rational Polynomial Camera Model

Python implementation of the Rational Polynomial Camera (RPC) model for optical satellite images.

Carlo de Franchis, Gabriele Facciolo, Enric Meinhardt-Llopis (Centre Borelli, ENS Paris-Saclay, Université Paris-Saclay) 2013-21

rpcm is a Python library and command line tool for geolocating satellite images with RPCs. Its main source code repository is https://github.com/centreborelli/rpcm.

Installation

To install rpcm from PyPI:

pip install rpcm

Alternatively, to install rpcm from sources:

git clone https://github.com/centreborelli/rpcm.git
cd rpcm
pip install -e .

Usage

rpcm is a Python library that can be imported into other applications. A Jupyter notebook tutorial covering the main features of the library is included (TODO).

rpcm also comes with a Command Line Interface (CLI). The rpcm CLI has an extensive help that can be printed with the -h and --help switches.

$ rpcm -h
usage: rpcm [-h] {projection, localization, crop, footprint, angle} ...

Some CLI usage examples can be found in tests/tests.sh.

There are several subcommands, projection, localization, crop, footprint, angle, each of which has its own help.

Projection

$ rpcm projection -h
usage: rpcm projection [-h] [--lon LON] [--lat LAT] [-z Z] [--points POINTS]
                       [--crop CROP] [--svg SVG]
                       img

positional arguments:
  img              path or url to a GeoTIFF image file with RPC metadata

optional arguments:
  -h, --help       show this help message and exit
  --lon LON        longitude
  --lat LAT        latitude
  -z Z             altitude, in meters
  --points POINTS  path to a 2/3 columns txt file: lon lat [z]
  --crop CROP      path to a tif crop previously produced by rpcm. Image
                   coordinates are computed with respect to this crop.
  --svg SVG        path to an svg file where to plot projected points.

Localization

$ rpcm localization -h
usage: rpcm localization [-h] [-x X] [-y Y] [-z Z] [--points POINTS]
                     [--crop CROP]
                     img

positional arguments:
  img              path or url to a GeoTIFF image file with RPC metadata

optional arguments:
  -h, --help       show this help message and exit
  -x X             horizontal pixel coordinate (i.e. column index)
  -y Y             vertical pixel coordinate (i.e. row index)
  -z Z             altitude, in meters
  --points POINTS  path to a 3 columns txt file: x y z
  --crop CROP      path to a tif crop previously produced by rpcm. Image
                   coordinates are interpreted with respect to this crop.

Crop

$ rpcm crop -h
usage: rpcm crop [-h] [-z Z] img aoi crop

positional arguments:
  img         path to a GeoTIFF image file with RPC metadata
  aoi         path to geojson file defining the area of interest (AOI)
  crop        path to the output cropped tif image

optional arguments:
  -h, --help  show this help message and exit
  -z Z        altitude of the crop center

Footprint

$ rpcm footprint -h
usage: rpcm footprint [-h] [-z Z] img

positional arguments:
  img         path or url to a GeoTIFF image file with RPC metadata

optional arguments:
  -h, --help  show this help message and exit
  -z Z        altitude, in meters

Angle

$ rpcm angle -h
usage: rpcm angle [-h] [--lon LON] [--lat LAT] [-z Z] img1 img2

positional arguments:
  img1        path to a GeoTIFF image file with RPC metadata
  img2        path to a GeoTIFF image file with RPC metadata

optional arguments:
  -h, --help  show this help message and exit
  --lon LON   longitude
  --lat LAT   latitude
  -z Z        altitude

Common issues

Warning: A rasterio issue on Ubuntu causes the need for this environment variable (more info on rasterio's github):

export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

jwl_rpcm-1.4.8-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file jwl_rpcm-1.4.8-py3-none-any.whl.

File metadata

  • Download URL: jwl_rpcm-1.4.8-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.8

File hashes

Hashes for jwl_rpcm-1.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d537fede55e4ac735b3eb97f9d9e40f19973c1f8fa6f985c879a721af7a6e52a
MD5 1247ad96ee667539fecd651ec91b1ff2
BLAKE2b-256 d78e39d0d6807d7e3643de49ae401d55718d6c1a1705f70e8d5838d72ed1ef0e

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