aggiungere un feature tramite python ad un layer

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

aggiungere un feature tramite python ad un layer

Ely Parker
Salve non so se qualcuno mi può aiutare

Tramite python in qgis 2.0 devo aggiungere una feature con gli stessi campi ad shape puntuale aggiornando i campi

Qualcuno mi sa indicare il codice?

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: aggiungere un feature tramite python ad un layer

Paolo Corti
2014/1/14 Salvo caligiore <[hidden email]>:
> Salve non so se qualcuno mi può aiutare
>
> Tramite python in qgis 2.0 devo aggiungere una feature con gli stessi campi
> ad shape puntuale aggiornando i campi
>
> Qualcuno mi sa indicare il codice?

http://www.qgis.org/en/docs/pyqgis_developer_cookbook/vector.html

guarda la sezione Modifying Vector Layers > Add Features
ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: aggiungere un feature tramite python ad un layer

Ely Parker


Il giorno 14/01/14 18:13, "Paolo Corti" <[hidden email]> ha scritto:

>2014/1/14 Salvo caligiore <[hidden email]>:
>> Salve non so se qualcuno mi può aiutare
>>
>> Tramite python in qgis 2.0 devo aggiungere una feature con gli stessi
>>campi
>> ad shape puntuale aggiornando i campi
>>
>> Qualcuno mi sa indicare il codice?
>
>http://www.qgis.org/en/docs/pyqgis_developer_cookbook/vector.html
>
>guarda la sezione Modifying Vector Layers > Add Features
>ciao
>P


No quel codice non va bene  in quanto definisce i campi ex novo(definendo
manualmente i campi shape) mentre a me serviva qualcosa che che
aggiungesse sostanzialmente un nuovo record/elemento con 40 campi

Ho risolto con questo codice
   def nuovoRecord(self):
   
       
        self.nuovo=QgsFeature()
        self.myfields=self.livello.dataProvider().fields()
        self.nuovo.setFields(self.myfields)
       


       

Il solo problema è che devo PER FORZA usare un campo globale come
self.myfields per tenere la lista dei campi, ossia non posso usare una
variabile globale, altrimenti qgis esplode
Cosa almeno funziona
Qualcuno conosce un¹alternativa?

ciao

>


_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: aggiungere un feature tramite python ad un layer

Giuliano Curti
Il giorno Thu, 16 Jan 2014 14:00:40 +0100
Salvo caligiore <[hidden email]> ha scritto:

ciao Salvo,
 
 

> Il giorno 14/01/14 18:13, "Paolo Corti" <[hidden email]> ha scritto:
>
> >2014/1/14 Salvo caligiore <[hidden email]>:
> >> Salve non so se qualcuno mi può aiutare
> >>
> >> .....
> ......... mentre a me serviva
> qualcosa che che aggiungesse sostanzialmente un nuovo record/elemento
> con 40 campi
>
> Ho risolto con questo codice
>    def nuovoRecord(self):
>
> self.nuovo=QgsFeature()
> self.myfields=self.livello.dataProvider().fields()
> self.nuovo.setFields(self.myfields)
>
> Il solo problema è che devo PER FORZA usare un campo globale come
> self.myfields per tenere la lista dei campi, ossia non posso usare una
> variabile globale, altrimenti qgis esplode
> Cosa almeno funziona
> Qualcuno conosce un¹alternativa?

per te sarà chiaro, ma per me che leggo meno: cosa vuoi dire con "campo
globale" (non va bene) e "variabile globale" (va bene) ?


> ciao

ciao,
giuliano

_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: aggiungere un feature tramite python ad un layer

Ely Parker


Il giorno 18/01/14 10:45, "giulianc51" <[hidden email]> ha scritto:

>Il giorno Thu, 16 Jan 2014 14:00:40 +0100
>Salvo caligiore <[hidden email]> ha scritto:
>
>ciao Salvo,
>
>
>> Il giorno 14/01/14 18:13, "Paolo Corti" <[hidden email]> ha scritto:
>>
>> >2014/1/14 Salvo caligiore <[hidden email]>:
>> >> Salve non so se qualcuno mi può aiutare
>> >>
>> >> .....
>> ......... mentre a me serviva
>> qualcosa che che aggiungesse sostanzialmente un nuovo record/elemento
>> con 40 campi
>>
>> Ho risolto con questo codice
>>    def nuovoRecord(self):
>>
>> self.nuovo=QgsFeature()
>> self.myfields=self.livello.dataProvider().fields()
>> self.nuovo.setFields(self.myfields)
>>
>> Il solo problema è che devo PER FORZA usare un campo globale come
>> self.myfields per tenere la lista dei campi, ossia non posso usare una
>> variabile globale, altrimenti qgis esplode
>> Cosa almeno funziona
>> Qualcuno conosce un¹alternativa?
>
>per te sarà chiaro, ma per me che leggo meno: cosa vuoi dire con "campo
>globale" (non va bene) e "variabile globale" (va bene) ?
>



Scusami intendevo variabile locale e invece ho detto l’opposto globale

In pratica se invece di usare self.myfields uso myfields direttamente,
qgis va in crash
ciao

>


_______________________________________________
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: aggiungere un feature tramite python ad un layer

Giuliano Curti
Il giorno Sun, 19 Jan 2014 02:15:22 +0100
Salvo caligiore <[hidden email]> ha scritto:

> Il giorno 18/01/14 10:45, "giulianc51" <[hidden email]> ha
> scritto:
>
> >Il giorno Thu, 16 Jan 2014 14:00:40 +0100
> >Salvo caligiore <[hidden email]> ha scritto:
> >
> >..............................
> >> Il solo problema è che devo PER FORZA usare .....
> >
> >per te sarà chiaro, ma per me che leggo meno: cosa vuoi dire con
> >"campo globale" (non va bene) e "variabile globale" (va bene) ?
>
> Scusami intendevo variabile locale e invece ho detto l’opposto globale
>
> In pratica se invece di usare self.myfields uso myfields direttamente,
> qgis va in crash

ok, adesso è più chiaro :-)

per la mia (scarsa) conoscenza di python non dovrebbe succedere, non
riesco quindi a capire le cause del problema che segnali: speriamo che
qualche esperto ci illumini :-)


> ciao

ciao,
giuliano
_______________________________________________
[hidden email]
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