Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dr Samantha Lavender and Davide Mainas,

Similar presentations


Presentation on theme: "Dr Samantha Lavender and Davide Mainas,"— Presentation transcript:

1 Dr Samantha Lavender and Davide Mainas,
Integrating QGIS functionality into a data workflow through both automated processing and a plugin Dr Samantha Lavender and Davide Mainas, Pixalytics Ltd Plymouth Science Park, Plymouth

2 Topics being discussed
Workflow to create Landsat 8 mosaics: Started with code running within QGIS Transitioned to code running from a web frontend First project developing a QGIS plugin Some initial thoughts / lessons learnt

3 Landsat 8 Mosaicing Why write our own mosaicing tool?
Larger areas are covered by more than one Landsat scene Scene sensing date flexibility e.g. summer vs spring Reducing scene-to-scene visual differences, including option of applying a full atmospheric correction Convenient web interface for customers

4 Landsat 8 Mosaicing: Steps
Select the scenes: convert select areas to WRS-2 Paths and Rows Seasonal matching: pick images of around the same day of year (and ideally year) to minimise on-ground differences Atmospheric normalisation / correction Single band clipping: extra sections that are needed Removing no data values: black (fill) areas around Landsat image Merging single bands and create RGB composite What’s next: Cloud removal / hole filling Further work on improving the colour and contrast homogenization

5 Example: variation within vegetation

6 Landsat 8 Mosaic: QGIS Running python script from QGIS, from the Python Console Mosaic definition: centre point latitude and longitude and distance from center QGIS Integration using QGIS Python API: Pros: Real-time visual feedback of processing by displaying in QGIS Cons: Slower Unstable

7 Landsat 8 Mosaic: Python module
Python module using GDAL and OGR utilities and libraries Mosaic definition: SW and NE Lat/Lon of bounding box Pros: Standalone Easy integration with web interface Cleaner and overall less verbose code Cons: Vector/Raster Layer display currently missing – will look at loading layers into WebGIS when processing completes Previous cloud removal algorithm removed for now as used QGIS functionality – will re-develop

8 Recent experience with plugin
Developing the front-end is relatively straightforward with the use of plugin: Plugin Builder Use the following to build and deploy code from development location to QGIS folder: pb_tool and Plugin Reloader Performing the processing is proving to be more complex: Dealing with files that have a Custom Coordinate Reference System (CRS), and then reprojection to another CRS Currently trying a combination of gdal to write GeoTIFF (with Custom CRS) and then gdalogr:warpreproject warpreproject parameters vary with QGIS version (> 15) so need backward compatibility in code Using temporary raster files for intermediate steps, as couldn’t see how to ‘just process in memory’ when using gdalogr

9 Conclusions More and more code is being developed in Python, so by choosing this language we can use functionality from several communities. Most of our ‘QGIS code’ is actually using gdal functionality, and so the automated workflow just uses this. Online forums have been very helpful alongside reading code from other developers, including the QGIS underpinning code. There is difficulty is knowing whether answers are still valid for the current QGIS version, so also using processing.alghelp(‘xxx') can help to check the current format of functions Although the plugin is for a client (and can’t be shared) we’ll aim to share our ‘experience learnt’, how best to do this?

10 Landsat-8 data courtesy of the USGS/NASA.
Thank You Landsat-8 data courtesy of the USGS/NASA.


Download ppt "Dr Samantha Lavender and Davide Mainas,"

Similar presentations


Ads by Google