Problemi Qgis calcolatore campi

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

Problemi Qgis calcolatore campi

Ilaria P.
Ciao a tutti, ho un problema, probabilmente è di facile soluzione, ma io mi sono proprio arenata.
Ho un certo numero di file vettoriali, tutti con due colonne, che ho chiamato type (una stringa) e typeN (numero intero). Ogni file presenta un certo numero di type (e relativi typeN), quello che voglio fare sarebbe assegnare ai diversi type lo stesso valore. Per esempio, ho uno shapefile con valori di type 'alberi' e 'prato', io vorrei che tutti i type avessero valore 'vegetazione'. Come devo fare?
Ho provato dal Calcolatore di campi, ma non riesco a capire come si usa: vado su "aggiorna un campo esistente", seleziono "type", da "Campi e valori" seleziono di nuovo type.... ma a questo punto? Come scrivo l'espressione?
Ho provato a cercare qualche esempio nell'uso del calcolatore campi per Qgis ma non ho trovato niente che mi potesse aiutare.

Grazie dell'aiuto

Ilaria

_______________________________________________
[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: Problemi Qgis calcolatore campi

Flavio Rigolon
ciao Ilaria,

> Ho provato dal Calcolatore di campi, ma non riesco a capire come si usa:
> vado su "aggiorna un campo esistente", seleziono "type", da "Campi e valori"
> seleziono di nuovo type.... ma a questo punto? Come scrivo l'espressione?
> Ho provato a cercare qualche esempio nell'uso del calcolatore campi per Qgis
> ma non ho trovato niente che mi potesse aiutare.

immagino tu stia parlando di QGIS.
Quando sei sul calcolatore di campi, dopo avere spuntato (come
giustamente hai fatto) la voce "Aggiorna campo esistente" ed avere
selezionato il campo da aggiornare, nella finestra "Espressione"
scrivi: 'vegetazione' (tra singoli apici) e dai OK: dovrebbe
funzionare

hth
flavio

--
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments
_______________________________________________
[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: Problemi Qgis calcolatore campi

Gabriela Osaci Costache
In reply to this post by Ilaria P.
Ciao!
Spero di aver capito bene: invece di "prato" o "alberi" nella colonna deve apparire "vegetazione". Se sì, prova a fare così: nel calcolatore di campi (avendo lo strato aperto per modifiche) vai a "Stringa"-"replace". Qui fai doppio click su replace e poi scrivi che cosa si deve rimpiazzare e con quale parola. Per esempio:
replace('prato','prato','vegetazione')
replace('alberi','alberi','vegetazione')

Non dimenticare di selezionare il campo da aggiornare!

Spero esserti stato d'aiuto.

Saluti,
Gabriela



Da: Ilaria Parodi <[hidden email]>
A: [hidden email]
Inviato: Lunedì 30 Dicembre 2013 18:18
Oggetto: [Gfoss] Problemi Qgis calcolatore campi

Ciao a tutti, ho un problema, probabilmente è di facile soluzione, ma io mi sono proprio arenata.
Ho un certo numero di file vettoriali, tutti con due colonne, che ho chiamato type (una stringa) e typeN (numero intero). Ogni file presenta un certo numero di type (e relativi typeN), quello che voglio fare sarebbe assegnare ai diversi type lo stesso valore. Per esempio, ho uno shapefile con valori di type 'alberi' e 'prato', io vorrei che tutti i type avessero valore 'vegetazione'. Come devo fare?
Ho provato dal Calcolatore di campi, ma non riesco a capire come si usa: vado su "aggiorna un campo esistente", seleziono "type", da "Campi e valori" seleziono di nuovo type.... ma a questo punto? Come scrivo l'espressione?
Ho provato a cercare qualche esempio nell'uso del calcolatore campi per Qgis ma non ho trovato niente che mi potesse aiutare.

Grazie dell'aiuto

Ilaria

_______________________________________________
[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


_______________________________________________
[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: Problemi Qgis calcolatore campi

antoniovinci
Gabriela Osaci Costache wrote
replace('prato','prato','vegetazione')
replace('alberi','alberi','vegetazione')

Cara Gabry, la soluzione di Flavio e' senz'altro preferibile, mentre la tua contiene un errore che qui correggo in grassetto:

replace('type','prato','vegetazione')
replace('type','alberi','vegetazione')

Buon Capodanno!
Reply | Threaded
Open this post in threaded view
|

Re: Problemi Qgis calcolatore campi

Gabriela Osaci Costache
Ciao e Buon Capodanno a tutti!

Per me ha funzionato più volte per risolvere questo tipo di problema: invece di "costr" deve apparire dappertutto "edificato". La mia soluzione non cambia il nome della colonna (il nome dell'atributo). Ecco l'esempio copiato dall'aiuto di QGIS:
replace('QGIS SHOULD ROCK','SHOULD','DOES')→ 'QGIS DOES ROCK'

Se l'espressione è sbagliata, non capisco come abbia funzionato?!

Saluti e grazie,
Gabriela



Da: antoniovinci <[hidden email]>
A: [hidden email]
Inviato: Lunedì 30 Dicembre 2013 19:34
Oggetto: Re: [Gfoss] Problemi Qgis calcolatore campi

/
Gabriela Osaci Costache wrote
> replace('prato','prato','vegetazione')
> replace('alberi','alberi','vegetazione')

/
Cara Gabry, la soluzione di Flavio e' senz'altro preferibile, mentre la tua
contiene un errore che qui correggo in grassetto:

replace('*type*','prato','vegetazione')
replace('*type*','alberi','vegetazione')

Buon Capodanno!





_______________________________________________
[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: Problemi Qgis calcolatore campi

antoniovinci
Confermo e sottoscrivo, il comando Replace funziona correttamente secondo la sintassi:

replace ("nome_colonna", 'vecchia_stringa', 'nuova_stringa')

Da notare le doppie virgolette intorno al campo, mentre le stringhe vogliono virgolette singole.

L'esempio dell'help di Qgis (che hai citato) si basa su un tragico bug, e mi spiego.

Supponi di dargli:

replace ('QGIS SHOULD ROCK and ROLL', 'SHOULD', 'DOES')

come vedi, ho aggiunto un inesistente "and ROLL" alla stringa originale.

Ebbene, in questo caso Qgis non solo sostituira' SHOULD con DOES, ma aggiungera' "and ROLL" in coda a quelle stringhe.

Facendo queste prove, ho scoperto un interessante utilizzo (non documentato) di Replace.

E' possibile ottenere l'identico risultato di Flavio, a patto di usare la seguente sintassi:

replace('VEGETAZIONE', ' ',' ' )

contenente 6 singoli apici.

Sembra pazzesco, ma l'intera colonna TYPE verra' sostituita in blocco dalla parola VEGETAZIONE...

An nou fericit !
Reply | Threaded
Open this post in threaded view
|

Re: Problemi Qgis calcolatore campi

pcav
Il 30/12/2013 22:53, antoniovinci ha scritto:
> Confermo e sottoscrivo, il comando Replace funziona correttamente secondo la

> Sembra pazzesco, ma l'intera colonna TYPE verra' sostituita in blocco dalla
> parola VEGETAZIONE...

Potete per cortesia segnalarlo in lista qgis-dev?
Grazie.

--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
_______________________________________________
[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: Problemi Qgis calcolatore campi

Gabriela Osaci Costache
In reply to this post by antoniovinci
Ciao e un 2014 meraviglioso a tutti e tutte!

Da:
antoniovinci <[hidden email]>
A: [hidden email]
Inviato: Lunedì 30 Dicembre 2013 23:53
Oggetto: Re: [Gfoss] Problemi Qgis calcolatore campi

>Confermo e sottoscrivo, il comando Replace funziona correttamente secondo la
>sintassi:
>*replace ("nome_colonna", 'vecchia_stringa', 'nuova_stringa')*


Sì, confermo anch'io: funziona benissimo, grazie!

>Supponi di dargli:
>replace ('QGIS SHOULD ROCK and ROLL', 'SHOULD', 'DOES')
>come vedi, ho aggiunto un inesistente "and ROLL" alla stringa originale.


Confermo anche qui. Strano!

>E' possibile ottenere l'identico risultato di Flavio, a patto di usare la
>seguente sintassi:
>*replace('VEGETAZIONE', ' ',' ' )*
>contenente 6 singoli apici.
>Sembra pazzesco, ma l'intera colonna TYPE verra' sostituita in blocco dalla
>parola VEGETAZIONE...


Confermo, ma la stessa sostituzione (strana, per l'intera colonna, non solo per le parole cercate!!) si ottiene usando quello che QGIS dà come esempio: replace('vecchia_stringa','stringa_da_sostituire','nuova_stringa'). Io ho usato l'esempio di QGIS e ha funzionato (per questo motivo ho risposto al messaggio di Ilaria), ma solo per colonne che contenevano una sola parola da sostituire (per esempio, tutte le 567 geometrie con nome "costr" che ho voluto rinominare "edificato" o "spazio costruito"). Però, facendo delle prove con uno strato avendo molti usi del terreno (boschi, prati, frutteti, edificato ecc.) nella stessa colonna e usando l'espressione proposta da QGIS verrà sostituita l'intera colonna in blocco (con la nuova parola), non solo la parola da sostituire. Dunque, non funziona bene. Che sia un bug?

Sono sotto Windows 8 e ho fatto le prove sia in QGIS 2 che in QGIS-dev (aggiornato ieri sera).

Saluti e grazie,
Gabriela

P.S. Grazie mille per gli auguri in romeno :-)


_______________________________________________
[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