[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

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

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 ilaria.parodi.78@gmail.com
A: Gfoss@lists.gfoss.it
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


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

/
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!

-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Problemi-Qgis-calcolatore-campi-tp7585624p7585627.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

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 sieradz@outlook.com
A: gfoss@lists.gfoss.it
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!

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 !

-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Problemi-Qgis-calcolatore-campi-tp7585624p7585631.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

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

Ciao e un 2014 meraviglioso a tutti e tutte!

Da: antoniovinci sieradz@outlook.com
A: gfoss@lists.gfoss.it
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 :slight_smile: