Re: [QGISBrasil:4045] alteração de string para número inteiro

1,736 views
Skip to first unread message

Ernesto Silva Filho

unread,
Apr 12, 2013, 7:19:15 PM4/12/13
to qgisb...@googlegroups.com

Frota,
Use o table maneger para criar as colunas no formato real.
Depois abra a edicao e use a calculadora para inserir os valores da coluna string na coluna real.
Isso deve resolver.

Em 12/04/2013 19:48, <naggil...@gmail.com> escreveu:
Olá a todos,

estou com problemas para espacializar as variáveis do IBGE. Altero no excel os campos da tabela .csv que estavam como geral para que eles sejam lidos como número inteiros, mas quando junto a tabela com o shape no QGIS, ele interpreta como string, e isso gera uma classificação errada quando utilizo o estilo categorizado.

É possível fazer a alteração de string para número direto no QGIS?

Obrigada!

--
--
---
Você recebeu esta mensagem do Grupo "QGISBrasil"
Para postar neste grupo, envie um e-mail para qgisb...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail paragisbrasi...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com/group/qgisbrasil?hl=pt?hl=pt-BR
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "qgisbrasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para qgisbrasil+...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Cássio Marcelo Castro

unread,
Apr 12, 2013, 7:37:27 PM4/12/13
to qgisb...@googlegroups.com

Me intrometendo, como as tabelas tem muitas variaveis, ha como automatizar o processo, ou so coluna por coluna?
Saudacoes

Sidney - Geosaber

unread,
Apr 12, 2013, 7:49:51 PM4/12/13
to qgisb...@googlegroups.com
Abra a tabela de atributos, inicie a edição, vá na Calculadora de Campo e faça da seguinte maneira:
  1. Mande criar um novo campo do tipo inteiro, com a precisão igual ao número de casas que tem em seu Geocodigo (para municípios  o geocodigo tem 7 caracteres/números se não me engano);
  2. Vá em funções > conversões > toint (função que converte os valores de um campo tipo string ou real em campo do tipo inteiro).
Só tenha a certeza de que o campo string possua somente números (as vezes tem uma barra / ) e isso "vai dar páu".

Boa sorte,
Sidney Goveia

Sidney - Geosaber

unread,
Apr 12, 2013, 7:54:16 PM4/12/13
to qgisb...@googlegroups.com
Esqueci, a função TOINT pede para colocar o campo que você quer converter. 
toint( "AREA_HA" ) - vá na opção  Campos e Valores da Calculadora e dê uma duplo clique, depois feche o parênteses e dê OK.

Boa noite,
Sidney Goveia

Jurandyr Leite

unread,
Apr 14, 2013, 8:28:53 PM4/14/13
to qgisb...@googlegroups.com

Tenho usado o seguinte procedimento com sucesso:
  1. Crie um arquivo com o mesmo nome do csv, mas com a terminação csvt
  2. Especifique em uma linha o tipo de cada campo entre aspas e separados por vírgulas: "Integer","Real","String"
  3. Se quiser pode também especificar o também o tamanho: "Integer(6)","Real(5.5)","String(22)"
  4. Salve e... pronto os campos serão lidos corretamente.

Esta dica li em: http://anitagraser.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/


Ernesto Silva Filho

unread,
Apr 15, 2013, 8:15:26 AM4/15/13
to qgisbrasil
Jurandyr,

Qual programa você usou para gerar o csvt?


Jurandyr Leite

unread,
Apr 15, 2013, 8:39:29 AM4/15/13
to qgisb...@googlegroups.com
Use um editor de texto simples, como o bloco de notas do windows. Eu uso o gedit, no Fedora.

Jurandyr Leite

unread,
Apr 17, 2013, 10:36:00 AM4/17/13
to qgisb...@googlegroups.com
Ernesto,
Deu certo?

Ernesto Silva Filho

unread,
Apr 17, 2013, 11:21:26 AM4/17/13
to qgisbrasil
Jurandyr,

A duvida era da Naggila Frota. Tempos atrás eu vi um post como esse que você mencionou sobre o csvt. Entretanto, não informava como cria-lo, por isso que perguntei para você. Da próxoima vez, vou testar o procedimento indicado por você

Abraços.


Em 17 de abril de 2013 11:36, Jurandyr Leite <jurand...@gmail.com> escreveu:
Ernesto,
Deu certo?

Luto Faustino

unread,
Nov 26, 2013, 6:33:08 AM11/26/13
to qgisb...@googlegroups.com
ENCONTREI UMA FORMA MAIS FACIL DE FAZER ESTA CONVERSAO
INSTALE O BR OFFICE NA MAQUINA, COM SCALC , ELE VC CONSEGUE ABRIR O .DBF DO MAPA
DAI VC VAI A PRIMEIRA LINHADA COLUNA ONDE VC QUER CONVERTER
AO CLICAR NELA VC VERA ALGO DO TIPO DP,C,12 NO TITULO DA COLUNA AI VC SUBSTITUI PARA DP,N,10,0, ONDE DP É O NOME DA COLUNA E O C REFERE-SE A STRING E N INTEIRO E O NUMERO DEPOIS É O TAMANHO, OK

Ernesto Silva Filho

unread,
Nov 26, 2013, 6:48:30 AM11/26/13
to qgisbrasil
Luto,

tem uma post no blog processamentodigital.com.br sobre isso. Já usei esse método. Mas em 2012, por algum motivo, meu BROffice não conseguia alterar o DBF.


--

Jurandyr Leite

unread,
Nov 26, 2013, 6:56:56 AM11/26/13
to qgisb...@googlegroups.com
A solução para arquivo .dbf é esta de que fala o Luto, tendo o cuidado para não alterar o nº de registros (linha) e sua ordenação. Contudo, a questão levantada era sobre arquivos .csv que não contém no cabeçalho das colunas o tipo de campo e com muita frequencia apresenta erro de tipo quando aberto. O CSV serve para abrir pontos no QGIS (no caso de existir campos de coordenadas) ou para unir à uma shape por um campo de valor comum. Neste caso o uso do arquivo csvt ainda me parece o mais adequado.


Reply all
Reply to author
Forward
0 new messages