I would like to construct a Python based GUI which has basic GIS visualization capability. This capability should include:

1) importing OpenSteetMap

2) importing shapefiles/rasters

3) turning layers on and off

4) zooming, panning etc

I was looking into packages like qt, tkinter or mpl_toolkits. I was able to plot a shapefile using mpl_toolkits.Basemap but I have the impression it is not the most suitable tool for this kind of application... Any ideas?

closed as too broad by user2856, whyzar, Hornbydd, Vince, Andre Silva Sep 6 '18 at 14:30

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    You can use QGIS for this - it has all those capabilities (and more) and a python API so you can build standalone apps using the MapCanvas widget using the Qt toolkit. – Spacedman Sep 6 '18 at 7:01
  • Nice. That definitely gives me something to chew on. Can you build web apps with the qgis API? Like can you load up the MapCanvas as part of a WMS/WPS? – user32882 Sep 6 '18 at 8:51
  • I'm not sure, and that's way out of scope of your original question - try asking another question. – Spacedman Sep 6 '18 at 10:57
  • I can see how mapcanvas can cover 2) importing rasters and shapefiles and 4) zoming/panning. However I don't see how it can cover 1) importing OpenStreetMap and 3) turning layers on and off. Isn't it just a canvas that represents what's loaded up in QGIS? – user32882 Sep 6 '18 at 10:57
  • 1
    You are not quite right - this is about single python GUI application with QGIS functionality (PyQt is preferable). docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/… – Dmitry Baryshnikov Sep 6 '18 at 11:16

Browse other questions tagged or ask your own question.