5

I am developing a few scripts in Python for QGIS 1.8 to automate some geo-tasks and one of them would be to calculate the shortest distance from a hospital to each building in a town.

I would like to take advantage of the already existing Qgis plugin but, as it is a C++ plugin, I am not sure whether it is possible to access it from Python? Is there a binding or a trick for that?

If not, any further advice would be appreciated! As the base data is OpenStreetMap data stored in a PostGIS DB, I may also try with pgRouting. But the QGIS plugin would be my favourite choice if possible.

PS: this question is close to this one: Is there a way to access QGIS plugins in Python? but I believe it's still different enough to be worth a new thred.

Stéphane Henriod
  • 1,263
  • 3
  • 15
  • 32

3 Answers3

3

gis-lab.info has a tutorial on using the network analysis library in QGIS using Python. It's not in English but Google Translate should be able to make it comprehensible. Good luck!

R.K.
  • 17,405
  • 3
  • 59
  • 110
2

There's a tutorial for the Network analysis library in the QGIS documentation that covers building a routing graph as well as shortest path and service area calculations.

underdark
  • 84,148
  • 21
  • 231
  • 413
1

You can find multiple versions of routing scripts which use the QGIS network analysis library in my Github repository, e.g. https://github.com/anitagraser/QGIS-Processing-tools/blob/master/2.2/scripts/point_layer_to_route.py which converts an ordered set of points into a route.

underdark
  • 84,148
  • 21
  • 231
  • 413