Open data mit Open source - Prozessierung von Copernicus Daten mit freier (Kommandozeilen-) Software

mit den Daten arbeiten

In diesem Schritt erstellen wir entweder eine Echtfarbenkomposition, oder eine Falschfarbenkomposition. Dazu importieren wir drei Bänder in GRASS GIS. Für eine Echtfarbenkomposition sind das B04, B03 und B02. Für eine Falschfarbenkomposition sind das die Bänder B08, B04 und B03.

Je nach Rechenleistung kann die komplette Szene oder das Subset verwendet werden. Folgend verwenden wir das Subset.


      ##########################################################################
      # Prepare (skip if already done)
      ##########################################################################

      # prepare working directory
      WORK_DIR=/home/user/Desktop/open_data_mit_open_source/
      mkdir -p ${WORK_DIR}
      cd ${WORK_DIR}
      export WORK_DIR=${WORK_DIR}

      # set GRASS GIS executable
      GRASS=grass74
      GRASS_WORK_DIR=~/grassdata/s2_bonn
      # incomment to always overwrite
      #export GRASS_OVERWRITE=1
      ${GRASS} --version

      ##########################################################################
      # Prepare other subsets
      ##########################################################################

      L2A_B08=${L2A}/GRANULE/L2A_T32ULB_A010401_20170619T103021/IMG_DATA/R10m/L2A_T32ULB_20170619T103021_B08_10m.jp2
      gdal_translate -of VRT -projwin 350000 5640000 378000 5615000 ${L2A_B08} L2A_B08_subset.vrt

      L2A_B03=${L2A}/GRANULE/L2A_T32ULB_A010401_20170619T103021/IMG_DATA/R10m/L2A_T32ULB_20170619T103021_B03_10m.jp2
      gdal_translate -of VRT -projwin 350000 5640000 378000 5615000 ${L2A_B03} L2A_B03_subset.vrt

      L2A_B02=${L2A}/GRANULE/L2A_T32ULB_A010401_20170619T103021/IMG_DATA/R10m/L2A_T32ULB_20170619T103021_B02_10m.jp2
      gdal_translate -of VRT -projwin 350000 5640000 378000 5615000 ${L2A_B02} L2A_B02_subset.vrt

      ##########################################################################
      # Prepare composite
      ##########################################################################

      # set band for import
      L2A=S2A_MSIL2A_20170619T103021_N0205_R108_T32ULB_20170619T103021.SAFE
      BAND_RED=L2A_B04_subset.vrt
      BAND_GREEN=L2A_B03_subset.vrt
      BAND_BLUE=L2A_B02_subset.vrt

      export GRASS=${GRASS}
      export GRASS_WORK_DIR=${GRASS_WORK_DIR}
      export L2A=${L2A}
      export BAND_RED=${BAND_RED}
      export BAND_GREEN=${BAND_GREEN}
      export BAND_BLUE=${BAND_BLUE}

      ##########################################################################
      # Import 3 bands for a composite
      ##########################################################################

      # Connect to GRASS GIS location
      ${GRASS} ${GRASS_WORK_DIR}/PERMANENT -text

      # import with r.in.gdal
      r.in.gdal -o ${BAND_RED} out=BAND_RED
      r.in.gdal -o ${BAND_GREEN} out=BAND_GREEN
      r.in.gdal -o ${BAND_BLUE} out=BAND_BLUE

      # list imported layers
      g.list type=raster
      # should look like this:
      #BAND_04
      #BAND_BLUE
      #BAND_GREEN
      #BAND_RED
      #L2A_T32ULB_20170619T103021_B04_10m
      #L2A_T32ULB_20170619T103021_B04_20m
      #L2A_T32ULB_20170619T103021_B04_60m

      ##########################################################################
      # Create the composite
      ##########################################################################

      # Option: For smaller filesize: rescale to byte
      #r.rescale input=BAND_RED output=BAND_RED_255 to=0,255

      i.colors.enhance r=BAND_RED g=BAND_GREEN b=BAND_BLUE strength=98
      r.composite red=BAND_RED green=BAND_GREEN blue=BAND_BLUE output=composite

      r.out.gdal -m input=composite output=${WORK_DIR}/composite.tif createopt="COMPRESS=DEFLATE"

    

Impressum - Datenschutzerklärung