Modifica del tipo di dati nella tabella degli attributi in QGIS?


11

Ho i dati della contea in cui i FIP (in realtà FIPS statali e FIPS della contea combinati). Ho i dati importati come CSV con i dati FIPS delle donne intitolati STCounty. Tuttavia, lo shapefile FIPS è elencato come reale e il CSV è entrato come intero e la funzione Join sembra non funzionare. Le caselle di selezione sono in grigio / vuote.

Quindi le domande più grandi sono: come si modifica il tipo di attributo in una tabella?

Ho provato a creare una nuova colonna nello shapefile (dati della contea) e impostarlo su un numero intero e quindi moltiplicare il FIPS * 1, ma ho ottenuto una colonna piena di "NULL".

Sono nuovo di QGIS e ho molta esperienza in MapInfo, quindi il concetto di join non è nuovo per me, ma solo la sintassi di QGIS.

Risposte:


11

La creazione di una nuova colonna di numeri interi è la strada giusta da percorrere, ma quella 1*FIPSche hai usato (che funzionerebbe in Excel o Libreoffice) è la causa del problema; QGIS non converte automaticamente tra i tipi di campo in un calcolo.

È necessario utilizzare una delle funzioni di conversione ( tointconverte in numero intero, tostringin testo e torealin reale / decimale) con il nome di colonna corretto:

toreal("FIPS")

È possibile utilizzare il plug-in Tablemanager per rimuovere colonne non necessarie.

L'impostazione di un file .csvt sarebbe la migliore soluzione ripetibile, ma per una singola colonna dovrebbe essere piuttosto semplice.


1 * FIPS funziona anche in ArcGIS.
L_Holcombe,

sembra un po 'sciocco non riuscire a cambiare il tipo di dati. Tuttavia, questa sembra essere la risposta corretta
chrismarx,


1

Ho appena avuto lo stesso problema. Nel mio caso lavoro con Libreoffice e QGIS.

Ho esportato una tabella da R a. CSV con due colonne: "id" e "veh". "id" è Integer e "veh" Real.

write.csv(tab2,file='/path/table.csv',row.names = F)

Quando apro table.csv in Libreoffice il campo veh è stato letto come "stringa". Così ho creato un altro "vehh" coulmn come moltiplicazione di "veh" * 1, e il risultato è stato il numero desiderato. Quindi ho salvato il file come .ODS (Libre Office)

Quindi carico table.ODS in qgis e "vehh" è stato riconosciuto come reale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.