Como alterar o comprimento do campo no QGIS

11

Eu tenho um shapefile que fiz no QGIS 1.7.4. Um dos campos é uma String de comprimento 80. Gostaria de fazer com que o campo aceite picadas mais longas, mas não consigo descobrir como alterar seu comprimento. Como eu faço isso?

Obrigado.

Evan
fonte

Respostas:

15

Aqui está uma solução que me surpreendeu que funcionou !!!

Aviso: primeiro faça um backup.Este é um experimento que funcionou para mim agora.

abra o .dbf do shapefile específico usando o aplicativo OpenOffice Calc. Altere o valor de 80 para o valor que desejar. Por favor, veja a imagem abaixo. O mais surpreendente é que essas definições de campo não eram visíveis no Excel .. Vantagem de estar aberto !!

insira a descrição da imagem aqui

vinayan
fonte
+1 - excelente pequeno truque. Sempre achei esses números irritantes nos DBFs do Libre / Openoffice, mas agora vemos o uso.
Simbamangu 13/03/12
1
Em segundo lugar, uso-o bastante para edição e formatação de dados rápidas e sujas (especialmente quando quero fazer uso das fórmulas de Cals), ou quando apenas quero juntar alguns dados por local e, mais uma vez, o nome do campo acaba sendo muito tempo ... Lembre-se: não reorganize as linhas sem uma coluna FID para reorganizá-las corretamente, ou todos os recursos terão alguns dados de atributos incorretos posteriormente.
SAnderka
Eu tentei isso e corrompeu os valores nas colunas subseqüentes. É uma ideia inteligente, no entanto.
Evan
2
Eu nunca experimentei nenhuma corrupção de dados até agora. Você acidentalmente alterou os tipos de dados (C, por exemplo, significa caractere, mais é explicado aqui: dbase.com/knowledgebase/int/db7_file_fmt.htm )? Embora o Calc o avise se você tentar salvar um dbf com dados que não cabem no cabeçalho. Eu ainda não entendo muito bem de que forma os seus dados fica corrompido, que poderiam qualquer coisa quase dizer ...
SAnderka
2
E sobre a classificação: a conexão entre os dados do recurso (polígonos, pontos, linhas) e os dados do atributo parece ser feita pelo número da linha; se você recorrer a um arquivo de atributo no Calc e salvá-lo, atributos errados serão conectados ao seu recursos (misturados, por assim dizer).
SAnderka
12

Que eu saiba, você não pode alterar o comprimento dos campos de shapefile no QGIS. Recomende a criação de um novo campo:

  • Abrir tabela de atributos
  • Ativar edição
  • Selecione 'Nova coluna', defina o
    tipo como texto e escolha a largura desejada

Se já houver dados no campo antigo, use a calculadora de campos para preencher o novo campo:

  • Selecione 'Calculadora de campo'
  • Marque 'Atualizar campo existente' e escolha o novo campo
  • Clique duas vezes no nome do campo antigo em 'Campos'
  • Clique em 'OK' e não se esqueça de salvar suas edições.
Scro
fonte
Bom método No final dessas etapas, entre no Table Manager (um plug-in) para excluir o campo antigo e (se necessário) renomeie o novo campo.
13336 IanS
4

Acabei de fazer isso no Excel. abra o dbf no Excel, clique com o botão direito do mouse no cabeçalho da coluna que deseja alterar e selecione Largura da Coluna. Mude para o comprimento necessário e salve como um dbf. Parecia funcionar bem para mim.

Darren
fonte
a largura da coluna não deveria ser a largura de exibição da coluna?
Vinayan
3
@Vinayan, a pergunta refere-se explicitamente ao que o campo pode conter, não como é exibido no QGIS. O Excel usa a largura de exibição das colunas como um guia para determinar a largura do campo ao salvar o arquivo, e é por isso que esta resposta funciona. Para mais detalhes, visite quantdec.com/SYSEN597/GTKAV/section4/chapter_15a.htm#Recipe . No entanto, ele funciona apenas em versões mais antigas do Excel. O mais recente não gravará arquivos DBF que eu ouço :-(.
whuber
@whuber, que é interesting..i nunca iria colocar esse tipo de funcionalidade (redimensionamento) em minhas aplicações :-)
Vinayan
0

Guia para alterar o tamanho da coluna da tabela de atributos no QGIS

  1. Clique com o botão direito do mouse na camada vetorial e selecione Propriedades.
  2. Vá para a guia do campo.
  3. Adicionar uma nova coluna (Este botão está no canto superior direito. A. Certifique-se de combinar todos os dados como a coluna que você está, tentando ampliar. Exceto a alteração do comprimento para o comprimento desejado.
  4. Selecione o botão 'Calculadora de campo' (este botão está no canto superior direito.)
  5. Marque o 'Atualizar campo existente'
  6. Verifique se 'Atualizar somente o campo selecionado' está desmarcado.
  7. Escolha novo campo no menu ao lado das caixas de seleção
  8. No menu Campo, clique duas vezes no campo antigo
  9. Clique em OK e salve as edições
  10. * Vá para o plug-in do Gerenciador de tabelas a. PluginsTabelaTable Manager
  11. Selecione e exclua o campo antigo
  12. Renomeie o novo campo para o antigo.

* Você precisará instalar o Table Manager Plugin.

YP-kun
fonte
0

A solução de Scro, conforme mais detalhadamente explicada por YP-kun, funcionou para mim. Uma alteração agora com o QGIS 3.4, não é necessário usar o Gerenciador de Tabelas para as etapas 10 e 11 do YP-kun (para excluir a coluna antiga). De fato, o Table Manager aparentemente não existe mais, pois agora não está disponível no Plugin Manager. Agora, após as etapas 1 a 9 de YP-kun, você pode ir para Propriedades da camada da camada (clique duas vezes na camada no painel Camada ou clique com o botão direito do mouse e clique em Propriedades)> Campos de origem> clique no botão editar> selecione o campo antigo que deseja excluir> clique no botão Excluir campo> e depois no botão editar novamente para fechar a edição> salve as alterações. Parece haver muita coisa para mudar o comprimento de um único campo em uma única camada, mas que assim seja.

JJD
fonte