[Gfoss] Impazzendo... sulle nuove API, che pungono !

Buongiorno,

qualcuno sa indicarmi dove fare richieste sulle nuove API PyQGis 2.0.1 ?

Il mio problema è che… sono cambiate e non riesco a reperire documentazione completa corretta e completa.

:frowning:

2013/10/14 Geo DrinX <geodrinx@gmail.com>

Buongiorno,

qualcuno sa indicarmi dove fare richieste sulle nuove API PyQGis 2.0.1 ?

Il mio problema è che... sono cambiate e non riesco a reperire
documentazione completa corretta e completa.

hai guardato qui?

http://hub.qgis.org/wiki/17/Python_plugin_API_changes_from_18_to_20

Grazie, ho visto, ma non basta. Occorrono esempi d’uso.

Impossibile programmare in questo modo.

Il mio codice scritto per per la versione 1.8 non funziona più :frowning:

Un lavoro di mesi buttato nel cestino…

···

Il giorno 14 ottobre 2013 12:44, Luca Manganelli <luca76@gmail.com> ha scritto:


Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell’Associazione GFOSS.it.
666 iscritti al 22.7.2013

2013/10/14 Geo DrinX <geodrinx@gmail.com>

Buongiorno,

qualcuno sa indicarmi dove fare richieste sulle nuove API PyQGis 2.0.1 ?

Il mio problema è che… sono cambiate e non riesco a reperire documentazione completa corretta e completa.

hai guardato qui?

http://hub.qgis.org/wiki/17/Python_plugin_API_changes_from_18_to_20

Beh, spero che nella versione 1.8 funzioni ancora :slight_smile:
Credo che ci voglia un po' di tempo perché arrivino dei buoni esempi d'uso, immagino che chi ha lavorato alla transizione abbia dato priorità ad altre cose più urgenti.
Hai provato in lista QGIS con domande specifiche?
Ale

On 10/14/2013 12:51 PM, Geo DrinX wrote:

Grazie, ho visto, ma non basta. Occorrono esempi d'uso.

Impossibile programmare in questo modo.

Il mio codice scritto per per la versione 1.8 non funziona più :frowning:

Un lavoro di mesi buttato nel cestino...

--
Alessandro Sarretta

e-mail: alessandro.sarretta@gmail.com
skype: alesarrett
Web: http://ilsarrett.wordpress.com
Twitter: https://twitter.com/alesarrett
Google scholar: http://scholar.google.it/citations?hl=it&user=IsyXargAAAAJ
ORCID: http://orcid.org/0000-0002-1475-8686
ResearchGate: https://www.researchgate.net/profile/Alessandro_Sarretta/

2013/10/14 Geo DrinX <geodrinx@gmail.com>

Impossibile programmare in questo modo.

Il mio codice scritto per per la versione 1.8 non funziona più :frowning:

Un lavoro di mesi buttato nel cestino...

Non demoralizzarti. Anche noi stiamo migrando plugin grossi (mesi di lavoro
anche per noi).
Se puoi spiegarci meglio il problema, potremo aiutarti.

hai guardato qui?

http://hub.qgis.org/wiki/17/Python_plugin_API_changes_from_18_to_20

Sono partito proprio da quella pagina. Però, non sono il solo ad aver
trovato problemi:

http://gis.stackexchange.com/questions/64803/add-attributes-to-vector-layer-with-pyqgis-qgis-2-0-api

La voglia di lasciar perdere è forte... :frowning:

Non demoralizzarti. Anche noi stiamo migrando plugin grossi (mesi di
lavoro anche per noi).
Se puoi spiegarci meglio il problema, potremo aiutarti.

Ti ringrazio.
Per farla breve, devo creare un memoryLayer e devo inserire un punto con un
record associato:

------------------------------------------------------------------------------------------------------------
geomType = "Point" + '?crs=proj4:' +
QgsProject.instance().readEntry("SpatialRefSys","/ProjectCRSProj4String")[0]
DronePlan = "DronePlan_"
memLay = QgsVectorLayer(geomType, DronePlan, 'memory')

pr2 = memLay.dataProvider()

res = pr2.addAttributes( [QgsField('Campo')])

fields = memLay.pendingFields()
f = QgsFeature(fields)

f['Campo'] = 100
------------------------------------------------------------------------------------------------------------

Ma la console risponde:
KeyError: 'Campo'

??? cosa vuole ?

… comunque, vedo che sono in buona compagnia:

http://osgeo-org.1560.x6.nabble.com/addAttribute-to-memory-layer-td5082136.html

:slight_smile:

···

Il giorno 14 ottobre 2013 14:16, Geo DrinX <geodrinx@gmail.com> ha scritto:

Ti ringrazio.

Per farla breve, devo creare un memoryLayer e devo inserire un punto con un record associato:


geomType = “Point” + ‘?crs=proj4:’ + QgsProject.instance().readEntry(“SpatialRefSys”,“/ProjectCRSProj4String”)[0]
DronePlan = “DronePlan_”
memLay = QgsVectorLayer(geomType, DronePlan, ‘memory’)

pr2 = memLay.dataProvider()

res = pr2.addAttributes( [QgsField(‘Campo’)])

fields = memLay.pendingFields()
f = QgsFeature(fields)

f[‘Campo’] = 100

Ma la console risponde:
KeyError: ‘Campo’

??? cosa vuole ?

Non demoralizzarti. Anche noi stiamo migrando plugin grossi (mesi di lavoro anche per noi).

Se puoi spiegarci meglio il problema, potremo aiutarti.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 14/10/2013 13:53, Luca Manganelli ha scritto:

Non demoralizzarti. Anche noi stiamo migrando plugin grossi (mesi
di lavoro anche per noi).

A proposito: invito tutti a pubblicare i loro plugins. Anche quando di
uso molto specifico o settoriale, possono costituire un interessante
esercizio e fnte di idee per gli altri.
Grazie.

- --
Paolo Cavallini - Faunalia
www.faunalia.eu
Full contact details at www.faunalia.eu/pc
Nuovi corsi QGIS e PostGIS: http://www.faunalia.it/calendario
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlJb4aIACgkQ/NedwLUzIr6G9wCeJzgQYM9GR8QFudFoUE5rkwR0
iSwAoJJFCTcGo3fMwhC/NU6nCjvMZK67
=DcHP
-----END PGP SIGNATURE-----

2013/10/14 Geo DrinX <geodrinx@gmail.com>

Ti ringrazio.
Per farla breve, devo creare un memoryLayer e devo inserire un punto con
un record associato:

Effettivamente sembra un bug che riguarda la parte di python, nello
specifico di QgsField, se non si mette il secondo parametro assume come
valore QVariant::Invalid, anche se è impossibile specificare il tipo...

andrebbe segnalato su qgis-dev.

Effettivamente sembra un bug che riguarda la parte di python, nello
specifico di QgsField, se non si mette il secondo parametro assume come
valore QVariant::Invalid, anche se è impossibile specificare il tipo...

andrebbe segnalato su qgis-dev.

Come si fa a segnalare ? Non sono iscritto...

prova la soluzione che ghi ha suggerito Martin a Alessandro Pasotti a Brighton
morale aggiungere la chiamata:

.updateFields()

dalla lista di qgis-developer (a cui ti consiglio di iscriverti se vuoi fare il porting e cercare li dentro)

···

Dear All,
I’m converting a plugin with new API but I still doen’t figure out how to add attribute to feature.
I know it’s a stupid question but i think the cookbook is till not updated?
http://qgis.org/it/docs/pyqgis_developer_cookbook/vector.html#add-features

You can try this method:

https://github.com/elpaso/qgis-geocoding/blob/master/GeoCoding.py#L289

2013/10/14 Geo DrinX <geodrinx@gmail.com>


Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell’Associazione GFOSS.it.
666 iscritti al 22.7.2013

Ti ringrazio.

Per farla breve, devo creare un memoryLayer e devo inserire un punto con un record associato:


geomType = “Point” + ‘?crs=proj4:’ + QgsProject.instance().readEntry(“SpatialRefSys”,“/ProjectCRSProj4String”)[0]
DronePlan = “DronePlan_”
memLay = QgsVectorLayer(geomType, DronePlan, ‘memory’)

pr2 = memLay.dataProvider()

res = pr2.addAttributes( [QgsField(‘Campo’)])

fields = memLay.pendingFields()
f = QgsFeature(fields)

f[‘Campo’] = 100

Ma la console risponde:
KeyError: ‘Campo’

??? cosa vuole ?

Non demoralizzarti. Anche noi stiamo migrando plugin grossi (mesi di lavoro anche per noi).

Se puoi spiegarci meglio il problema, potremo aiutarti.

ma ci sei o ci fa? iscriviti!

···

2013/10/14 Geo DrinX <geodrinx@gmail.com>


Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell’Associazione GFOSS.it.
666 iscritti al 22.7.2013

Come si fa a segnalare ? Non sono iscritto…

Effettivamente sembra un bug che riguarda la parte di python, nello specifico di QgsField, se non si mette il secondo parametro assume come valore QVariant::Invalid, anche se è impossibile specificare il tipo…

andrebbe segnalato su qgis-dev.