Ciao a tutti, sicuramente vi è capitato di avere due shapefile separati, ma contenenti elementi o feature simili tra di loro e di dover, ad un certo punto, voler copiare alcuni elementi da uno shapefile all’altro. In questo post vi facciamo vedere come fare quest’operazione in modo ottimale.
1. Copiare ed incollare record tra shapefile: teoria
Le operazioni di copia e incolla sono una grande funzionalità posseduta dai computer. Permettono di risparmiare tantissimo tempo e di non dover ripetere operazioni che avete già fatto in precedenza.
Nelle pagine di testo è facile effettuare il copia ed incolla, selezioni il tuo testo tenendo premuto il tasto sinistro del mouse, premi il tasto copia e poi il tasto incolla.
Nel GIS non è che sia poi molto più complicato. Bisogna solo stare più attenti per via della doppia natura dei dati GIS, e cioè di quella geografica e di quella tabellare.
Bisogna inoltre stare attenti a non avere perdite di dati dannose o, al contrario, perdere solo i dati che non ci vogliamo portare con noi nel secondo shapefile
2. Copiare ed incollare record tra shapefile: la pratica
Ma vediamo adesso, meglio, nella pratica cosa intendiamo dire facendo un esempio di come copiare ed incollare record tra due shapefile.
Immaginiamo di avere due shapefile. Il primo si chiama edifici e contiene gli edifici di un Comune. Il secondo si chiama nuovi_edifici, ed è in questo che vogliamo copiare alcuni elementi dello shapefile edifici.
- Per prima cosa ricordatevi di mettere in modalità modifica lo shapefile all’interno del quale volete copiare delle features, selezionandolo nel pannello dei layer e premendo il pulsante modifica.
- Adesso è il momento di selezionare uno o più elementi da copiare. Selezioniamo il layer edifici nel pannello dei layer, prendiamo un selettore e selezioniamo un edificio, che in questo momento sceglieremo a caso. Mi raccomando, prestate attenzione a quale layer selezionate nel pannello dei layer, perché se selezionate il layer sbagliato non riuscirete a selezionare successivamente nessuna feature. Altra cosa, potete selezionare non solo un edificio ma anche fare una selezione più ampia.
- Effettuata la selezione possiamo andare nel menu Modifica e premere copia elementi.
- Adesso, prima di incollare, dobbiamo ricordarci di selezionare di nuovo, sempre nel pannello dei layer, il layer nuovi_edifici in cui vogliamo incollare gli elementi selezionati. Possiamo quindi andare in Modifica e premere su incolla elementi.
Se hai eseguito correttamente questi step, vedrai gli edifici incollati comparire in giallo e con le crocette rosse sui vertici.
Clicchiamo in un’area vuota della view per deselezionare l’oggetto: l’edificio incollato apparirà nel colore dello shapefile nuovi_edifici.
Apparentemente tutto è andato bene.
Ma dobbiamo ancora controllare cosa è accaduto nella tabella attributi.
Vediamo prima lo shapefile di partenza edifici da cui abbiamo copiato: ci sono diversi campi nella tabella attributi.
Vediamo adesso lo shapefile nuovi_edifici in cui abbiamo incollato gli edifici: vediamo la tabella attributi vuota.
Perché è accaduto questo? perché QGIS non copia il contenuto dei campi, se questi non sono presenti anche nella tabella di destinazione. Né è capace di copiare ed incollare campi nuovi solo attraverso, appunto, un copia-incolla.
Ne consegue che, se voglio portarmi dietro anche l’informazione contenuta nella tabella attributi dovrò prima creare un campo specifico nella tabella di destinazione. E mi raccomando, dovrà chiamarsi allo stesso modo ed avere lo stesso tipo di dato. Questo servirà anche per decidere quali informazioni non portarci dietro. Infatti basterà non avere campi con lo stesso nome del file di partenza e il dato non verrà riportato.
Ad esempio, nel nostro caso, immaginiamo di voler copiare oltre agli elementi geografici anche il campo USO, che contiene un campo di tipo testo. Allora bisognerà crearsi un campo uguale nello shape nuovi_edifici e lo chiamiamo esattamente allo stesso modo. Gli associamo il tipo di dati testo e gli attribuiamo una lunghezza di 200 caratteri.
Riproviamo adesso a copiare ed incollare un elemento. Di nuovo selezioni il layer edifici, scelgo e selezioni un edificio da copiare ed eseguo modifica e copia. Poi seleziono il layer nuovi_edifici ed incolliamo. Apriamo la tabella degli attributi.
Et voila, questa volta anche l’informazione contenuta nel campo USO èè stata copiata.
Conoscere il funzionamento di uno shapefile durante un copia incolla può essere utile anche per capire come non portarci dietro determinati dati durante un copia ed incolla tra due shapefile. Infatti, basterà non avere campi con lo stesso nome del file di partenza e il dato non verrà riportato.
Tips & tricks
Anche nel GIS ed in particolare in QGIS funzionano le combinazioni di tasti
- CTRL+C per copiare
- CTRL+X per tagliare
- CTRL+V per incollare
Bene, questo post è finito. Se ti è piaciuto condividilo! Se hai dubbi o suggerimenti lascia pure un commento.
Se vuoi, puoi vedere anche il nostro video su YouTube “Copiare ed incollare record tra shapefile” e iscriverti al nostro canale.
Ci GISsiamo al prossimo post!
Ciao