【问题标题】:Python QGIS: Layer failed to loadPython QGIS:图层无法加载
【发布时间】:2017-03-08 13:00:00
【问题描述】:

我正在尝试从 Python 中的 SHP 文件加载 QGIS 矢量图层。每当我运行它时, layer.isValid() 总是返回 False (或“层无效!”在这种情况下)。我不确定我在这里做错了什么,或者我是否错误地实例化了 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()

谢谢!

【问题讨论】:

    标签: python qgis


    【解决方案1】:

    我认为您的路径格式不正确。 查看路径结构,我假设您在 Windows 系统中,因此您的 Windows 路径应该是:

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

    使用双反斜杠符号来避免对 python 的误解

    【讨论】:

      【解决方案2】:

      你在windows系统。但是您已将 qgis 前缀路径用作 linux 系统。通过打印 QgsApplication.showSettings 从 qgis python 控制台获取正确的 qgis 前缀路径。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-04-15
        • 2014-05-23
        • 2016-05-28
        • 1970-01-01
        • 1970-01-01
        • 2018-07-10
        • 1970-01-01
        相关资源
        最近更新 更多