Skip to content

Latest commit

History

105 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

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

About

Rational Polynomial Camera Model

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages