Coder Social home page Coder Social logo

mundialis / esa-snap Goto Github PK

View Code? Open in Web Editor NEW
30.0 7.0 22.0 87 KB

Docker image of ESA Sentinel Application Platform (SNAP) from http://step.esa.int/main/toolboxes/snap/ . Download at https://hub.docker.com/r/mundialis/esa-snap

License: GNU General Public License v3.0

Dockerfile 54.54% Shell 45.46%
sentinel snap snappy sentinel-1 sentinel-2 docker-image hacktoberfest

esa-snap's Introduction

ESA SNAP 9 docker images

Docker images of ESA Sentinel Application Platform (SNAP) from http://step.esa.int/main/toolboxes/snap/

The related docker images are created and available for download from here:

https://hub.docker.com/r/mundialis/esa-snap

Tag Description GitHub branch Base image Size docker pull command
s1tbx Only s1tbx toolbox s1tbx Alpine 3.18 based 1.4 GB docker pull mundialis/esa-snap:s1tbx
latest Only s1tbx toolbox s1tbx Alpine 3.18 based 1.4 GB docker pull mundialis/esa-snap:latest
ubuntu All SNAP toolboxes ubuntu Ubuntu 18.04 based 2 GB docker pull mundialis/esa-snap:ubuntu

Installation

Pull the Alpine Linux based image (only SNAP Sentinel-1 toolbox):

docker pull mundialis/esa-snap:latest

Tutorial

We recommend the following tutorial:

http://step.esa.int/docs/tutorials/SNAP_CommandLine_Tutorial.pdf

Usage examples

SNAP Graphical User Interface - GUI

Using the GUI, among other functionality the GraphBuilder is available.

Start of GUI, with volume mapping of current directory (pwd; may be set to a different directory) to /data/ within docker:

docker run -it --rm --volume="$(pwd)/:/data" \
    --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    --env DISPLAY=$DISPLAY --device="/dev/dri/card0:/dev/dri/card0" \
    mundialis/esa-snap:latest \
    /usr/local/snap/bin/snap

SNAP Graph Processing Tool - command line

Using the SNAP Graph Processing Tool (GPT):

# show help of gpt tool
docker run -it --rm mundialis/esa-snap:latest /usr/local/snap/bin/gpt -h

One can pass the required processing settings in an XML-encoded graph file which is passing this graph as parameter to the gpt tool:

docker run -it --rm mundialis/esa-snap:latest /usr/local/snap/bin/gpt <GraphFile.xml> [options] [<source-file-1> <source-file-2> ...]

For further gpt usage please refer to the official documentation.

Background info

This docker image is based on Alpine Linux and only contains the s1tbx toolbox. Furthermore,

Where is the Ubuntu based docker image?

Find the Ubuntu based docker image related files in branch ubuntu (see here). See there for related instructions.

Alpine dev stuff

Alternatively, a build approach was tried out. Kept here if needed further. As the stable SNAP version 7.0.2 needs maven 3.6.0 (while alpine offers 3.6.3), so SNAP 8 was built for testing.

FROM alpine:edge

<!-- ARG SNAP_ENGINE_TAG=8.0.0 -->
ENV JAVA_HOME "/usr/lib/jvm/java-1.8-openjdk"

RUN apk add git openjdk8 maven
RUN git clone https://github.com/senbox-org/snap-engine.git /src/snap/snap-engine
WORKDIR /src/snap/snap-engine
<!-- RUN git checkout $SNAP_ENGINE_TAG -->
RUN sed -i 's+<module>snap-classification</module>+<!--<module>snap-classification</module>-->+g' pom.xml
RUN mvn clean install -DskipTests

WORKDIR /src/snap/s1tbx
git clone https://github.com/senbox-org/s1tbx.git /src/snap/s1tbx
cd s1tbx
mvn clean install

WORKDIR /src/snap/snap-enginge
java -cp snap-runtime/target/snap-runtime.jar org.esa.snap.runtime.BundleCreator ../snap.zip "/src/snap/snap-engine" "/src/snap/s1tbx"

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.