Alterando o tipo de dados na tabela de atributos do ArcGIS?

9

Como posso alterar o tipo de dados em uma tabela de atributos no ArcGIS para vários campos?

Por exemplo, se os campos foram exportados como uma seqüência de caracteres do Excel, e eu gostaria de usá-los como valores numéricos?

Geoffrey West
fonte
11
Você não pode executar tabela a tabela se os Tipos de Dados não corresponderem. Eu sei que tentei.
Sam
evite o formato e a versão da fonte de dados. (banco de dados, shapefile, filegdb, gdb ent pessoal?)
Brad Nesom
Trabalho @ Brad com shapefiles em ArcGIS 10.2, a fonte de dados é localmente no meu computador
Lutando

Respostas:

3

Você não menciona qual versão do ArcGIS for Desktop você está usando ou onde seus dados estão armazenados, mas há uma página Modificando propriedades do campo que descreve como, usando o ArcGIS 10.2 (ou posterior):

Algumas propriedades do campo podem ser alteradas após a criação da tabela ou da classe de recurso

... mas isso se aplica apenas a campos vazios.

A partir da versão 10.3, a funcionalidade acima também está disponível na ferramenta Alter Fields :

Renomeie os campos e os aliases dos campos ou altere as propriedades dos campos.

PolyGeo
fonte
precisa de precisão. desde 10.2.1
GeoStoneMarten
Os campos @GeoStoneMarten Alter em 10.2.1 parecem ser apenas para renomear campos, enquanto minha resposta está relacionada à modificação de tipos de dados e acho que permanece válida. No entanto, a resposta de @Paul sugere que Alter Fields expandiu sua funcionalidade para incluir a modificação de tipos de dados em 10.3.
PolyGeo
Não só, mas sim se houver dados existentes ... Ok para outra pessoa
GeoStoneMarten
2

Você pode alterar o tipo de dados do campo para os campos que você possui na sua classe de recurso. No entanto, você não poderá converter campos de texto em numéricos. No entanto, você pode converter seus campos numéricos em seqüências de caracteres. Dê uma olhada na página de ajuda da Esri . Isso não é apenas para o banco de dados geográfico Enterprise, ele funciona bem mesmo para bancos de dados geográficos de desktop, como o banco de dados geográfico de arquivos.

Se a classe da tabela ou do recurso estiver em um geodatabase da empresa, grupo de trabalho ou desktop , você deverá se conectar como proprietário da tabela para modificar as propriedades do campo.

Como você lida com o Excel, a melhor maneira de garantir que seus tipos de dados estejam corretos é definir tipos de dados de células diretamente no Excel antes de importar qualquer dado. No entanto, se você tiver um campo de texto com números, é claro que poderá criar um novo campo do tipo numérico (número inteiro ou duplo, por exemplo) e calcular os valores com base nesse campo de texto. Isso funcionará bem se seus números forem realmente números ("12" funcionará, mas "12-1" não).

Alex Tereshenkov
fonte
2

Que eu saiba, isso não é possível. Na versão 10.3, o Alter Field foi expandido para permitir a alteração do tipo de campo; no entanto, ele ainda funciona apenas quando a tabela não possui nenhum registro.

Aqui está uma abordagem para fazer isso:

  1. Adicione um novo campo com um nome temporário e o tipo de dados correto
  2. Use Calculate Fieldou cursors(com vazamento, se necessário)
  3. Excluir campo antigo
  4. Alter Field renomear o campo temporário
  5. (Opcional) Copie a tabela com alguns mapeamentos de campo para restaurar a ordem original

Nunca o investiguei, mas o mapeamento de campo pode funcionar para converter campos em novos tipos de dados, o que simplificaria consideravelmente esse processo. Algo para procurar com certeza ....

Paulo
fonte
11
Normalmente, renomeio o campo antigo primeiro. Dessa forma, posso recriar o novo campo, calcular os valores e excluir o campo antigo. Quando você começa a calcular os valores, pode ser necessário selecionar todos os valores não nulos. e ou converter / dividir quaisquer valores de cadeia
Brad Nesom
11
O et tools também possui algumas funções gratuitas que seriam úteis. ian-ko.com Veja as funções gratuitas de geo-assistentes.
Brad Nesom
@ Brad Estou pesquisando funções gratuitas, o xtools tem sido útil, mas estou sempre aberto a mais / melhores opções. obrigado pela contribuição
Lutando
@BradNesom, bom ponto! Isso faria muito mais sentido.
Paul
1

Uma maneira alternativa consiste em abrir seu .dbfarquivo no OpenOffice Calc (ou equivalente) e modificar cuidadosamente os cabeçalhos de suas colunas. Por exemplo, altere o tipo de C(Caractere) para N(Numérico). Um conselho simples: faça backup do seu arquivo antes de tentar.

Antonio Falciano
fonte
1

Embora você não possa alterar o nome do campo e o tipo de dados no próprio conjunto de dados, é possível criar uma cópia com as alterações desejadas usando a ferramenta ArcGIS "Feature class to feature class". Nas configurações, você pode alterar nomes, tipos de dados e outras características dos campos.

Mark Verschuur
fonte
1

Antes de mais nada, é preciso tentar entender por que o ArcGIS importa um campo como um tipo de string em vez de um tipo de dados numérico / duplo. Descobri que, mesmo que sua célula (no Excel) esteja em branco, se houver "espaços" dentro (como quando você pressiona a barra de espaço), o ArcGIS os interpretará como caracteres. Se você removê-los, verá que agora eles serão registrados como campos numéricos.

user3109467
fonte
0

Dê uma olhada neste documento . Você normalmente precisa garantir que os dados estejam no formato correto antes e depois da importação.

"O ArcGIS normalmente converte os campos numéricos da planilha em precisão dupla (Double), o que pode não atender às suas necessidades. Se necessário, crie novos campos do tipo desejado e calcule valores neles"

Barbarossa
fonte
0

Se seu objetivo é adicionar os dados de uma tabela X a outra tabela Y , mas não é possível porque os tipos de dados não são correspondentes , você também pode seguir estas etapas:

  1. Exportar as duas tabelas (.dbf)

  2. Abra a tabela Y no excel.

  3. Abra a tabela X no excel.

  4. Copie e cole os dados da tabela X para a tabela Y, certificando-se de copiar apenas os valores, não o formulário.

  5. Agora você tem uma nova tabela contendo os dados de ambas as tabelas, com os tipos de dados correspondentes.

6.Importe esta tabela no ArcMap

Sam
fonte
0

Ninguém mencionou o conjunto de ferramentas de raio-X do ArcGIS. Basta fazer uma pesquisa no Google por "X-Ray ArcGIS". Existem várias variantes para cada versão e plataforma do ArcGIS (ArcCatalog, ArcMap). Aqui está uma versão. Aqui está outro. Ele suporta muitas funções relacionadas a campos e domínios, incluindo a alteração do tipo de campo, nome, alias, domínios etc. no MS Excel e o upload de alterações novamente no GDB.

John
fonte