Layer join e problemi di stile a causa dei tipi di campo
Sto cercando di unire un .csvfile con tariffe als e valori zip3 a uno shapefile con valori zip3 e quindi colorare la mappa in base alle tariffe als.
Sembra molto semplice e ho già fatto mappe simili ma ho problemi con i tipi di campo. Ogni volta che importa il CSV rende stringhe tutti i tipi di campo e non sono in grado di cambiarli nemmeno usando il toolbox di refactoring. Poi quando li unisco sono ancora stringhe e non sono in grado di modellarli usando simboli graduati perché non sono numerici.
Ecco un collegamento agli shapefile e al csv che sto usando: https://drive.google.com/drive/folders/1X26BXzrCtjSGuAPweH3HPiGshcfGaU6U?usp=sharing
Sto usando QGIS versione 3.10
Risposte
Nel pannello dello stile del livello , utilizza un'espressione per convertire il tipo di stringa in reale.
Se lo usi rates, usa to_real("rates")e funzionerà (supponendo che il tuo campo si chiami "tariffe").
Penso che @romainbh abbia già dato una risposta migliore , ma puoi anche forzare QGIS a interpretare le colonne CSV come un tipo di dati speciale usando un CSV-T.
Quindi crea un nuovo file di testo, riempilo con i tipi di dati della colonna del tuo CSV in questo modo:
"Integer(10)","Real(10.5)","String(80)"
È possibile utilizzare Integer, Real, String, Date, Timee DateTime. Non aggiungere altri contenuti ad esso. Quindi salvalo con lo stesso nome file del tuo CSV effettivo nella stessa cartella, con solo il finale .csvt. Se ora lo carichi, il tuo CSV dovrebbe avere i tipi di dati corretti.