Alterando o tipo de dados na tabela de atributos no QGIS?

11

Eu tenho dados do condado nos quais os FIPs (na verdade, FIPS estadual e FIPS municipal combinados). Eu tenho dados importados como CSV com os mesmos dados FIPS intitulados STCounty. No entanto, o FIPS do shapefile é listado como Real e o CSV entrou como Inteiro, e a função Join parece não funcionar. As caixas suspensas estão acinzentadas / vazias.

Portanto, a questão maior é como você altera o tipo de atributo em uma tabela?

Tentei criar uma nova coluna no shapefile (dados do condado) e defini-la como um número inteiro e multiplicar o FIPS * 1, mas obtive uma coluna cheia de "NULL".

Eu sou novo no QGIS e tenho muita experiência no MapInfo, portanto o conceito de junção não é novo para mim, apenas a sintaxe do QGIS.

user10525
fonte

Respostas:

11

Criar uma nova coluna inteira é o caminho certo a seguir - mas o 1*FIPSque você usou (que funcionaria no Excel ou no Libreoffice) é onde entra o problema; O QGIS não converte automaticamente entre tipos de campo em um cálculo.

Você precisa usar uma das funções de conversão ( tointconverte em número inteiro, tostringem texto e torealem real / decimal) com o nome correto da coluna:

toreal("FIPS")

Você pode usar o plug-in Tablemanager para remover colunas desnecessárias.

A configuração de um arquivo .csvt seria a melhor solução repetível, mas para uma única coluna, isso deve ser bastante simples.

Simbamangu
fonte
O 1 * FIPS também funciona no ArcGIS.
L_Holcombe 5/11
parece meio bobo não poder apenas alterar o tipo de dados. No entanto, este não parece ser a resposta correta
chrismarx
1

Eu apenas tive o mesmo problema. No meu caso, eu trabalho com Libreoffice e QGIS.

Eu exportei uma tabela de R para .CSV com duas colunas: "id" e "veh". "id" é Inteiro e "veh" Real.

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

Quando abro o table.csv no Libreoffice, o campo veh foi lido como "string". Então eu criei outro coulmn "vehh" como a multiplicação de "veh" * 1, e o resultado foi o número desejado. Em seguida, salvei o arquivo como .ODS (Libre Office)

Então eu carrego o table.ODS em qgis e "vehh" foi reconhecido como Real.

Sergio
fonte