The EnMAP-Box is free and open source QGIS Plugin to visualize and process remote sensing raster data. It is particularly developed to handle imaging spectroscopy data, as from the upcoming EnMAP sensor.
-
an easy-to-use graphical user interface for the visualization of vector and raster data sources in parallel and in spatially linked maps.
-
collection and visualisation of spectral profiles spectral libraries. Spectral profiles can come from different sources, e.g. raster images, field spectrometer or table-sheets.
-
enhances the QGIS Processing Framework with many algorithms commonly used in remote sensing and imaging spectroscopy, e.g. support vector machines or random forest based raster classification, regression, cluster approaches from the scikit-learn library.
-
applications specific to imaging spectroscopy and the EnMAP program, e.g. a simulation of spectral profiles (IIVM), atmospheric correction of EnMAP data, mapping of geological classes from EnMAP data and more...
Documentation: http://enmap-box.readthedocs.io
Git Repository: https://github.com/EnMAP-Box/enmap-box
Use the following commands to clone the EnMAP-Box and update its submodules:
git clone --recurse-submodules git@github.com:EnMAP-Box/enmap-box.git
# alternatively, but not recommended, you can use https as well:
# git clone --recurse-submodules https://github.org:EnMAP-Box/enmap-box.git
cd enmap-box
git config --local include.path ../.gitconfig
# compile the EnMAP-Box resource files and download QGIS resource files to display icons
python scripts/setup_repository.py
# start the EnMAP-Box
python enmapbox
In the following we refer to the EnMAP-Box repository https://github.com/EnMAP-Box/enmap-box.git
Replace it with your own EnMAP-Box fork from which you can create pull requests.
-
Ensure that your environment has git available and can start QGIS by calling
qgis
. -
Clone the EnMAP-Box repository.
git clone git@bitbucket.org:hu-geomatics/enmap-box.git
You might also use the url
https://github.com/EnMAP-Box/enmap-box.git
instead. However, ssh access is preferred. -
Initialize submodules and pull their code, which is hosted in different repositories
cd enmapbox git submodule update --init --remote --recursive
-
Once initialized, you can update submodules at any later point by:
git submodule update --remote
Of course cloning and submodule updating can be done in one step:
git clone --recurse-submodules git@bitbucket.org:hu-geomatics/enmap-box.git
At any later point, you can pull in submodule updates by
git submodule update --remote
Doing so automatically when pulling the EnMAP-Box project can be enabled by:
git config --set submodule.recurse true
This setting (and maybe more in future) is already defined in the
.gitconfig
. You can enable it for your local repository by:git config --local include.path ../.gitconfig
If you have writing access to a submodule's repository, you can push changes upstream by:
cd <submodule> git add . git commit -m "my changes" git push origin HEAD:master
Finally, announce changes in a submodule to the EnMAP-Box (super) project by:
cd <EnMAP-Box root> git add <submodule path> git commit -m "added submodule updates" git push
-
Compile resource files and download the test data:
python scripts/setup_repository.py
-
Now you can start the EnMAP-Box from shell by:
python enmapbox
Our online documentation at http://enmap-box.readthedocs.io describes how you can support the development of the EnMAP-Box.
Please keep the code in a good shape.
You might use flake8 to check if the EnMAP-Box code applies to the rules defined in
.flake8
:
flake8
To check staged files only, run:
flake8 $(git status -s | grep -E '\.py$' | cut -c 4-)
The EnMAP-Box is released under the GNU Public License (GPL) Version 3 or above. A copy of this licence can be found in the LICENSE.txt file that is part of the EnMAP-Box plugin folder and the EnMAP-Box repository, and also at http://www.gnu.org/licenses/
Developing the EnMAP-Box under this license means that you can (if you want to) inspect and modify the source code and guarantees that you will always have access to an EnMAP-Box software that is free of cost and can be freely modified.
You can get support in the following ways:
-
Read the EnMAP-Box documentation http://enmap-box.readthedocs.io
-
Open an issue with your question, bug report, feature request or other enhancement https://github.com/EnMAP-Box/enmap-box/issues/new
-
Write us an email: enmapbox@enmap.org