inividuare record doppioni

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

Re: inividuare record doppioni

Novarese
Matteo Asioli wrote
in Qgis riesco ad individuare i record univoci
La tecnica che ho suggerito scova i doppioni all'interno di un foglio elettronico, dopodichè costruisce l'interrogazione SQL da incollare in Qgis.

1] lancia l'opensource Libreoffice, e setta la lingua come "inglese"
2] apri una copia PIPPO del file .DBF contenuto nello shapeset PLUTO
3] cancellare tutto tranne la colonna contenente i doppioni
4] sortare alfabeticamente la colonna A
5] supponendo che in A1 ci sia il nome del campo, inserisci in B2 la formula =IF(A3=A2)
6] propaga il contenuto di B1 a tutta la colonna B
7] dove vedi TRUE significa che c'è un doppione
8] DATA => FILTER => AUTOFILTER ed estrapoli solo i valori TRUE (che in Libreoffice sono marcati come "1")
9] copia la sotto-colonna A in un foglio vuoto, ottenendo i valori doppi come occorrenze univoche

Rifatti vivo quando sei arrivato a questo punto, grazie.
Reply | Threaded
Open this post in threaded view
|

Re: inividuare record doppioni

Matteo Asioli
...ho intuito la procedura che fai. ma riesco anche con openoffice?


Il giorno 30 ottobre 2013 08:15, Novarese <[hidden email]> ha scritto:
Matteo Asioli wrote/
> in Qgis riesco ad individuare i record univoci
/

La tecnica che ho suggerito scova i doppioni all'interno di un foglio
elettronico, dopodichè costruisce l'interrogazione SQL da incollare in Qgis.

1] lancia l'opensource Libreoffice, e setta la lingua come "inglese"
2] apri una copia PIPPO del file .DBF contenuto nello shapeset PLUTO
3] cancellare tutto tranne la colonna contenente i doppioni
4] sortare alfabeticamente la colonna A
5] supponendo che in A1 ci sia il nome del campo, inserisci in B2 la formula
*=IF(A3=A2)*
6] propaga il contenuto di B1 a tutta la colonna B
7] dove vedi TRUE significa che c'è un doppione
8] DATA => FILTER => AUTOFILTER ed estrapoli solo i valori TRUE (che in
Libreoffice sono marcati come "1")
9] copia la sotto-colonna A in un foglio vuoto, ottenendo i valori doppi
come occorrenze univoche

Rifatti vivo quando sei arrivato a questo punto, grazie.



-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/inividuare-record-doppioni-tp7583918p7584553.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
_______________________________________________
[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: inividuare record doppioni

Matteo Asioli
In reply to this post by Novarese
ok ci sono riuscito anche con openoffice ad individuare i doppioni...ora però se non mi sbaglio e vado a modificare il dpf togliendoli...non mi dovrebbe ritornare lo shape in quanto gli mancano dei record...o mi sbaglio?


Il giorno 30 ottobre 2013 08:15, Novarese <[hidden email]> ha scritto:
Matteo Asioli wrote/
> in Qgis riesco ad individuare i record univoci
/

La tecnica che ho suggerito scova i doppioni all'interno di un foglio
elettronico, dopodichè costruisce l'interrogazione SQL da incollare in Qgis.

1] lancia l'opensource Libreoffice, e setta la lingua come "inglese"
2] apri una copia PIPPO del file .DBF contenuto nello shapeset PLUTO
3] cancellare tutto tranne la colonna contenente i doppioni
4] sortare alfabeticamente la colonna A
5] supponendo che in A1 ci sia il nome del campo, inserisci in B2 la formula
*=IF(A3=A2)*
6] propaga il contenuto di B1 a tutta la colonna B
7] dove vedi TRUE significa che c'è un doppione
8] DATA => FILTER => AUTOFILTER ed estrapoli solo i valori TRUE (che in
Libreoffice sono marcati come "1")
9] copia la sotto-colonna A in un foglio vuoto, ottenendo i valori doppi
come occorrenze univoche

Rifatti vivo quando sei arrivato a questo punto, grazie.



-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/inividuare-record-doppioni-tp7583918p7584553.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
_______________________________________________
[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: inividuare record doppioni

Matteo Asioli
In reply to this post by Novarese
ok Grazie Novarese alla fine ci sono riuscito....grazie mille della tua procedura unita alla pazienza!
Matteo


Il giorno 30 ottobre 2013 08:15, Novarese <[hidden email]> ha scritto:
Matteo Asioli wrote/
> in Qgis riesco ad individuare i record univoci
/

La tecnica che ho suggerito scova i doppioni all'interno di un foglio
elettronico, dopodichè costruisce l'interrogazione SQL da incollare in Qgis.

1] lancia l'opensource Libreoffice, e setta la lingua come "inglese"
2] apri una copia PIPPO del file .DBF contenuto nello shapeset PLUTO
3] cancellare tutto tranne la colonna contenente i doppioni
4] sortare alfabeticamente la colonna A
5] supponendo che in A1 ci sia il nome del campo, inserisci in B2 la formula
*=IF(A3=A2)*
6] propaga il contenuto di B1 a tutta la colonna B
7] dove vedi TRUE significa che c'è un doppione
8] DATA => FILTER => AUTOFILTER ed estrapoli solo i valori TRUE (che in
Libreoffice sono marcati come "1")
9] copia la sotto-colonna A in un foglio vuoto, ottenendo i valori doppi
come occorrenze univoche

Rifatti vivo quando sei arrivato a questo punto, grazie.



-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/inividuare-record-doppioni-tp7583918p7584553.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
_______________________________________________
[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: inividuare record doppioni

Novarese
In reply to this post by Matteo Asioli
Matteo Asioli wrote
se vado a modificare il dpf togliendoli...non mi dovrebbe ritornare lo shape in quanto gli mancano dei record
 
 
...e difatti ho scritto di usare una copia PIPPO dell'originale PLUTO, per evitare che "per sbaglio" ti scappasse il mouse sull'icona di salvataggio.

Congratulazioni per il successo, e per curiosita': come hai assemblato l'istruzione di query per selezionare i doppioni in Qgis..?
Reply | Threaded
Open this post in threaded view
|

Re: inividuare record doppioni

mando
In reply to this post by Matteo Asioli

lista_di tutti_i_record = [lista_di tutti_i_record]

lista_id_record_doppi = []

lista_dati_rec_corrente = [contiene i valori della prima riga]

lista_di tutti_i_record.sort()

n = 1
for singolo_record in range(len(lista_di tutti_i_record)):
      if n > len(lista_di tutti_i_record):
            return




2013/10/30 Matteo Asioli <[hidden email]>
ok Grazie Novarese alla fine ci sono riuscito....grazie mille della tua procedura unita alla pazienza!
Matteo


Il giorno 30 ottobre 2013 08:15, Novarese <[hidden email]> ha scritto:
Matteo Asioli wrote/

> in Qgis riesco ad individuare i record univoci
/

La tecnica che ho suggerito scova i doppioni all'interno di un foglio
elettronico, dopodichè costruisce l'interrogazione SQL da incollare in Qgis.

1] lancia l'opensource Libreoffice, e setta la lingua come "inglese"
2] apri una copia PIPPO del file .DBF contenuto nello shapeset PLUTO
3] cancellare tutto tranne la colonna contenente i doppioni
4] sortare alfabeticamente la colonna A
5] supponendo che in A1 ci sia il nome del campo, inserisci in B2 la formula
*=IF(A3=A2)*
6] propaga il contenuto di B1 a tutta la colonna B
7] dove vedi TRUE significa che c'è un doppione
8] DATA => FILTER => AUTOFILTER ed estrapoli solo i valori TRUE (che in
Libreoffice sono marcati come "1")
9] copia la sotto-colonna A in un foglio vuoto, ottenendo i valori doppi
come occorrenze univoche

Rifatti vivo quando sei arrivato a questo punto, grazie.



-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/inividuare-record-doppioni-tp7583918p7584553.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
_______________________________________________
[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


_______________________________________________
[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: inividuare record doppioni

mando
Scusate, mi è scappata la mail...stavo provando a mettere giù le linee guida di Novarese in codice pseudopython, magari ci facciamo un piccolo plugin...Scusate ancora....continuo nel prossimo post...
Ciao
Luca


2013/10/30 Luca Mandolesi <[hidden email]>

lista_di tutti_i_record = [lista_di tutti_i_record]

lista_id_record_doppi = []

lista_dati_rec_corrente = [contiene i valori della prima riga]

lista_di tutti_i_record.sort()

n = 1
for singolo_record in range(len(lista_di tutti_i_record)):
      if n > len(lista_di tutti_i_record):
            return




2013/10/30 Matteo Asioli <[hidden email]>
ok Grazie Novarese alla fine ci sono riuscito....grazie mille della tua procedura unita alla pazienza!
Matteo


Il giorno 30 ottobre 2013 08:15, Novarese <[hidden email]> ha scritto:
Matteo Asioli wrote/

> in Qgis riesco ad individuare i record univoci
/

La tecnica che ho suggerito scova i doppioni all'interno di un foglio
elettronico, dopodichè costruisce l'interrogazione SQL da incollare in Qgis.

1] lancia l'opensource Libreoffice, e setta la lingua come "inglese"
2] apri una copia PIPPO del file .DBF contenuto nello shapeset PLUTO
3] cancellare tutto tranne la colonna contenente i doppioni
4] sortare alfabeticamente la colonna A
5] supponendo che in A1 ci sia il nome del campo, inserisci in B2 la formula
*=IF(A3=A2)*
6] propaga il contenuto di B1 a tutta la colonna B
7] dove vedi TRUE significa che c'è un doppione
8] DATA => FILTER => AUTOFILTER ed estrapoli solo i valori TRUE (che in
Libreoffice sono marcati come "1")
9] copia la sotto-colonna A in un foglio vuoto, ottenendo i valori doppi
come occorrenze univoche

Rifatti vivo quando sei arrivato a questo punto, grazie.



-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/inividuare-record-doppioni-tp7583918p7584553.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
_______________________________________________
[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



_______________________________________________
[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: inividuare record doppioni

mando
Salve,
riprendo la mia prova.
Provando a guardare la procedura indicata da novarese e aggiungendo le appropriate classi di pyqgis per accedere ai vettori credo che la procedura possa essere questa.


#################

lista_di tutti_i_record = [lista_di tutti_i_record]

lista_id_record_doppi = []

lista_dati_rec_corrente = [contiene i valori della prima riga]

lista_di tutti_i_record.sort()

n = 1
for singolo_record in range(len(lista_di tutti_i_record)):
      if n > len(lista_di tutti_i_record):
            return lista_id_record_doppi 
      else:
            if lista_dati_rec_corrente == lista_di tutti_i_record[n]:
                  lista_id_record_doppi.append(id_record)
                  n+=1
            else:
                 lista_dati_rec_corrente = lista_di tutti_i_record[n]
                  n+=1

funzione_rimuovi_tutti_gli_id_doppi(lista_id_record_doppi )

####################

Scritta al volo...diciamo che per un database avrei già pronte le varie funzioni...per uno shape devo solo guardare le classi di pyQgis per i vettoriali...

Suggerimenti? Errori macroscopici?

Ciao
Luca



2013/10/30 Luca Mandolesi <[hidden email]>
Scusate, mi è scappata la mail...stavo provando a mettere giù le linee guida di Novarese in codice pseudopython, magari ci facciamo un piccolo plugin...Scusate ancora....continuo nel prossimo post...
Ciao
Luca


2013/10/30 Luca Mandolesi <[hidden email]>

lista_di tutti_i_record = [lista_di tutti_i_record]

lista_id_record_doppi = []

lista_dati_rec_corrente = [contiene i valori della prima riga]

lista_di tutti_i_record.sort()

n = 1
for singolo_record in range(len(lista_di tutti_i_record)):
      if n > len(lista_di tutti_i_record):
            return




2013/10/30 Matteo Asioli <[hidden email]>
ok Grazie Novarese alla fine ci sono riuscito....grazie mille della tua procedura unita alla pazienza!
Matteo


Il giorno 30 ottobre 2013 08:15, Novarese <[hidden email]> ha scritto:
Matteo Asioli wrote/

> in Qgis riesco ad individuare i record univoci
/

La tecnica che ho suggerito scova i doppioni all'interno di un foglio
elettronico, dopodichè costruisce l'interrogazione SQL da incollare in Qgis.

1] lancia l'opensource Libreoffice, e setta la lingua come "inglese"
2] apri una copia PIPPO del file .DBF contenuto nello shapeset PLUTO
3] cancellare tutto tranne la colonna contenente i doppioni
4] sortare alfabeticamente la colonna A
5] supponendo che in A1 ci sia il nome del campo, inserisci in B2 la formula
*=IF(A3=A2)*
6] propaga il contenuto di B1 a tutta la colonna B
7] dove vedi TRUE significa che c'è un doppione
8] DATA => FILTER => AUTOFILTER ed estrapoli solo i valori TRUE (che in
Libreoffice sono marcati come "1")
9] copia la sotto-colonna A in un foglio vuoto, ottenendo i valori doppi
come occorrenze univoche

Rifatti vivo quando sei arrivato a questo punto, grazie.



-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/inividuare-record-doppioni-tp7583918p7584553.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
_______________________________________________
[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




_______________________________________________
[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: inividuare record doppioni

Stefano Costa
Il 30/10/2013 20:11, Luca Mandolesi ha scritto:
>
> Suggerimenti? Errori macroscopici?

Non ho seguito la discussione per intero ma in Python un modo molto
rapido ed efficiente di ottenere un insieme di valori non ripetuti da
una lista è set():

In [1]: lista = [1, 2, 3, 4, 5, 1, 3, 5]

In [2]: set(lista)
Out[2]: set([1, 2, 3, 4, 5])

Credo che possa essere utile anche in questo caso, magari scrivendo la
procedura in modo più "pythonico" :-)

Ciao
steko

--
Stefano Costa
http://steko.iosa.it/
_______________________________________________
[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: inividuare record doppioni

mando
Ciao Stefano,
provo a ragionarci, ma qui si tratterebbe di ricavare i record duplicati che hanno uguali valori dentro le colonne

Set funziona anche su una lista di liste?

lista = [[1, 2, 3], [1, 2, 4], [1, 2, 3]]
set(lista)
out = set([1, 2, 3], [1, 2, 4])



2013/10/30 Stefano Costa <[hidden email]>
Il 30/10/2013 20:11, Luca Mandolesi ha scritto:
>
> Suggerimenti? Errori macroscopici?

Non ho seguito la discussione per intero ma in Python un modo molto
rapido ed efficiente di ottenere un insieme di valori non ripetuti da
una lista è set():

In [1]: lista = [1, 2, 3, 4, 5, 1, 3, 5]

In [2]: set(lista)
Out[2]: set([1, 2, 3, 4, 5])

Credo che possa essere utile anche in questo caso, magari scrivendo la
procedura in modo più "pythonico" :-)

Ciao
steko

--
Stefano Costa
http://steko.iosa.it/
_______________________________________________
[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: inividuare record doppioni

Matteo Asioli
In reply to this post by Novarese
...be forse mi sono mosso in maniera più artigianale, ma ho fatto cosi. 
nella copia dello shape file ho lavorato sul DB come hai detto te, creandomi prima un campo numerico ID per poter poi riposizionare alla fine i record 
alla fine del processo. In un campo nuovo ho creato la tua formula *IF=(A2=A3; "doppioni")* proprio come mi hai detto tu. Poi ho copiato tali valori "doppioni" in una nuova colonna 
solo come testo. Ho poi riposizionato i record come ID. In Quantum mi è bastato selezionare i valori "doppioni" e cancellarli.

Senza il tuo suggerimento non ci sarei arrivato....lo so forse un po artigianale, ma alla fine conta anche il risultato...o mi sbaglio?
Grazie ancora!



Il giorno 30 ottobre 2013 17:59, Novarese <[hidden email]> ha scritto:
Matteo Asioli wrote/
> se vado a modificare il dpf togliendoli...non mi dovrebbe ritornare lo
> shape in quanto gli mancano dei record
/


...e difatti ho scritto di usare una copia PIPPO dell'originale PLUTO, per
evitare che "per sbaglio" ti scappasse il mouse sull'icona di salvataggio.

Congratulazioni per il successo, e per curiosita': come hai assemblato
l'istruzione di query per selezionare i doppioni in Qgis..?



-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/inividuare-record-doppioni-tp7583918p7584563.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
_______________________________________________
[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: inividuare record doppioni

Stefano Costa
In reply to this post by mando
Il 30/10/2013 20:36, Luca Mandolesi ha scritto:
> Set funziona anche su una lista di liste?

Liste no (non sono hashable) ma tuple sì:

In [7]: lista = [(1, 2, 3), (1, 2, 4), (1, 2, 3)]

In [8]: set(lista)
Out[8]: set([(1, 2, 4), (1, 2, 3)])

Comunque se metti insieme una versione funzionante della procedura
proviamo a migliorarla seguendo questa pista. Penso che ne vada anche
dell'efficienza nell'esecuzione.

Ciao,
steko

--
Stefano Costa
http://steko.iosa.it/
_______________________________________________
[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: inividuare record doppioni

mando
Ottimo! Grazie! Allora proviamo a mettere su una prima versione.
Ciao

ps: hai visto la mail con l'evoluzione del tuo script per il matrix con pygraphviz?


2013/10/30 Stefano Costa <[hidden email]>
Il 30/10/2013 20:36, Luca Mandolesi ha scritto:
> Set funziona anche su una lista di liste?

Liste no (non sono hashable) ma tuple sě:

In [7]: lista = [(1, 2, 3), (1, 2, 4), (1, 2, 3)]

In [8]: set(lista)
Out[8]: set([(1, 2, 4), (1, 2, 3)])

Comunque se metti insieme una versione funzionante della procedura
proviamo a migliorarla seguendo questa pista. Penso che ne vada anche
dell'efficienza nell'esecuzione.

Ciao,
steko

--
Stefano Costa
http://steko.iosa.it/


_______________________________________________
[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: inividuare record doppioni

Novarese
In reply to this post by Matteo Asioli
Matteo Asioli wrote
In Quantum mi è bastato selezionare i valori "doppioni" e cancellarli
Ho paura che così "perdi per strada" N record, tanti quanti sono i valori multipli, e mi spiego con la seguente simulazione:

http://novarese.t15.org/gfoss/if.gif



Come vedi, il tuo metodo estrarrebbe solo il secondo e terzo record, perdendosi (giustamente) il quarto.

Opterei per un altro approccio, precisamente "usando" il DBF come file temporaneo, senza usare ID fittizi.

Una volta che sei arrivato al punto 9 del mio metodo, devi estrapolare SOLTANTO le singole occorrenze, e quindi non:

CAIO
CAIO
SEMPRONIO
SEMPRONIO
SEMPRONIO
TIZIO
TIZIO
TIZIO
TIZIO

bensì CAIO,SEMPRONIO,TIZIO una volta soltanto.

Per fare questo, io uso l'editor gratuito NoteTab, che sorta una lista eliminando automaticamente i duplicati.

Ora, quando hai:

CAIO
SEMPRONIO
TIZIO

li copi in Libreoffice, ed assembli la seguente clausola SQL mediante la funzione "Concatenate" del foglio elettronico:

"NOME"="CAIO" or "NOME"="SEMPRONIO" or "NOME"="TIZIO"

e la dai in pasto a Qgis (menu LAYER => INTERROGAZIONE)

In questo modo, hai la certezza matematica che verranno selezionati TUTTI i doppioni, senza perderne per strada alcuno.
Reply | Threaded
Open this post in threaded view
|

Re: inividuare record doppioni

Ummarino
In reply to this post by Matteo Asioli
Ciao..ma in QGIS riesci a selezionare i valori univoci ??
Che comando hai usato per individuarli ?
A.Ummarino
Reply | Threaded
Open this post in threaded view
|

Re: inividuare record doppioni

Matteo Asioli
>Ciao..ma in QGIS riesci a selezionare i valori univoci ??
>Che comando hai usato per individuarli ?

Per individuare i valori univoci c'è un comando in vettore\strumenti di analisi\lista valori univoci. Ti permette di fare una lista ma non ho ancora capito come selezionarli direttamente da QGis. 
Come spiegavo sopra ho utilizzato la procedura di Novarese, adattandola in maniera artigianale..


Il giorno 31 ottobre 2013 09:05, Ummarino <[hidden email]> ha scritto:
Ciao..ma in QGIS riesci a selezionare i valori univoci ??
Che comando hai usato per individuarli ?



-----
A.Ummarino
--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/inividuare-record-doppioni-tp7583918p7584575.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
_______________________________________________
[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: inividuare record doppioni

Novarese
Matteo Asioli wrote
non ho ancora capito come selezionarli direttamente da QGis
Te l'ho scritto nel post di stamattina 31.10.2013 alle ore 8:43, quello con la schermata lampeggiante di Libreoffice...
Reply | Threaded
Open this post in threaded view
|

Re: inividuare record doppioni

Matteo Asioli
Grazie Novarese...ma quale è il tuo nome? 
Si il tuo metodo è completo e me lo studio bene, perchè so che mi tornerà utile. Ti scoccerò in privato per approfondire se ho difficoltà. Nel mio caso ero sicuro che erano solo veri doppioni perchè lo shape era generato dalla fusione di due shape con particelle catastali, essendo due erano per forza due geometrie doppie. 
Ma il tuo considera anche se ci sono doppioni, triploni, e quadriploni...;)
Matteo


Il giorno 31 ottobre 2013 10:59, Novarese <[hidden email]> ha scritto:
Matteo Asioli wrote/
> non ho ancora capito come selezionarli direttamente da QGis
/

Te l'ho scritto nel post di stamattina 31.10.2013 alle ore 8:43, quello con
la schermata lampeggiante di Libreoffice...




-----

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/inividuare-record-doppioni-tp7583918p7584577.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
_______________________________________________
[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: inividuare record doppioni

geodrinx
Scusate, ma ho seguito questa discussione molto distrattamente, e quindi è molto probabile che lo abbiate già detto.

Ma cosa vi impedisce di usare la funzione "Maintenance - Remove duplicate rows"  di SpatiaLite ?

Semplice, immediata e pulita.


Ciao

Roberto



_______________________________________________
[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: inividuare record doppioni

mando
Ciao Matteo, mi faresti capire se i doppioni presenti nel tuo shapefile sono doppi a livello di dati o anche a livello di geometria duplicata, quindi medesime coordinate?
Grazie 
Luca


2013/10/31 Geo DrinX <[hidden email]>
Scusate, ma ho seguito questa discussione molto distrattamente, e quindi è molto probabile che lo abbiate già detto.

Ma cosa vi impedisce di usare la funzione "Maintenance - Remove duplicate rows"  di SpatiaLite ?

Semplice, immediata e pulita.


Ciao

Roberto



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