├── .gitignore ├── LICENSE ├── README.md ├── SNAP_MERIS_Tutorial ├── SNAP_MERIS_tutorial.html └── SNAP_MERIS_tutorial.ipynb ├── SNAP_Python_Tutorial_1 ├── SNAP-Python_Tutorial_1.ipynb ├── SNAP-Python_Tutorial_1.pdf └── tutorial1_image1.jpg ├── SNAP_Python_Tutorial_2 ├── Resampling_list.jpg ├── SNAP-Python_Tutorial_2.ipynb └── SNAP-Python_Tutorial_2.pdf └── SNAP_Python_Tutorial_3 ├── SNAP-Python_Tutorial_3.ipynb ├── SNAP-Python_Tutorial_3.pdf └── SNAP_subset.jpg /.gitignore: -------------------------------------------------------------------------------- 1 | # Local git config file 2 | .gitconfig 3 | 4 | # Byte-compiled / optimized / DLL files 5 | __pycache__/ 6 | *.py[cod] 7 | *$py.class 8 | 9 | # C extensions 10 | *.so 11 | 12 | # Distribution / packaging 13 | .Python 14 | env/ 15 | build/ 16 | develop-eggs/ 17 | dist/ 18 | downloads/ 19 | eggs/ 20 | .eggs/ 21 | lib/ 22 | lib64/ 23 | parts/ 24 | sdist/ 25 | var/ 26 | wheels/ 27 | *.egg-info/ 28 | .installed.cfg 29 | *.egg 30 | 31 | # PyInstaller 32 | # Usually these files are written by a python script from a template 33 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 34 | *.manifest 35 | *.spec 36 | 37 | # Installer logs 38 | pip-log.txt 39 | pip-delete-this-directory.txt 40 | 41 | # Unit test / coverage reports 42 | htmlcov/ 43 | .tox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *,cover 50 | .hypothesis/ 51 | 52 | # Translations 53 | *.mo 54 | *.pot 55 | 56 | # Django stuff: 57 | *.log 58 | local_settings.py 59 | 60 | # Flask stuff: 61 | instance/ 62 | .webassets-cache 63 | 64 | # Scrapy stuff: 65 | .scrapy 66 | 67 | # Sphinx documentation 68 | docs/_build/ 69 | 70 | # PyBuilder 71 | target/ 72 | 73 | # Jupyter Notebook 74 | .ipynb_checkpoints 75 | 76 | # pyenv 77 | .python-version 78 | 79 | # celery beat schedule file 80 | celerybeat-schedule 81 | 82 | # dotenv 83 | .env 84 | 85 | # virtualenv 86 | .venv 87 | venv/ 88 | ENV/ 89 | 90 | # Spyder project settings 91 | .spyderproject 92 | 93 | # Rope project settings 94 | .ropeproject 95 | 96 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Techforspace 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Earth Observation Project - SNAP-Python Repository 2 | 3 | This repository contains the interactive tutorials in the form of Jupyter Notebooks that serve as training material to learn Image Processing in Python and exploiting the official ESA open source toolbox called SNAP. 4 | 5 | Each tutorial is included in its own folder that contains all the files required to properly run the associated Jupyter Notebook. 6 | 7 | The user should download the git repository and run the notebook under his Jupyter installation. 8 | 9 | In order to provide a complete explanation of the topics each Jupyter Notebook is provided with its PDF version that allows the user to look at all the contents without running any line of Python code. 10 | 11 | Once the user will have his own account he will be able to download the product by using the link that is provided in the tutorial. 12 | 13 | ## How to access the Sentinels data products 14 | 15 | Each tutorial provides the link to a selected Sentinel data product that the user has to download before running the Jupyter Notebooks. 16 | 17 | For this reason it is first necessary to create an account and get a registration to access the official [Sentinels Scientific Data Hub](https://scihub.copernicus.eu/dhus/#/home) 18 | 19 | Once the user has his own account he will be able to download the product by using the tutorial's link. 20 | 21 | Each product is provided as a zip archive so it will be necessary to extract the whole product. 22 | 23 | A standard choice is to put the complete product in the installation directory of the Desktop version of SNAP. 24 | 25 | When all these instructions will have been successfully completed, the user will be able to properly run each available tutorial. 26 | 27 | ## Installation and configuration of the Python module for SNAP (snappy) 28 | 29 | All the instructions required for a successful configuration of Python and its SNAP module can be found on the [dedicated article at TechForSpace](https://www.techforspace.com/missions/sentinels/sentinel-space-imagery-part-1-installing-snap-and-the-python-snappy-module/) 30 | 31 | For Python support or for any technical problem with the Jupyter Notebooks, the official Tech for Space contacts can be found in the [official page](https://www.techforspace.com/project/sentinels-earth-observation/) of the project. 32 | 33 | If you are looking for additional information about the installation of snappy, please refer to the [official dedicated page](https://senbox.atlassian.net/wiki/display/SNAP/Configure+Python+to+use+the+SNAP-Python+%28snappy%29+interface) on the SNAP Developer Guide website. 34 | 35 | You can also contact us for additional questions through our website or using this address: contact at techforspace.com 36 | 37 | ## Licensing 38 | 39 | The source code of our tutorials is available under the MIT license, about which you can find more information [here](https://tldrlegal.com/license/mit-license). The documentation associated to the tutorials is available under the Creative Commons License 4.0 (CC BY 4.0), presented in details on the [official website](https://creativecommons.org/licenses/by/4.0/). 40 | -------------------------------------------------------------------------------- /SNAP_Python_Tutorial_1/SNAP-Python_Tutorial_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techforspace/sentinel/265214664bf6f341c84622e896cc8a62c22b3a43/SNAP_Python_Tutorial_1/SNAP-Python_Tutorial_1.pdf -------------------------------------------------------------------------------- /SNAP_Python_Tutorial_1/tutorial1_image1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techforspace/sentinel/265214664bf6f341c84622e896cc8a62c22b3a43/SNAP_Python_Tutorial_1/tutorial1_image1.jpg -------------------------------------------------------------------------------- /SNAP_Python_Tutorial_2/Resampling_list.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techforspace/sentinel/265214664bf6f341c84622e896cc8a62c22b3a43/SNAP_Python_Tutorial_2/Resampling_list.jpg -------------------------------------------------------------------------------- /SNAP_Python_Tutorial_2/SNAP-Python_Tutorial_2.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "Author: __Antonio Vecoli__\n", 8 | "\n", 9 | "Date: __06/06/2017__\n", 10 | "\n", 11 | "__Tech For Space__ [www.techforspace.com](https://www.techforspace.com/)\n", 12 | "\n", 13 | "__License: MIT License__\n", 14 | "\n", 15 | "For any technical or Python support please refer to our [__Project Page__](https://www.techforspace.com/project/sentinels-earth-observation/)\n" 16 | ] 17 | }, 18 | { 19 | "cell_type": "markdown", 20 | "metadata": {}, 21 | "source": [ 22 | "# Handling a Sentinel-2 product with SNAP in Python (Tutorial 2)" 23 | ] 24 | }, 25 | { 26 | "cell_type": "markdown", 27 | "metadata": {}, 28 | "source": [ 29 | "After the basic elements of SNAP explained in the first two tutorials, it is now possible to introduce a set of more advanced operations that allow to modify a Sentinel-2 data product and make it available for specific scientific processings. The Sentinel-2 product used in this case will be the same of Tutorial 1 and it can be downloaded( with personal account) at the following link :\n", 30 | "\n", 31 | "https://scihub.copernicus.eu/dhus/odata/v1/Products('c94ebae2-3b0d-4472-96a0-324bb54d7bdf')/$value" 32 | ] 33 | }, 34 | { 35 | "cell_type": "markdown", 36 | "metadata": {}, 37 | "source": [ 38 | "### Resampling a Sentinel-2 data product" 39 | ] 40 | }, 41 | { 42 | "cell_type": "markdown", 43 | "metadata": {}, 44 | "source": [ 45 | "In the first tutorial a single band image has been extracted from a complete Sentinel-2 product without implementing any scientific analysis on it, because the aim was to show how it is possible to read an S-2 product in Python, also suggesting some simple image processing technique for a better visualization. But in general, when working with multispectral data, several techniques of scientific analysis need to consider more than one band at the same time. In this case, for all the selected bands, their rasters should be available with the same spatial resolution, so that all the images and data arrays will have the same size in term of number of pixels and matrix dimensions. \n", 46 | "Let's consider a simple comparison between two different bands of the current S-2 product:" 47 | ] 48 | }, 49 | { 50 | "cell_type": "code", 51 | "execution_count": 3, 52 | "metadata": { 53 | "collapsed": false 54 | }, 55 | "outputs": [ 56 | { 57 | "data": { 58 | "text/plain": [ 59 | "['B1',\n", 60 | " 'B2',\n", 61 | " 'B3',\n", 62 | " 'B4',\n", 63 | " 'B5',\n", 64 | " 'B6',\n", 65 | " 'B7',\n", 66 | " 'B8',\n", 67 | " 'B8A',\n", 68 | " 'B9',\n", 69 | " 'B10',\n", 70 | " 'B11',\n", 71 | " 'B12',\n", 72 | " 'view_zenith_mean',\n", 73 | " 'view_azimuth_mean',\n", 74 | " 'sun_zenith',\n", 75 | " 'sun_azimuth',\n", 76 | " 'view_zenith_B1',\n", 77 | " 'view_azimuth_B1',\n", 78 | " 'view_zenith_B2',\n", 79 | " 'view_azimuth_B2',\n", 80 | " 'view_zenith_B3',\n", 81 | " 'view_azimuth_B3',\n", 82 | " 'view_zenith_B4',\n", 83 | " 'view_azimuth_B4',\n", 84 | " 'view_zenith_B5',\n", 85 | " 'view_azimuth_B5',\n", 86 | " 'view_zenith_B6',\n", 87 | " 'view_azimuth_B6',\n", 88 | " 'view_zenith_B7',\n", 89 | " 'view_azimuth_B7',\n", 90 | " 'view_zenith_B8',\n", 91 | " 'view_azimuth_B8',\n", 92 | " 'view_zenith_B8A',\n", 93 | " 'view_azimuth_B8A',\n", 94 | " 'view_zenith_B9',\n", 95 | " 'view_azimuth_B9',\n", 96 | " 'view_zenith_B10',\n", 97 | " 'view_azimuth_B10',\n", 98 | " 'view_zenith_B11',\n", 99 | " 'view_azimuth_B11',\n", 100 | " 'view_zenith_B12',\n", 101 | " 'view_azimuth_B12']" 102 | ] 103 | }, 104 | "execution_count": 3, 105 | "metadata": {}, 106 | "output_type": "execute_result" 107 | } 108 | ], 109 | "source": [ 110 | "import snappy\n", 111 | "from snappy import ProductIO\n", 112 | "file_path = 'C:\\Program Files\\snap\\S2A_MSIL1C_20170202T090201_N0204_R007_T35SNA_20170202T090155.SAFE\\MTD_MSIL1C.xml'\n", 113 | "product = ProductIO.readProduct(file_path)\n", 114 | "list(product.getBandNames())" 115 | ] 116 | }, 117 | { 118 | "cell_type": "markdown", 119 | "metadata": {}, 120 | "source": [ 121 | "According to the S-2 data product specifics, band 4 and band 5 are represented with rasters of different sizes and that can be easily verified :" 122 | ] 123 | }, 124 | { 125 | "cell_type": "code", 126 | "execution_count": 4, 127 | "metadata": { 128 | "collapsed": false 129 | }, 130 | "outputs": [ 131 | { 132 | "name": "stdout", 133 | "output_type": "stream", 134 | "text": [ 135 | "Band 4 Size: 10980,10980\n", 136 | "Band 5 Size: 5490,5490\n" 137 | ] 138 | } 139 | ], 140 | "source": [ 141 | "B4 = product.getBand('B4')\n", 142 | "B5 = product.getBand('B5')\n", 143 | "\n", 144 | "Width_4 = B4.getRasterWidth()\n", 145 | "Height_4 = B4.getRasterHeight()\n", 146 | "print(\"Band 4 Size: \" + str(Width_4) +','+ str(Height_4))\n", 147 | "\n", 148 | "Width_5 = B5.getRasterWidth()\n", 149 | "Height_5 = B5.getRasterHeight()\n", 150 | "print(\"Band 5 Size: \" + str(Width_5) +','+ str(Height_5))\n" 151 | ] 152 | }, 153 | { 154 | "cell_type": "markdown", 155 | "metadata": {}, 156 | "source": [ 157 | "The obtained results confirm that the two bands have been detected with different resolutions and if the user wanted to implement some processing that involves those bands, he should first operate a **RESAMPLING** of the S-2 product, according to a selected pixel resolution. The resampling operation can be directly executed in SNAP because it is included in the SNAP **Graph Processing Framework(GPF)**, a wide collection of data processors that can be applied to a Sentinel data product. Each data processor is called a **GPF operator** and it can be invoked in the desktop version of SNAP, in Python with the **snappy** module, or directly in the Windows/Linux command-line.\n", 158 | "The resampling operation is a typical example of a GPF operator because it is provided with a dedicated user interface that is available in the desktop version of SNAP. It is really important to look at the input parameters that must be set when the user wants to invoke a specific GPF operator. As for most of the GPF operators, also for the RESAMPLE operator the list of input parameters can be found in its user interface, as follows:" 159 | ] 160 | }, 161 | { 162 | "cell_type": "markdown", 163 | "metadata": {}, 164 | "source": [ 165 | "" 166 | ] 167 | }, 168 | { 169 | "cell_type": "markdown", 170 | "metadata": {}, 171 | "source": [ 172 | "The displayed list can change depending on the type of resampling the user wants to implement; the available options can be found in the desktop version of SNAP, looking into the user interface of the operator.\n", 173 | "In Python a GPF operator can be invoked only after the definition of the list of input parameters , using a Java **HashMap** object ([java.util.HashMap](https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html)). For this reason, whenever the user wants to work with a GPF operator he must always import that Java class in Python using the Jpy module:" 174 | ] 175 | }, 176 | { 177 | "cell_type": "code", 178 | "execution_count": 7, 179 | "metadata": { 180 | "collapsed": false 181 | }, 182 | "outputs": [], 183 | "source": [ 184 | "from snappy import jpy\n", 185 | "HashMap = snappy.jpy.get_type('java.util.HashMap') " 186 | ] 187 | }, 188 | { 189 | "cell_type": "markdown", 190 | "metadata": {}, 191 | "source": [ 192 | "It is then possible to construct an empty HasMap object and include the selected parameters with their values in it. In this simple case only the resolution parameter will be set." 193 | ] 194 | }, 195 | { 196 | "cell_type": "code", 197 | "execution_count": 8, 198 | "metadata": { 199 | "collapsed": true 200 | }, 201 | "outputs": [], 202 | "source": [ 203 | "parameters = HashMap()\n", 204 | "parameters.put('targetResolution',20)" 205 | ] 206 | }, 207 | { 208 | "cell_type": "markdown", 209 | "metadata": {}, 210 | "source": [ 211 | "So the resolution in this specific case will be 20 meters per pixel. After the parameter definition it is possible to invoke the resampling operator using a syntax that is the same for all the GPF operators:\n", 212 | "\n", 213 | "**createProduct(String operatorName,Map(String,Object) parameters,Product sourceProduct)**\n", 214 | "\n", 215 | "and the Python implementation is given in the following line:" 216 | ] 217 | }, 218 | { 219 | "cell_type": "code", 220 | "execution_count": 9, 221 | "metadata": { 222 | "collapsed": true 223 | }, 224 | "outputs": [], 225 | "source": [ 226 | "result = snappy.GPF.createProduct('Resample',parameters,product)" 227 | ] 228 | }, 229 | { 230 | "cell_type": "markdown", 231 | "metadata": {}, 232 | "source": [ 233 | "The output variable is a new data product and all its bands are now represented with the same resolution. As a test to confirm the successful operation it is possible to look again at band 4 and 5 to see what happened with them:" 234 | ] 235 | }, 236 | { 237 | "cell_type": "code", 238 | "execution_count": 10, 239 | "metadata": { 240 | "collapsed": false 241 | }, 242 | "outputs": [ 243 | { 244 | "name": "stdout", 245 | "output_type": "stream", 246 | "text": [ 247 | "Band 4 Size: 5490,5490\n", 248 | "Band 5 Size: 5490,5490\n" 249 | ] 250 | } 251 | ], 252 | "source": [ 253 | "B4 = result.getBand('B4')\n", 254 | "B5 = result.getBand('B5')\n", 255 | "\n", 256 | "Width_4 = B4.getRasterWidth()\n", 257 | "Height_4 = B4.getRasterHeight()\n", 258 | "print(\"Band 4 Size: \" + str(Width_4) +','+ str(Height_4))\n", 259 | "\n", 260 | "Width_5 = B5.getRasterWidth()\n", 261 | "Height_5 = B5.getRasterHeight()\n", 262 | "print(\"Band 5 Size: \" + str(Width_5) +','+ str(Height_5))" 263 | ] 264 | }, 265 | { 266 | "cell_type": "markdown", 267 | "metadata": {}, 268 | "source": [ 269 | "The user could try to visualize the image corresponding to a single band of the new product, explained in Tutorial 1, also verifying that all the band have definitely the same size.\n", 270 | "In many cases the resampling operation is just an initial step that can lead to various options. Infact the obtained product could be now written and saved as a new independent Sentinel product( with a specific format), or it could just be part of a more complex processing chain. Both of these options will be introduced in new tutorials that will widen the Python exploitation of the SNAP toolbox. " 271 | ] 272 | } 273 | ], 274 | "metadata": { 275 | "kernelspec": { 276 | "display_name": "Python 2", 277 | "language": "python", 278 | "name": "python2" 279 | }, 280 | "language_info": { 281 | "codemirror_mode": { 282 | "name": "ipython", 283 | "version": 2 284 | }, 285 | "file_extension": ".py", 286 | "mimetype": "text/x-python", 287 | "name": "python", 288 | "nbconvert_exporter": "python", 289 | "pygments_lexer": "ipython2", 290 | "version": "2.7.11" 291 | } 292 | }, 293 | "nbformat": 4, 294 | "nbformat_minor": 0 295 | } 296 | -------------------------------------------------------------------------------- /SNAP_Python_Tutorial_2/SNAP-Python_Tutorial_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techforspace/sentinel/265214664bf6f341c84622e896cc8a62c22b3a43/SNAP_Python_Tutorial_2/SNAP-Python_Tutorial_2.pdf -------------------------------------------------------------------------------- /SNAP_Python_Tutorial_3/SNAP-Python_Tutorial_3.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "Author: __Antonio Vecoli__\n", 8 | "\n", 9 | "Date: __12/06/2017__\n", 10 | "\n", 11 | "__Tech For Space__ [www.techforspace.com](https://www.techforspace.com/)\n", 12 | "\n", 13 | "__License: MIT License__\n", 14 | "\n", 15 | "For any technical or Python support please refer to our [__Project Page__](https://www.techforspace.com/project/sentinels-earth-observation/)\n" 16 | ] 17 | }, 18 | { 19 | "cell_type": "markdown", 20 | "metadata": {}, 21 | "source": [ 22 | "# Handling a Sentinel-2 product with SNAP in Python (Tutorial 3)" 23 | ] 24 | }, 25 | { 26 | "cell_type": "markdown", 27 | "metadata": {}, 28 | "source": [ 29 | "__Reference S-2 product for the tutorial__ : \n", 30 | "\n", 31 | "https://scihub.copernicus.eu/dhus/odata/v1/Products('c94ebae2-3b0d-4472-96a0-324bb54d7bdf')/$value\n" 32 | ] 33 | }, 34 | { 35 | "cell_type": "markdown", 36 | "metadata": {}, 37 | "source": [ 38 | "It can happen that a user needs to process only part of a whole Sentinel-2 product, to focus on a certain geographical region and also to reduce the amount of time that would be necessary to implement some data processing. The operation to extract a portion of a S-2 product is called subsetting and it has been included in SNAP with a dedicated GPF operator that will be described here. The obtained product could be then used in a larger processing chain for further analysis or saved as an independent new data product. That will be introduced in the last part of this tutorial." 39 | ] 40 | }, 41 | { 42 | "cell_type": "markdown", 43 | "metadata": {}, 44 | "source": [ 45 | "## Subsetting a Sentinel2 data product\n", 46 | "\n", 47 | "As just said, the subsetting operation is implemented by a GPF operator that has to be applied to the whole S-2 data product, but the main requirement is that all the rasters should have the same size. This means that before invoking the subset operator, the S-2 product should be resampled with a certain resolution. \n", 48 | "The user can look into Tutorial 2 to understand the following lines of code to implement the S-2 resampling process:" 49 | ] 50 | }, 51 | { 52 | "cell_type": "code", 53 | "execution_count": 1, 54 | "metadata": { 55 | "collapsed": false 56 | }, 57 | "outputs": [], 58 | "source": [ 59 | "from snappy import ProductIO\n", 60 | "from snappy import jpy\n", 61 | "from snappy import GPF\n", 62 | "\n", 63 | "file_path = 'C:\\Program Files\\snap\\S2A_MSIL1C_20170202T090201_N0204_R007_T35SNA_20170202T090155.SAFE\\MTD_MSIL1C.xml'\n", 64 | "product = ProductIO.readProduct(file_path)\n", 65 | "\n", 66 | "HashMap = jpy.get_type('java.util.HashMap') \n", 67 | "parameters = HashMap()\n", 68 | "parameters.put('targetResolution',60)\n", 69 | "result = GPF.createProduct('Resample', parameters, product)\n" 70 | ] 71 | }, 72 | { 73 | "cell_type": "markdown", 74 | "metadata": {}, 75 | "source": [ 76 | "The user could now verify some property of the result, for example extracting the raster size of one band or getting the list of all the bands.\n", 77 | "The obtained product is now ready for the extraction of the subset. The next step is the definition of the subset operator to extract a region of interest from the whole S-2 product:" 78 | ] 79 | }, 80 | { 81 | "cell_type": "markdown", 82 | "metadata": {}, 83 | "source": [ 84 | "" 85 | ] 86 | }, 87 | { 88 | "cell_type": "markdown", 89 | "metadata": { 90 | "collapsed": true 91 | }, 92 | "source": [ 93 | "The subset operator has to be set in a different way, if compared with the resampling operator. First of all it is necessary to invoke the operator and to define the geometry of the subset, that should be described according to the __Geometry__ Java class ([com.vividsolutions.jts.geom.Geometry](http://tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/geom/Geometry.html)). The coordinates of the polygon can be extracted directly from the desktop version of SNAP full view using other GIS applications." 94 | ] 95 | }, 96 | { 97 | "cell_type": "markdown", 98 | "metadata": {}, 99 | "source": [ 100 | "SubsetOp = jpy.get_type('org.esa.snap.core.gpf.common.SubsetOp')\n", 101 | "WKTReader =jpy.get_type('com.vividsolutions.jts.io.WKTReader')" 102 | ] 103 | }, 104 | { 105 | "cell_type": "markdown", 106 | "metadata": {}, 107 | "source": [ 108 | "Now for the implementation of the operator the geometry has to be defined and associated to the object of class Geometry:" 109 | ] 110 | }, 111 | { 112 | "cell_type": "code", 113 | "execution_count": 3, 114 | "metadata": { 115 | "collapsed": true 116 | }, 117 | "outputs": [], 118 | "source": [ 119 | "wkt = 'POLYGON ((27.350865857300093 36.824908050376905, 27.76637805803395 36.82295594263548, 27.76444424458719 36.628100558767244, 27.349980428973755 36.63003894847389, 27.350865857300093 36.824908050376905))'\n", 120 | "geometry = WKTReader().read(wkt)\n" 121 | ] 122 | }, 123 | { 124 | "cell_type": "markdown", 125 | "metadata": {}, 126 | "source": [ 127 | "Once the geometry has been properly defined, the subset operator can be invoked with its object constructor, and then it will be possible to call its methods that will allow to set the geometry object and the source product:" 128 | ] 129 | }, 130 | { 131 | "cell_type": "code", 132 | "execution_count": 4, 133 | "metadata": { 134 | "collapsed": false 135 | }, 136 | "outputs": [ 137 | { 138 | "name": "stdout", 139 | "output_type": "stream", 140 | "text": [ 141 | "subset product ready\n" 142 | ] 143 | } 144 | ], 145 | "source": [ 146 | "op = SubsetOp()\n", 147 | "op.setSourceProduct(result)\n", 148 | "op.setGeoRegion(geometry)\n", 149 | "sub_product = op.getTargetProduct()\n", 150 | "print(\"subset product ready\")" 151 | ] 152 | }, 153 | { 154 | "cell_type": "markdown", 155 | "metadata": {}, 156 | "source": [ 157 | "Now __sub_product__ is the new data product obtained from the source S-2 product. We are going to verify the result by showing the list of available bands, and visualizing one of them." 158 | ] 159 | }, 160 | { 161 | "cell_type": "code", 162 | "execution_count": 6, 163 | "metadata": { 164 | "collapsed": false 165 | }, 166 | "outputs": [ 167 | { 168 | "data": { 169 | "text/plain": [ 170 | "['B1',\n", 171 | " 'B2',\n", 172 | " 'B3',\n", 173 | " 'B4',\n", 174 | " 'B5',\n", 175 | " 'B6',\n", 176 | " 'B7',\n", 177 | " 'B8',\n", 178 | " 'B8A',\n", 179 | " 'B9',\n", 180 | " 'B10',\n", 181 | " 'B11',\n", 182 | " 'B12',\n", 183 | " 'view_zenith_mean',\n", 184 | " 'view_azimuth_mean',\n", 185 | " 'sun_zenith',\n", 186 | " 'sun_azimuth',\n", 187 | " 'view_zenith_B1',\n", 188 | " 'view_azimuth_B1',\n", 189 | " 'view_zenith_B2',\n", 190 | " 'view_azimuth_B2',\n", 191 | " 'view_zenith_B3',\n", 192 | " 'view_azimuth_B3',\n", 193 | " 'view_zenith_B4',\n", 194 | " 'view_azimuth_B4',\n", 195 | " 'view_zenith_B5',\n", 196 | " 'view_azimuth_B5',\n", 197 | " 'view_zenith_B6',\n", 198 | " 'view_azimuth_B6',\n", 199 | " 'view_zenith_B7',\n", 200 | " 'view_azimuth_B7',\n", 201 | " 'view_zenith_B8',\n", 202 | " 'view_azimuth_B8',\n", 203 | " 'view_zenith_B8A',\n", 204 | " 'view_azimuth_B8A',\n", 205 | " 'view_zenith_B9',\n", 206 | " 'view_azimuth_B9',\n", 207 | " 'view_zenith_B10',\n", 208 | " 'view_azimuth_B10',\n", 209 | " 'view_zenith_B11',\n", 210 | " 'view_azimuth_B11',\n", 211 | " 'view_zenith_B12',\n", 212 | " 'view_azimuth_B12']" 213 | ] 214 | }, 215 | "execution_count": 6, 216 | "metadata": {}, 217 | "output_type": "execute_result" 218 | } 219 | ], 220 | "source": [ 221 | "list(result.getBandNames())" 222 | ] 223 | }, 224 | { 225 | "cell_type": "code", 226 | "execution_count": 14, 227 | "metadata": { 228 | "collapsed": false 229 | }, 230 | "outputs": [ 231 | { 232 | "name": "stdout", 233 | "output_type": "stream", 234 | "text": [ 235 | "band read\n", 236 | "('subset size : ', 619L, 362L)\n", 237 | "reading data...\n" 238 | ] 239 | }, 240 | { 241 | "data": { 242 | "image/png": "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\n", 243 | "text/plain": [ 244 | "" 245 | ] 246 | }, 247 | "metadata": {}, 248 | "output_type": "display_data" 249 | } 250 | ], 251 | "source": [ 252 | "import numpy as np\n", 253 | "import matplotlib.pyplot as plt\n", 254 | "import matplotlib.cm as cm\n", 255 | "%matplotlib inline\n", 256 | "\n", 257 | "sub_b6 = sub_product.getBand('B6')\n", 258 | "print(\"band read\")\n", 259 | "width = sub_b6.getRasterWidth()\n", 260 | "height = sub_b6.getRasterHeight()\n", 261 | "print(\"subset size : \", width, height)\n", 262 | "sub_b6_data = np.zeros(width*height, dtype = np.float32)\n", 263 | "sub_b6.readPixels(0,0,width,height, sub_b6_data)\n", 264 | "sub_b6_data.shape = height, width\n", 265 | "print(\"reading data...\")\n", 266 | "plt.figure(1)\n", 267 | "fig = plt.imshow(sub_b6_data, cmap = cm.gray)\n", 268 | "fig.axes.get_xaxis().set_visible(False)\n", 269 | "fig.axes.get_yaxis().set_visible(False)\n", 270 | "plt.show()" 271 | ] 272 | }, 273 | { 274 | "cell_type": "markdown", 275 | "metadata": {}, 276 | "source": [ 277 | "So the band has been properly displayed and that confirms that the subsetting operation has been successful. The last step is now to see how it could be possible to save this subset as an independent new product. It won't be possible to write a new S-2 product because this option is not available yet in the current SNAP release. Anyway there are various formats available to save our product and make it available for further processings.Here the new subset will be saved as a _BEAM-DIMAP_ product that has a _.dim_ extension. The product writing operation could require various minutes:" 278 | ] 279 | }, 280 | { 281 | "cell_type": "code", 282 | "execution_count": 15, 283 | "metadata": { 284 | "collapsed": false 285 | }, 286 | "outputs": [ 287 | { 288 | "name": "stdout", 289 | "output_type": "stream", 290 | "text": [ 291 | "subset product written\n" 292 | ] 293 | } 294 | ], 295 | "source": [ 296 | "ProductIO.writeProduct(sub_product, 'snappy_subset_output.dim', 'BEAM-DIMAP')\n", 297 | "print(\"subset product written\")" 298 | ] 299 | }, 300 | { 301 | "cell_type": "markdown", 302 | "metadata": {}, 303 | "source": [ 304 | "At the end of this process the user can verify the presence of the new product in the working directory of the jupyter notebook and he could try to open it as it has been explained so far in these tutorials." 305 | ] 306 | }, 307 | { 308 | "cell_type": "code", 309 | "execution_count": null, 310 | "metadata": { 311 | "collapsed": true 312 | }, 313 | "outputs": [], 314 | "source": [] 315 | } 316 | ], 317 | "metadata": { 318 | "kernelspec": { 319 | "display_name": "Python 2", 320 | "language": "python", 321 | "name": "python2" 322 | }, 323 | "language_info": { 324 | "codemirror_mode": { 325 | "name": "ipython", 326 | "version": 2 327 | }, 328 | "file_extension": ".py", 329 | "mimetype": "text/x-python", 330 | "name": "python", 331 | "nbconvert_exporter": "python", 332 | "pygments_lexer": "ipython2", 333 | "version": "2.7.11" 334 | } 335 | }, 336 | "nbformat": 4, 337 | "nbformat_minor": 0 338 | } 339 | -------------------------------------------------------------------------------- /SNAP_Python_Tutorial_3/SNAP-Python_Tutorial_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techforspace/sentinel/265214664bf6f341c84622e896cc8a62c22b3a43/SNAP_Python_Tutorial_3/SNAP-Python_Tutorial_3.pdf -------------------------------------------------------------------------------- /SNAP_Python_Tutorial_3/SNAP_subset.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techforspace/sentinel/265214664bf6f341c84622e896cc8a62c22b3a43/SNAP_Python_Tutorial_3/SNAP_subset.jpg --------------------------------------------------------------------------------