{ "info": { "author": "Carlo de Franchis", "author_email": "carlo.de-franchis@ens-cachan.fr", "bugtrack_url": null, "classifiers": [], "description": "# RPCM - Rational Polynomial Camera Model\n\nPython implementation of the Rational Polynomial Camera (RPC) model for optical satellite images.\n\n[Carlo de Franchis](mailto:carlo.de-franchis@ens-cachan.fr), Gabriele Facciolo, Enric Meinhardt-Llopis\n(CMLA, ENS Cachan, Universit\u00e9 Paris-Saclay) 2013-19\n\n`rpcm` is a Python library and command line tool for geolocating satellite images\nwith RPCs. Its main source code repository is https://github.com/cmla/rpcm.\n\n\n# Installation\n\nTo install `rpcm` from PyPI:\n\n pip install rpcm\n\nAlternatively, to install `rpcm` from sources:\n\n git clone https://github.com/cmla/rpcm.git\n cd rpcm\n pip install -e .\n\n\n# Usage\n\n`rpcm` is a Python library that can be imported into other applications. A\nJupyter notebook tutorial covering the main features of the library is included (TODO).\n\n`rpcm` also comes with a Command Line Interface (CLI). The `rpcm` CLI has an\nextensive help that can be printed with the `-h` and `--help` switches.\n\n $ rpcm -h\n usage: rpcm [-h] {projection, localization, crop, footprint, angle} ...\n\nSome CLI usage examples can be found in `tests/tests.sh`.\n\nThere are several subcommands, `projection`, `localization`, `crop`,\n`footprint`, `angle`, each of which has its own help.\n\n\n## Projection\n\n $ rpcm projection -h\n usage: rpcm projection [-h] [--lon LON] [--lat LAT] [-z Z] [--points POINTS]\n [--crop CROP] [--svg SVG]\n img\n\n positional arguments:\n img path or url to a GeoTIFF image file with RPC metadata\n\n optional arguments:\n -h, --help show this help message and exit\n --lon LON longitude\n --lat LAT latitude\n -z Z altitude, in meters\n --points POINTS path to a 2/3 columns txt file: lon lat [z]\n --crop CROP path to a tif crop previously produced by rpcm. Image\n coordinates are computed with respect to this crop.\n --svg SVG path to an svg file where to plot projected points.\n\n\n## Localization\n\n $ rpcm localization -h\n usage: rpcm localization [-h] [-x X] [-y Y] [-z Z] [--points POINTS]\n [--crop CROP]\n img\n\n positional arguments:\n img path or url to a GeoTIFF image file with RPC metadata\n\n optional arguments:\n -h, --help show this help message and exit\n -x X horizontal pixel coordinate (i.e. column index)\n -y Y vertical pixel coordinate (i.e. row index)\n -z Z altitude, in meters\n --points POINTS path to a 3 columns txt file: x y z\n --crop CROP path to a tif crop previously produced by rpcm. Image\n coordinates are interpreted with respect to this crop.\n\n\n## Crop\n\n $ rpcm crop -h\n usage: rpcm crop [-h] [-z Z] img aoi crop\n\n positional arguments:\n img path to a GeoTIFF image file with RPC metadata\n aoi path to geojson file defining the area of interest (AOI)\n crop path to the output cropped tif image\n\n optional arguments:\n -h, --help show this help message and exit\n -z Z altitude of the crop center\n\n\n## Footprint\n\n $ rpcm footprint -h\n usage: rpcm footprint [-h] [-z Z] img\n\n positional arguments:\n img path or url to a GeoTIFF image file with RPC metadata\n\n optional arguments:\n -h, --help show this help message and exit\n -z Z altitude, in meters\n\n\n## Angle\n\n $ rpcm angle -h\n usage: rpcm angle [-h] [--lon LON] [--lat LAT] [-z Z] img1 img2\n\n positional arguments:\n img1 path to a GeoTIFF image file with RPC metadata\n img2 path to a GeoTIFF image file with RPC metadata\n\n optional arguments:\n -h, --help show this help message and exit\n --lon LON longitude\n --lat LAT latitude\n -z Z altitude\n\n\n# Common issues\n\n_Warning_: A `rasterio` issue on Ubuntu causes the need for this environment\nvariable (more info on [rasterio's\ngithub](https://github.com/mapbox/rasterio/issues/942)):\n\n export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cmla/rpcm", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "rpcm", "package_url": "https://pypi.org/project/rpcm/", "platform": "", "project_url": "https://pypi.org/project/rpcm/", "project_urls": { "Homepage": "https://github.com/cmla/rpcm" }, "release_url": "https://pypi.org/project/rpcm/1.4.7/", "requires_dist": [ "numpy", "pyproj", "geojson", "rasterio[s3] (>=1.0)", "srtm4 (>=1.0.2)", "pytest ; extra == 'test'" ], "requires_python": ">=3", "summary": "Rational Polynomial Camera Model for optical satellite images.", "version": "1.4.7", "yanked": false, "yanked_reason": null }, "last_serial": 8255219, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "f6c6f359ca0e2746ec11f2a86a3d4cbb", "sha256": "e1cf0efc1a351d2efcecbda77e52060643af0b7eebf25a84e9ccb5834cdd3b69" }, "downloads": -1, "filename": "rpcm-1.1.0.tar.gz", "has_sig": false, "md5_digest": "f6c6f359ca0e2746ec11f2a86a3d4cbb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 10626, "upload_time": "2019-06-25T23:01:51", "upload_time_iso_8601": "2019-06-25T23:01:51.289387Z", "url": "https://files.pythonhosted.org/packages/1e/6f/94bd07a2dc8df29f3d4a6bc1abcbe20f7087abbcaa0f39fbcfadc3147481/rpcm-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "e8e6004f601fef1eb675d94545c9860f", "sha256": "a6d1769592c57db578264a8aebf4b59013a7e59d702a0a63825acdda74c9b01d" }, "downloads": -1, "filename": "rpcm-1.2.0.tar.gz", "has_sig": false, "md5_digest": "e8e6004f601fef1eb675d94545c9860f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 11181, "upload_time": "2019-07-22T01:06:09", "upload_time_iso_8601": "2019-07-22T01:06:09.794072Z", "url": "https://files.pythonhosted.org/packages/5c/23/68e89cba181b718ee26183599edb9ff8a174b17d618b124bcb8489b6831f/rpcm-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "39e6e9badf946c80c398935ee896934c", "sha256": "098c3ec5e0d060fdcfe626cf9ac177a6864ed700d47fac0f9444203f87403595" }, "downloads": -1, "filename": "rpcm-1.3.0.tar.gz", "has_sig": false, "md5_digest": "39e6e9badf946c80c398935ee896934c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 11199, "upload_time": "2019-07-22T01:41:01", "upload_time_iso_8601": "2019-07-22T01:41:01.789765Z", "url": "https://files.pythonhosted.org/packages/f4/c2/d2fed90f99d4ea30209b6c2a0bcb851e8b5f63063d917864f6a4ce2d5106/rpcm-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "bee5e2cf3578d06ca33cd8f2d9829654", "sha256": "2c75b2de4f7455c3aac2810cb4a0d90b51516d0d028721870121cb41fc5eaa2d" }, "downloads": -1, "filename": "rpcm-1.3.1.tar.gz", "has_sig": false, "md5_digest": "bee5e2cf3578d06ca33cd8f2d9829654", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 11243, "upload_time": "2019-07-22T21:44:37", "upload_time_iso_8601": "2019-07-22T21:44:37.694211Z", "url": "https://files.pythonhosted.org/packages/ca/f2/0b2460f9d21503960f30e09e282de5594fd43ef24a59f889d898aee87d3f/rpcm-1.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "127c8978b291c6afb760ba7aaf4169bf", "sha256": "d152304c7485fc0f73d73f4fb12be2beff4f1e5097c4f77a701baffd372c0a0d" }, "downloads": -1, "filename": "rpcm-1.4.0.tar.gz", "has_sig": false, "md5_digest": "127c8978b291c6afb760ba7aaf4169bf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 13117, "upload_time": "2019-07-30T13:24:44", "upload_time_iso_8601": "2019-07-30T13:24:44.979679Z", "url": "https://files.pythonhosted.org/packages/e6/b9/37287cde26e2f0e7a775b0a75d4b705b953f2a4ca6aa8aaa067a38e46cfb/rpcm-1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "1c6823a6669431a6650cc759b23a43fd", "sha256": "7c99fda460f14e178b01bc7c4a8dcf1cdbbf742ea6df4d8120f7077919995ed4" }, "downloads": -1, "filename": "rpcm-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1c6823a6669431a6650cc759b23a43fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 15071, "upload_time": "2019-09-18T11:45:15", "upload_time_iso_8601": "2019-09-18T11:45:15.167534Z", "url": "https://files.pythonhosted.org/packages/8b/de/3e7215c43cbc5e5c6e3057fe288927b571e1b6fd5c474f16d7e3fe45509b/rpcm-1.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "13c97ea5902373ba3c49f35b340b6758", "sha256": "fbba703a8cf03fc549d18b9eab1b482865b914cdab02167ed36d8306d4689793" }, "downloads": -1, "filename": "rpcm-1.4.1.tar.gz", "has_sig": false, "md5_digest": "13c97ea5902373ba3c49f35b340b6758", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 13996, "upload_time": "2019-09-18T11:45:17", "upload_time_iso_8601": "2019-09-18T11:45:17.577126Z", "url": "https://files.pythonhosted.org/packages/21/a9/74a53b56e0cbd90628200cdfc0d3701b3527dde189907f674d9c3c086087/rpcm-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "30887510365e2bab00211a4d2a0d8ef6", "sha256": "e6b6825cc1b7dea6e371f481e3b4c4571e87f89a6b9bb1ec52f2dff5c3217ae6" }, "downloads": -1, "filename": "rpcm-1.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "30887510365e2bab00211a4d2a0d8ef6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 15411, "upload_time": "2019-10-11T21:47:06", "upload_time_iso_8601": "2019-10-11T21:47:06.274787Z", "url": "https://files.pythonhosted.org/packages/83/31/67ce359f1ad0318e3ff74d6abb26081bdbe1bbd2147e648d6cd79cbfecf9/rpcm-1.4.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e44030151e8bed576d20079d905a6f1f", "sha256": "feb53ae97ed830a5ff9262e69c3fa3e332dcce65a5667aa6218814a32b3fb252" }, "downloads": -1, "filename": "rpcm-1.4.3.tar.gz", "has_sig": false, "md5_digest": "e44030151e8bed576d20079d905a6f1f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 14333, "upload_time": "2019-10-11T21:47:07", "upload_time_iso_8601": "2019-10-11T21:47:07.542716Z", "url": "https://files.pythonhosted.org/packages/59/ea/242995a103d4c013b206aeb8de185dec78de83ede71f7e74aec2dbf20117/rpcm-1.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "8431cfb201840a34a7c23096e7943fbb", "sha256": "7c8c72efba6c3a7d27a526ed880c9d5f467450650d50b31ee64a5144bc3d0a16" }, "downloads": -1, "filename": "rpcm-1.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8431cfb201840a34a7c23096e7943fbb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 15812, "upload_time": "2019-10-24T13:28:59", "upload_time_iso_8601": "2019-10-24T13:28:59.333635Z", "url": "https://files.pythonhosted.org/packages/b4/5a/0f11874a32bc1db75a521931a93de391af474e5ed31b0a1d73d295fdc6e5/rpcm-1.4.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c4a23a6640612f8613c6a7aa07d83de7", "sha256": "960e0935b1e556aa06abcf3bb69ce186308c2713ea77c5dc69f615267c70f31d" }, "downloads": -1, "filename": "rpcm-1.4.4.tar.gz", "has_sig": false, "md5_digest": "c4a23a6640612f8613c6a7aa07d83de7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14736, "upload_time": "2019-10-24T13:29:00", "upload_time_iso_8601": "2019-10-24T13:29:00.734495Z", "url": "https://files.pythonhosted.org/packages/d5/52/c91286ab89dce0ef23de6f4bbfd93d5b38e8a367505bebf07a579555a774/rpcm-1.4.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.5": [ { "comment_text": "", "digests": { "md5": "89534cb9062146cb47fe0575bbbfebea", "sha256": "8280219964bfd0011c9e2e95bb543bc6661b00a38e124636e2f4048edda95650" }, "downloads": -1, "filename": "rpcm-1.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "89534cb9062146cb47fe0575bbbfebea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 15824, "upload_time": "2019-12-06T15:14:52", "upload_time_iso_8601": "2019-12-06T15:14:52.436565Z", "url": "https://files.pythonhosted.org/packages/20/94/518f8e8057a00eb05ab0d42754cbff9ad1af937f2bad63d1474f8e6962e2/rpcm-1.4.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d5dfdf63b2e754d2c7e790d1d2eb3e96", "sha256": "2d4d708bdde3de00eaaa470ceb36040e56158acc3c14ac8de37e810430be9b1a" }, "downloads": -1, "filename": "rpcm-1.4.5.tar.gz", "has_sig": false, "md5_digest": "d5dfdf63b2e754d2c7e790d1d2eb3e96", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14752, "upload_time": "2019-12-06T15:14:53", "upload_time_iso_8601": "2019-12-06T15:14:53.634212Z", "url": "https://files.pythonhosted.org/packages/99/41/4e44c71fb3dabd9b635cdeb22a6b48d6716c96439a35d7992ed0671443a8/rpcm-1.4.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.6": [ { "comment_text": "", "digests": { "md5": "e1583cfba5acbc962fd117abb850cf0e", "sha256": "5aab3437c2849827de61b882ef2417d2d35a593f7f8b29b4f0c2bbf0cd24057f" }, "downloads": -1, "filename": "rpcm-1.4.6-py3-none-any.whl", "has_sig": false, "md5_digest": "e1583cfba5acbc962fd117abb850cf0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 15969, "upload_time": "2020-01-30T09:37:02", "upload_time_iso_8601": "2020-01-30T09:37:02.372849Z", "url": "https://files.pythonhosted.org/packages/62/3d/c2348b29e1cf0dfd5826641f5cdc97046d374e3fda7cafa120114a1f84d1/rpcm-1.4.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bc3e17921987852dc1689718afbbe7b3", "sha256": "ffbb58194699e3f4ae3217d47ffc27e1ba89002da73155ded0813e9eab9fd5cb" }, "downloads": -1, "filename": "rpcm-1.4.6.tar.gz", "has_sig": false, "md5_digest": "bc3e17921987852dc1689718afbbe7b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14879, "upload_time": "2020-01-30T09:37:03", "upload_time_iso_8601": "2020-01-30T09:37:03.924435Z", "url": "https://files.pythonhosted.org/packages/92/a2/59918b154554089353e88ca3ffc3e7b0c6b740971413248ce07f8d596064/rpcm-1.4.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.7": [ { "comment_text": "", "digests": { "md5": "b59fb016cd86e925b36591c345dae849", "sha256": "29fd58038e5d18837abd8617f343e600c443002c462948f70db872a22212507d" }, "downloads": -1, "filename": "rpcm-1.4.7-py3-none-any.whl", "has_sig": false, "md5_digest": "b59fb016cd86e925b36591c345dae849", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16215, "upload_time": "2020-09-23T18:58:17", "upload_time_iso_8601": "2020-09-23T18:58:17.542776Z", "url": "https://files.pythonhosted.org/packages/9b/be/521947c306e02dd2faf29b5b87e03ea35941f93ef5cb551b6a81c99923fa/rpcm-1.4.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f13566f66d2e87948d1d90bc0a6b2566", "sha256": "283e8d86e2c9145f9bacb2c1e84e79b4238b4d5c141a34a3849871dee6721378" }, "downloads": -1, "filename": "rpcm-1.4.7.tar.gz", "has_sig": false, "md5_digest": "f13566f66d2e87948d1d90bc0a6b2566", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15120, "upload_time": "2020-09-23T18:58:18", "upload_time_iso_8601": "2020-09-23T18:58:18.614614Z", "url": "https://files.pythonhosted.org/packages/5f/e3/e11ea128a472693624125c57da3ccea8b7b45f2850b8f515fec22df93e48/rpcm-1.4.7.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b59fb016cd86e925b36591c345dae849", "sha256": "29fd58038e5d18837abd8617f343e600c443002c462948f70db872a22212507d" }, "downloads": -1, "filename": "rpcm-1.4.7-py3-none-any.whl", "has_sig": false, "md5_digest": "b59fb016cd86e925b36591c345dae849", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16215, "upload_time": "2020-09-23T18:58:17", "upload_time_iso_8601": "2020-09-23T18:58:17.542776Z", "url": "https://files.pythonhosted.org/packages/9b/be/521947c306e02dd2faf29b5b87e03ea35941f93ef5cb551b6a81c99923fa/rpcm-1.4.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f13566f66d2e87948d1d90bc0a6b2566", "sha256": "283e8d86e2c9145f9bacb2c1e84e79b4238b4d5c141a34a3849871dee6721378" }, "downloads": -1, "filename": "rpcm-1.4.7.tar.gz", "has_sig": false, "md5_digest": "f13566f66d2e87948d1d90bc0a6b2566", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15120, "upload_time": "2020-09-23T18:58:18", "upload_time_iso_8601": "2020-09-23T18:58:18.614614Z", "url": "https://files.pythonhosted.org/packages/5f/e3/e11ea128a472693624125c57da3ccea8b7b45f2850b8f515fec22df93e48/rpcm-1.4.7.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }