-
-
Notifications
You must be signed in to change notification settings - Fork 372
GSOC 2018 Making pgRoutingLayer plugin compatible with QGIS 3 and adding additional GUI support
- Brief Idea about the project
- State of Project Before GSoC 2018
-
Project
- Proposal
- Biography
- Pre-Bonding period
- Community Bonding Period
- References
The new version of QGIS has introduced an API break. The key changes in QGIS 3.0 are as follows:
- Updated from Qt4 to Qt5
- Updated from PyQt4 to PyQt5
- Updated from Python 2.7 to Python 3.0
- QGIS API is improved , many classes have been deprecated or renamed.
The above changes have implications that the pgRoutingLayer plugin is no longer compatible with QGIS 3.0 . For my GSoC project I propose to accomodate these changes in pgRoutingLayer plugin code and also make use of the new features introduced in QGIS 3.0 to improve the functionality of plugin’s GUI. Also I propose to add functionality for the proposed stable functions of following families:
- Astar : pgr_astarCost , pgr_astarCostMatrix
- Bidirectional astar : pgr_bdAstarCost , pgr_bdAstarCostMatrix
- Bidirectional Dijkstra : pgr_bdDijkstraCost , pgr_bdDijkstraCostMatrix
- Flow
The current state of the pgRouting is not compatible with the new version of QGIS. The plugin is written in python 2 . It uses PyQt4 as python binding for Qt4 . There are proposed stable functions scheduled for the next major release. Current plugin has no functionality for these functions.Also there is no test coverage for the plugin code.
- Name : Aasheesh Tiwari
- Country: India
-
Schools & Degrees :
-
Masters : Geoinformatics and Natural Resources Engineering
- School : Indian Institute of Technology, Bombay
- Department: Centre of Studies in Resources Engineering
-
Bachelors : Computer Science Engineering
- School : Lakshmi Narain College of Technology, Bhopal
- Department: Department of Computer Science Engineering
-
Masters : Geoinformatics and Natural Resources Engineering
-
Contacts :
- Email : [email protected]
These are the things I did while applying for GSoC
- Documented the pgRoutingLayer plugin code.
- Refreshed object oriented programming concepts.
- Refreshed SQL concepts.
- Read , documented and ran the pgRouting code on my machine.
- Read pygis cookbook and made a sample plugin.
- Studied the basics of Qt , PyQt .
- Studied about unit tests and wrote few tests for sample plugin.
- Read QGIS-api break , Qt5 , PyQt5 documentations.
- Read articles about porting QGIS plugins.
- Setup QGIS 3.0 environment on my machine.
Following tasks are planned to be done during 23rd April to 14th may.
- Get in touch with the community, mentors, and introduce my project to them and receive early feedback.
- Set up wiki page to maintain weekly progress and other information of the project.
- Study the PyQGIS cookbook and other resources to better understand the pgRouting code.
- Study the differences between Qt4 and Qt5 and maintain a list of these differences which are relevant to pgRouting code on my wiki page.
- Study the differences between PyQt4 and PyQt5 and maintain a list of differences specific to pgRouting code on my wiki page.
- Study the QGIS Api-break documentation and create a list of changes required in pgRouting code on my wiki page.
- Study the signatures and documentation of proposed functions.
Some of the differences between Qt4 and Qt5 have been mentioned in the project proposal. This list will be constantly updated after reading documentations and pgRoutingLayer code.
This list will contain all the changes like deprecated functions, renamed functions and functionality changes. I wish to go through the pgRouting code and list all the changes required.