The project page of SNAP and the sentinel toolboxes can be found at http://step.esa.int. There you will find a tutorial about the usage of the application, a forum where you can ask questions and lots of other interesting things.
-
Download and install the required build tools
- Install J2SE 1.8 JDK and set JAVA_HOME accordingly.
- Install Maven and set MAVEN_HOME accordingly.
- Install git
-
Add
$JAVA_HOME/bin
and$MAVEN_HOME/bin
to your PATH. -
Clone the S1TBX source code and related repositories into SNAP/
git clone https://github.com/senbox-org/s1tbx.git git clone https://github.com/senbox-org/snap-desktop.git git clone https://github.com/senbox-org/snap-engine.git git clone https://github.com/senbox-org/snap-installer.git
-
CD into SNAP/snap-engine:
mvn clean install
-
CD into SNAP/snap-desktop:
mvn clean install
-
CD into SNAP/s1tbx:
mvn clean install
-
If unit tests are failing, you can use the following to skip the tests
mvn clean install -Dmaven.test.skip=true
-
Create an empty project with the
SNAP/
directory as project directory -
Import the pom.xml files of snap-engine, snap-desktop and s1tbx as modules. Ensure not to enable the option 'Create module groups for multi-module Maven projects'. Everything can be default values.
-
Set the used SDK for the main project. A JDK 1.8 or later is needed.
-
Use the following configuration to run SNAP in the IDE:
-
Main class:
org.esa.snap.nbexec.Launcher
-
VM parameters:
-Dsun.awt.nopixfmt=true -Dsun.java2d.noddraw=true -Dsun.java2d.dpiaware=false
All VM parameters are optional -
Program arguments:
--clusters "E:\build\SNAP\s1tbx\s1tbx-kit\target\netbeans_clusters\s1tbx";"E:\build\SNAP\s1tbx\s1tbx-kit\target\netbeans_clusters\rstb" --patches "E:\build\SNAP\snap-engine\$\target\classes";"E:\build\SNAP\s1tbx\$\target\classes";"E:\build\SNAP\s1tbx\rstb\$\target\classes"
-
Working directory:
SNAP/snap-desktop/snap-application/target/snap/
-
Use classpath of module:
snap-main
-
Fork it on github ( https://github.com/senbox-org/s1tbx/fork )
Clone it locally (git clone https://github.com/senbox-org/s1tbx.git)
Create your feature branch (git checkout -b my-new-feature)
Commit your changes (git commit -am 'Add some feature')
Push to the branch (git push origin my-new-feature)
Create a new Pull Request on github
Enjoy!