For my own data analysis pipeline, I am running a split screen setup with IPython notebooks on one side, generating variables from source data, pushing them to a CSV file which QGIS then reads/joins to an appropriate geography, instantly visible on the other side of the screen.
I would like to push the control of the running instance of QGIS to the ipython notebook, in effect allowing a super quick calculation/visualization cycle.
Right now I can do this in the QGIS python console with something like this:
canvas = qgis.utils.iface.mapCanvas() cLayer = canvas.currentLayer() canvas.refresh()
but I would like to:
- connect to an existing instance of qgis from an external Python environment
- at a minimum refresh the map, after each re-write to the csv from ipython notebook, but preferably
- re-calculate breaks (using quantiles, natural breaks) based on the newly joined values
How can I achieve this?