Python QGIS:图层无法加载

时间:2017-01-03 17:39:38

标签: python qgis

我正在尝试从Python中的SHP文件加载QGIS矢量图层。每当我运行它时,layer.isValid()总是返回False(或者在这种情况下“Layer is not valid!”)。我不确定我在这里做错了什么,或者我是否错误地实例化了QgsVectorLayer变量。

import sys
import os
from qgis.core import *
import matplotlib.pyplot as plt
from matplotlib.path import Path
import matplotlib.patches as patches


QgsApplication.setPrefixPath("/usr", True)
qgs = QgsApplication(sys.argv, False)
qgs.initQgis()

layer=QgsVectorLayer("/Users/ANON/Desktop/MassShapeFiles/MassachusettsTownBoundaries.shp", "MassachusettsTownBoundaries", "ogr")
providers = QgsProviderRegistry.instance().providerList()
for provider in providers:
    print provider
if not layer.isValid():
    print "Layer failed to load!"
provider = layer.dataProvider()

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为你的道路不正确。 期待路径结构我假设你在windows系统中,所以你的windows路径应该是:

"\\Users\\ANON\\Desktop\\MassShapeFiles\\MassachusettsTownBoundaries.shp"

使用双反斜杠表示法以避免python误解

答案 1 :(得分:0)

你在Windows系统中。但你已经使用qgis前缀路径作为Linux系统。通过打印QgsApplication.showSettings从qgis python控制台获取正确的qgis前缀路径。