6 votos

Problema al cargar la capa vectorial (pyQGIS)

He instalado el qgis en ubuntu 12.04 siguiendo las instrucciones en http://hub.qgis.org/projects/quantum-gis/wiki/Download . Estoy tratando de probar la API de Python y tratar de hacer lo siguiente

from qgis.core import *
layer = QgsVectorLayer("coast.shp", "coast_shp", "ogr")

Pero layer.isValid() devuelve falso. ¿Alguna idea de por qué puede ocurrir?

10voto

Mark Bidewell Puntos 28

Tuve un problema similar.

Encontré que el problema podría deberse a las siguientes posibilidades:

  1. Cuando se configura la QgsApplication, el PrefixPath debe hacerse correctamente.

    Mi QGIS estaba instalado en /usr/share/qgis.

    Pero de alguna manera necesito establecer el PrefixPath como "/usr" y no "/usr/share/qgis":

    QgsApplication.setPrefixPath("/usr", True)
  2. La ruta de los archivos .shp.

    Asumiendo que están bajo un subdirectorio de la ruta actual, "Mapas/", puedes cargar el archivo con:

    mapFile = "Maps/world_borders.shp"
    layer = QgsVectorLayer(os.path.abspath(mapFileName), mapFileName[mapFileName.rfind("/")+1:-4], "ogr")
  3. Por último, no todos los archivos .shp son "iguales" ;P

    Algunos archivos .shp pueden cargarse sin problemas en QGIS y visualizarse.

    Algunos, probablemente creados en ESRI ArcMap, requieren el resto de los archivos (.shp, .shx, .dbf, .prj, .sbn, .sbx)

Espero que esta información ayude.

1voto

Andrew Puntos 8049

Creo que necesitas dar la ruta completa de tu shapefile en windows

layer = QgsVectorLayer("c:/coast.shp", "coast_shp", "ogr")

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X