Hello I am currently trying to learn PyQGIS. At almost the beginning I have 
encountered a problem loading a shapefile into pyqgis, using a standalone 
application (in this case, Pyscripter 3.2.2, 32 bit). I have tried both QGIS 
3.0 (newest OSGeo4w version) and 2.18 standalone with OSGeo4w applications, 
with Python 3.6/2.7 respectively, all being 32 bit. The operating system is 
windows 10 home, 64 bit.

I have tried using several different shapefiles (.shp extensions). They can all 
be loaded into the different versions of QGIS. I have followed 
https://docs.qgis.org/2.14/en/docs/pyqgis_developer_cookbook/loadlayer.html#vector-layers
 , and tried with small variations (changing the path from “/path/to/file.shp” 
to r”path\to\file.shp”) that GIS stack exchange have suggested.

The current python code is:

  1.  from qgis.core import *
  2.  import qgis.utils
  3.  import os
  4.
  5.  QgsApplication.setPrefixPath('C:/qgis218/apps/qgis-ltr', True)
  6.  qgs = QgsApplication([], True)  #has also tried with False
  7.
  8.  qgs.initQgis()
  9.
  10. data_source = r"C:\python_qgis\airport_tutorial\ne_10m_airports.shp"
  11. layer = QgsVectorLayer(data_source, "airports", "ogr")
  12.
  13. if not layer.isValid():
  14.     print ("Layer failed to load!")
  15. print "File Path points to a file: ", os.path.isfile(data_source)

(the prefix path is correct according to QGIS’ own python console, using print 
QgsApplication.showSettings() )

The code always returns “layer failed to load!” even though the file path is 
correct.
I would therefore like to ask what might be the problem here? If more 
information is needed, please say.
Thanks in advance!
Best regards,
Jonas

_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to