4 votos

Cargando las mismas capas cada vez

Recientemente he empezado a usar Qgis consola de python para el desarrollo de Qgis. Mi primera tarea es la carga de la capa y la impresión de sus atributos.Yo en primer lugar la carga de una capa de puntos mediante código mylr = QgsVectorLayer("/home/ali/Python Trabajo/trabajo para la línea central/","pnt.shp", "ogr") iter = mylr.getFeatures() por su función en el iter:

geom = feature.geometry()
print "Feature ID %d: " % feature.id()

if geom.type() == QGis.Point:
    x = geom.asPoint()
    print "Point: " + str(x)
elif geom.type() == QGis.Line:
    x = geom.asPolyline()
    print "Line: %d points" % len(x)
elif geom.type() == QGis.Polygon:
    x = geom.asPolygon()
    numPts = 0
    for ring in x:
    numPts += len(ring)
    print "Polygon: %d rings with %d points" % (len(x), numPts)
else:
    print "Unknown"    

attrs = feature.attributes()
print attrs

se imprimen los atributos de la capa de pnt.shp.Luego he cambiado el nombre de la capa mylr = QgsVectorLayer("/home/ali/Python Trabajo/trabajo para la línea central/","pgon.shp", "ogr") todo el código siguiente era el mismo.Cuando ejecute la secuencia de comandos se imprimen los atributos de la capa se me cargan antes de pnt.shp. Cada vez que puedo ejecutar mi script que imprima siempre los atributos de pnt.shp y no carga la capa actual Incluso si puedo cambiar el veriables se imprima siempre el mismo atributos de la capa Por favor me ayudan a resolver este problema

3voto

Balda Puntos 13

Como se muestra en: http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/loadlayer.html#vector-layers

El segundo parámetro de QqgVectorLayer () es el nombre de la capa que se muestra en qgis. Esto debería funcionar:

 QgsVectorLayer("/home/ali/Python Work/work for centerline/pnt.shp","pnt", "ogr")

QgsVectorLayer("/home/ali/Python Work/work for centerline/pgon.shp","pgon", "ogr")
 

Saludos

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