Skip to main content

A package for transforming remote sensing images between sensor and map geometry.

Project description


Transform remote sensing images between sensor and map geometry.


See also the latest coverage report and the pytest HTML report.


  • transformation from sensor geometry (image coordinates) to map geometry (map coordinates)
  • transformation from map geometry (map coordinates) to sensor geometry (image coordinates)


The sensormapgeo package was developed within the context of the EnMAP project supported by the DLR Space Administration with funds of the German Federal Ministry of Economic Affairs and Energy (on the basis of a decision by the German Bundestag: 50 EE 1529) and contributions from DLR, GFZ and OHB System AG.

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.


0.6.2 (2022-03-10)

  • Enabled GDAL exceptions in the entire project.

0.6.1 (2021-11-26)

  • Increased minimal version of pyresample to avoid ImportError.
  • Refactored unittests to pytest (new structure, raw assertions, …).
  • Added subtests bases on pytest-subtests.

0.6.0 (2021-11-26)

  • Replaced deprecated gdalnumeric import.
  • !7: Disabled bilinear resampling for map to sensor geometry transformation due to upstream incompatibility (closes #7).
  • Removed pyresample version pinning which fixes multiple DeprecationWarnings.
  • !8: Tests are now called via pytest instead of nosetest. This improves stability and test output and adds nice reports. Coverage now works in multiprocessing after properly closing and joining multiprocessing.Pool and adding .coveragerc.
  • Fixed some warnings.

0.5.0 (2021-09-27)

  • CI now uses Mambaforge. Revised test_sensormapgeo_install CI job.
  • ‘make lint’ now also directly prints the logs.
  • Fixed deprecated gdalnumeric import.
  • Updated minimal version of py_tools_ds to 0.18.0.
  • Switched to Apache 2.0 license.

0.4.8 (2020-02-08)

  • Fixed wrong package name in environment_sensormapgeo.yml.
  • Fixed remaining coverage artifacts after running ‘make clean’.
  • Fixed deprecated gdal import.
  • Pinned pyresample to <1.17.0 due to

0.4.7 (2020-12-10)

  • Use ‘conda activate’ instead of deprecated ‘source activate’.
  • Added URL checker and corresponding CI job.
  • Fixed dead links.
  • Updated installation procedure documentation.

0.4.6 (2020-10-12)

  • Use SPDX license identifier and set all files to GPL3+ to be consistent with license headers in the source files.
  • Excluded tests from being installed via ‘pip install’.
  • Set development status to ‘beta’.

0.4.5 (2020-09-15)

  • Replaced deprecated HTTP links.

0.4.4 (2020-09-04)

  • Fixed issue #6 (Deadlock within SensorMapGeometryTransformer3D when running in multiprocessing for resampling algorithms ‘near’ and ‘gauss’.)
  • Added pebble to pip requirements.

0.4.3 (2020-09-02)

  • create_area_def() now gets an EPSG string from sensormapgeo instead of a PROJ4 dictionary to get rid of the deprecated PROJ4 format.

0.4.2 (2020-09-01)

  • Some adjustments to recent changes in py_tools_ds and pyproj.
  • Added pyproj as direct dependency to requirements.

0.4.1 (2020-08-17)

  • Fixed wrong import statement.
  • Fixed numpy deprecation warning.

0.4.0 (2020-08-07)

  • Revised the way how multiprocessing is called in the 3D transformer (replaced with pool.imap_unordered without initializer). This is as fast as before but has a much smaller memory consumption enabling the algorithm to also run on smaller machines while still highly benefiting from more CPUs. Fixes issue #5.

0.3.5 (2020-08-07)

  • Fixed VisibleDeprecationWarning.

0.3.4 (2020-08-07)

  • Fixed a NotADirectoryError on Windows, possibly due to race conditions.

0.3.3 (2020-05-08)

  • Replaced workaround for warning with warnings.catch_warning.

0.3.2 (2020-05-08)

  • Suppressed another warning coming from pyresample.

0.3.1 (2020-05-08)

  • Fixed a warning coming from pyresample.

0.3.0 (2020-05-08)

  • Converted all type hints to Python 3.6 style. Dropped Python 3.5 support. Fixed code duplicate.
  • Split sensormapgeo module into transformer_2d and transformer_3d.
  • SensorMapGeometryTransformer.compute_areadefinition_sensor2map() now directly uses pyresample instead of GDAL if the target resolution is given.
  • SensorMapGeometryTransformer3D.to_map_geometry() now computes a common area definition only ONCE which saves computation time and increases stability.
  • The computation of the common extent in 3D geolayers now works properly if target projection is not set to LonLat.
  • Added paramter tgt_coordgrid to to_map_geometry methods to automatically move the output extent to a given coordinate grid.
  • compute_areadefinition_sensor2map() now also adds 1 pixel around the output extent in the pyresample version just like in the GDAL version.
  • Added some input validation.

0.2.2 (2020-03-10)

  • Fix for always returning 0.1.0 when calling sensormapgeo.__version__.

0.2.1 (2020-03-10)

  • Fix for always returning returning float64 output data type in case of bilinear resampling.
  • Added output data type verification to tests.
  • Fix for an exception if the output of get_proj4info() contains trailing white spaces (fixed by an update of py_tools_ds).
  • Improved tests.
  • Set channel priority to strict.
  • Force libgdal to be installed from conda-forge.
  • Fixed broken documentation link

0.2.0 (2020-01-06)

  • Added continous integration.
  • Updated readme file.
  • Added PyPI release.

0.1.0 (2020-01-06)

  • First release on GitLab.

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

sensormapgeo-0.6.2.tar.gz (26.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page