[Gfoss] python console - vector geometry type - attribute error

ciao a tutti, sono nuovo in lista.
non so se la domanda è opportuna o mi devo rivolgere piu’ direttamente agli sviluppatori.

sto provando a studiare Python e dalla console di QGIS 2.1. Master sto lavorando con layer vettoriali.

se provo a eseguire il seguente modulo (sempre dentro la console python):

from PyQt4.QtCore import *
from PyQt4.QtGui import *

cLayer = qgis.utils.iface.mapCanvas().currentLayer()
feat = QgsFeature()

for feat in cLayer.getFeatures():
print "Feature ID %d: " % feat.id()
geom = feat.geometry()
if (geom.vectorType() == QGis.Point()):
x = geom.AsPoint()
elif (geom.vectorType() == QGis.Line):
x = 'geom.AsLine()

ottengo il seguente errore AttributeError: ‘QgsGeometry’ object has no attribute ‘vectorType’

la ocsa strana è che ho ripreso questo esempio dal manuale on line: @http://www.qgis.org/en/docs/pyqgis_developer_cookbook/vector.html

puo’ essere che non esista il metodo vectorType?
in effetti su API Documentation nella classe QgsGeometry non c’è un metodo pubblico con questo nome, ma allora c’è un errore nel manuale…

Qualcuno ha già affrontato il problema e/o supportarmi in questo dubbio da principiante?

Grazie in anticipo.
Saluti,

Fabrizio

Il giorno Wed, 20 Nov 2013 18:11:21 +0100
Fabrizio murè <fabriziomure@gmail.com> ha scritto:

ciao a tutti, sono nuovo in lista.

ciao, benvenuto :slight_smile:

......

cLayer = qgis.utils.iface.mapCanvas().currentLayer()

basta: cLayer = iface.activeLayer()
(iface è già inizializzata :slight_smile:

feat = QgsFeature()

questa non è necessaria, cLayer.getFeatures() restituisce una feature
(è un refuso nel cookbook che inganna effettivamente);

.....
    if (geom.vectorType() == QGis.Point()):

  if (geom.type() == QGis.Point):

Qualcuno ha già affrontato il problema e/o supportarmi in questo
dubbio da principiante?

provato :slight_smile:

Grazie in anticipo.
Saluti,

Fabrizio

ciao,
giuliano