Code Monkey home page Code Monkey logo

enmap-box's Introduction

EnMAP-Box 3

Logo

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.

Screenshot

Highlights:

  • 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

How to clone

Use the following commands to clone the EnMAP-Box and update its submodules:

TL;DR:

Open a shell that allows to run git and python with PyQGIS, then run:

git clone --recurse-submodules [email protected]: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

Detailed description

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.

  1. Ensure that your environment has git available and can start QGIS by calling qgis.

  2. Clone the EnMAP-Box repository.

    git clone [email protected]:EnMAP-Box/enmap-box.git

    You might also use the url https://github.com/EnMAP-Box/enmap-box.git instead. However, ssh access is preferred.

  3. Initialize submodules and pull their code, which is hosted in different repositories

    cd enmapbox
    git submodule update --init --remote --recursive
  4. 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 [email protected]:EnMAP-Box/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
  5. Ensure that PyQGIS is available to your python enviroment. (This means you can start a python shell and import qgis)

  6. Compile resource files and download the test data.

    python scripts/setup_repository.py
  7. Now you can start the EnMAP-Box from shell by:

    python enmapbox

How to contribute

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-)

License

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.

Support

You can get support in the following ways:

enmap-box's People

Contributors

janzandr avatar jakimowb avatar florian-katerndahl avatar thielfab avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.