Skip to content

GSoC 2018 Extension of Gisquick platform

davidtethal edited this page Aug 9, 2018 · 107 revisions

Introduction

  • Name : David Těthal
  • Country : Czech republic
  • School : Czech Technical University in Prague
  • Email : davidtethal@gmail.com

Project information

Overview

My project will extend a basic filtering tool that is being developed as a part of my final thesis. Currently it is focused on spatio-temporal vector data filtering only. I would like to add support for general spatio-temporal both vector and raster data, as well as other functionalities that will make it easy to handle by every client and make the data publishing more effective.

Main goals

The purpose of my GSoC project is to add more functionalities into current filtering of vector data, namely simple query builder and advanced filtering and animating methods. Another and the most important step will be the implementation of raster data filtering. In order to support raster data, there will be changes made in Gisquick plugin for QGIS and probably also in QGIS server itself.

Proposal

Proposal document

Development

Repositories

Gisquick client branch https://github.com/davidtethal/gisquick-gsoc2018

Gisquick QGIS plugin https://github.com/davidtethal/gisquick-qgis-plugin-gsoc2018

Overview Timeline

Phase 1 (May 14, 2018 - June 15)

TASKS

Review possible raster data filtering ideas. Improve animation for spatio-temporal filter. Animations should respect data discontinuity. changing client filtering tools responsivity in order to satisfy need of all devices (desktop, tablet, mobile phones).

DELIVERABLES

Improvement of current vector layers filter tools functionality. Filtering tool UI will be responsible for the most devices. Came up with strategy for raster layers time filtration.

Phase 2 (June 15, 2018 - July 9)

TASKS

QGIS server changes in order to support Qdate time format. Add support for spatio-temporal raster data. Changing of Gisquick UI for raster data support. QGIS server changes in order to support Qdate time format. review of QGIS server changes and Qdate implementation. Add raster data support into Gisquick plugin

DELIVERABLES

Implementation of raster layer filtration on both Gisquick client and QGIS plugin.

Phase 3 (July 13, 2018 - August 6)

TASKS

Add support for filtering multiple raster layers at the same time. Add raster data filter settings for multiple layers similar as vector data. Optionally adding raster support into the current filtering tool. Add possibility for user to create a new layer made of filtered data. Add functionality for simple raster data animations. Submitting code and evaluations

DELIVERABLES

All data filtering tools will be functional for both raster and vector layers.

Progress Timeline

Community Bonding Period (April 23 - May 14)

TASKS

DONE

  • merge final thesis development into GSoC repositories
  • Gisquick plugin creating zip check bug report (current state of bug is still in the process)
  • make wiki page
  • create development repositories
  • current features review (QGIS plugin and web client)
  • get in touch with mentors
  • introduce myself into community and share my project ideas

Week 1 (14th May - 20th May)

TASKS

  • research QGIS 3 support (currently Gisquick supports QGIS2 only)

DOING

  • review possible raster data filtering ideas
  • change of data validation process in QGIS plugin

DONE

Week 2 (21st May - 27th May)

TASKS

  • add simplified query builder for easier data filtering on client side that will extend recent filtering using slider [CANCELED]

DOING

DONE

  • layers list combobox bug
    • height of the combobox (and whole row) is changing after change of its data (growing/shrinking)
  • toggle time layer settings visibility checkbox
    • create checkbox ui
    • toggle visibility
  • change of data validation process in QGIS plugin
    • validation of first map feature
    • create of unix time attribute if needed
    • validation statistics report
    • set instant validation on time attribute change
  • create Docker container for Gisquick client
    • get familiar with Docker
    • create vue-client dockerfile
    • modify docker-dompode-dev.yml

Week 3 (28th May - 3rd June)

TASKS

  • animations should respect data discontinuity [CANCELED]

DOING

  • improve animation for spatio-temporal filter
    • add data time step settings
    • create animation settings block

DONE

  • improve animation for spatio-temporal filter
    • add animation speed settings
  • change validation process in Gisquick plugin
    • create "check all data" checkbox
    • validate all time layer features data depending on the checkbox
    • change validation logic
    • warning/error messages
    • change time parameters computation
  • fix docker bug
  • remove attribute combobox after 'select all layers' selection
  • fix double range Mozilla slider bug

Week 4 (4th June - 10th June)

  • extra time in case of delay in extra filtering features implementation part

TASKS

  • change client filtering tools responsivity in order to satisfy need of all devices (desktop, tablet, mobile phones) [CANCELED]

DOING

DONE

  • fix animation slider bug
  • changing client filtering tools UI
  • code cleanup
  • improve animation for spatio-temporal filter
    • create animation settings block
    • add switch for fixing the interval while it's dragged
    • add data time step settings
  • create and deploy demonstration project

Week 5 (11th June - 17th June)

  • first evaluation of vector data filter widgets

TASKS

  • QGIS server changes in order to support Qdate time format

DOING

  • Qisquick plugin integration for QGIS 3
    • updating code

DONE

  • Qisquick plugin integration for QGIS 3
    • install QGIS 3
    • create new branch api-v2 containing old version
    • fix * imports
    • Python 2 to Python 3 and PyQt4 to PyQt5 using qgos2to3
    • change resources to PyQt5 using pyrcc5

Week 6 (18th June - 24th June)

TASKS

  • add support for spatio-temporal raster data
  • changing of Gisquick UI for raster data support
  • QGIS server changes in order to support Qdate time format

DOING

  • time layers publication bug
  • Qisquick plugin integration for QGIS 3
    • updating code

DONE

  • Qisquick plugin integration for QGIS 3
    • time layer validation process

Week 7 (25th June - 1st July)

  • extra time in case of additional QGIS server changes

TASKS

DOING

  • QGIS 3 server implementation
    • run published project

DONE

  • QGIS 3 server implementation
    • search possible solutions
    • build QGIS 3 locally
    • run lighttpd server locally
  • Qisquick plugin integration for QGIS 3
    • updating code (replace composer related methods with the new layouts engine)
    • get composer templates from current project
  • time layers publication bug

Week 8 (2nd July - 8th July)

  • second evaluation

TASKS

  • review of QGIS server changes and Qdate implementation

DOING

  • add raster data support into Gisquick client here
    • raster layer selection settings

DONE

  • QGIS support for Qdate time format
    • discuss possible solutions with mentors, problem here
  • add raster data support into Gisquick client here
    • create sample project with raster data
    • came up with concept of raster data selection
    • proof of concept using mock-up data
    • create docker image and deploy sample project here
    • simple animation button
  • Remove time filter tool when there are no time layers enhancement
  • bug fix
  • QGIS 3 server implementation
    • test of published project

Week 9 (9th July - 15th July)

TASKS

  • add support for filtering multiple raster layers at the same time
  • add raster layers selection settings for multiple layers similar as vector data

DOING

  • bug fix
    • remove duplicity in the code here
    • add time tool icon here
  • add raster data support into Gisquick client here
    • add advanced settings for raster layers
  • add raster data support into Gisquick plugin here
    • set date for raster layer by interval
    • save raster settings into metadata file

DONE

  • bug fix
    • publication of empty group in Gisquick plugin here
  • add raster data support into Gisquick plugin here
    • add combobox for raster layer groups
    • add time input for raster layers within raster group
    • create modal dialog depending on combobox selection
    • set date for raster layer manually
    • set date for raster layer by interval

Week 10(16th July - 22nd July)

TASKS

  • add possibility for user to create a new layer made of filtered data
  • bugs and enhancements
    • remove duplicity in the code here

DOING

  • bugs and enhancements
    • add time tool icon here

DONE

  • add raster data support into Gisquick plugin here
    • set date for raster layer by name
    • fix step in interval settings
    • remove time inputs if no option is selected
    • save raster settings into metadata file
    • add raster output date-time mask into metadata file
    • add raster settings into configuration summary
    • add advanced settings for raster layers
    • fix group visibility when raster layers are selected
  • bugs and enhancements
    • toggle visibility of output date mask combobox here
  • add raster data support into Gisquick client here
    • fix opacity settings (does not work with multiple layers)
  • update sample project here

Week 11(23th July –29th July)

TASKS

  • add functionality for simple raster data animations [finished within week 10]

DOING

  • client code refactoring
    • split current code into components

DONE

  • client code refactoring
    • create new working branch here
  • implement vuetify double range slider
    • update working repository from remote Gisquick repository for vuetify 1.1.6

Week 12(30th July – 6th Aug)

  • spare week for testing and bug fix

TASKS

  • submitting code and evaluations

DOING

DONE

  • client code refactoring here
    • split current code into components
    • remove code duplicity
  • implement component showing time values for selected layers
  • add icon into spatio-temporal tool in Gisquick client toolbox here
You can’t perform that action at this time.