- Plugin offers a Hello, World GUI window
- Test plugin server workflow by releasing v0.01 and a minorly modified v.0.02
- Plugin loads a vector layer from QGIS into plugin code using
pyqgis
- Modifies the geometry of that layer somehow
- Convert a qgis layer that the user specifies (via a GUI input widget) to a geopandas geodataframe object... and back again. These might help:
- Use this workflow plus a version edited to run 'in reverse'? https://gis.stackexchange.com/questions/362979/loading-geodataframe-as-qgis-vector-layer-without-exporting-to-shapefile
- Perhaps also of use: https://anitagraser.com/2018/11/18/movement-data-in-gis-16-towards-pure-python-trajectories-using-geopandas/
- Makes basic connections to our library (via a submodule), importing it, tests out functionality (can equally be done before any of the more substantial pyqgis coding above)
- Hardcoding all of the above to make the plugin, QGIS vector layer modification, and basic reprojections to work more or less together. Projections do not need to be user-inputted yet.
- UI design charrette
- UI implementation
- Write projstring and WKT parsers (limited implementations of just our subset of WKT projections, not all possible WKT projections, of course! likewise, just handle our projstrings.)
- Overview of parsing in Python: https://tomassetti.me/parsing-in-python/
- Also perhaps of use: https://www.dabeaz.com/ply/ply.html#ply_nn0
A bunch of these. This one seems the most useful:
These may also be helpful:
- https://www.e-education.psu.edu/geog489/l4_p9.html
- https://digital-geography.com/build-qgis-plugin/
- https://subscription.packtpub.com/book/application_development/9781783984985/1/ch01lvl1sec16/creating-a-qgis-plugin
- https://gis-ops.com/qgis-3-plugin-tutorial-plugin-development-explained-part-1/
- Packaging them by including wheels:
- One might want to set the minimum QGIS version for the plugin to be that point at which linux, macos, and windows versions were all bundling
scipy
andnumpy
, which we will need to determine.3.4.5 MacOS
does not allowimport scipy
from the Python console.- For people whose installations still don't have those dependencies and/or for people who want to try to get the plugin to work for earlier versions (for which they'd also have to manually modify a configuration file in the plugin, I assume?), we may want to eventually develop some pointers as to how to get
scipy
etc. installed on various platforms in a way that is visible to QGISes on those platforms, as some past instructions exist. See: https://gis.stackexchange.com/questions/366848/scp-plugin-for-qgis-3-10-on-mac