Como forçar o ArcGIS a reconhecer um campo de texto em um arquivo CSV?


11

Relacionado à detecção de tipo de dados no carregamento da tabela do ArcGIS

Eu tenho um arquivo CSV que contém uma mistura de campos numéricos e de texto:

ID,Txt,Int,Dbl
12345,abc,45,56.78
12346,9,65,23.12
12347,10,66,23.13

De acordo com este artigo da Esri, se as 8 principais linhas contiverem um valor de texto, o campo será classificado como texto, mas estou descobrindo que o segundo campo é classificado como Longo. Isso significa que o valor "abc" é omitido:

insira a descrição da imagem aqui

Como forçar o ArcGIS a reconhecer isso como um campo de texto, mantendo os dados no formato CSV?

Uma solução alternativa será criar uma tabela de geodatabase, definir o campo como texto e Carregar os dados, mas espero manter a tabela em CSV (é a saída de outro processo).

obrigado


2
Aqui está a especificação completa para o registro: msdn.microsoft.com/en-us/library/windows/desktop/... Curiosamente, ele não totalmente funcionou para mim ...
Mahdi

Respostas:


18

Dê uma olhada na seção "Substituindo como os arquivos de texto são formatados" no tópico da ajuda em Adicionando uma tabela ASCII ou de arquivo de texto :

Você pode substituir como os arquivos de texto delimitados são exibidos no ArcGIS usando os arquivos schema.ini. Um exemplo de quando você deseja usar o arquivo schema.ini para substituir o comportamento padrão é quando o ArcGIS está interpretando mal um tipo de campo. O exemplo a seguir mostra como fazer isso para um campo chamado PLOTS, que deve ser exibido como tipo Texto, mas está sendo interpretado como tipo Duplo.

[Trees.CSV]
Col14=PLOTS Text

Observe que pode ser necessário criar um arquivo schema.ini se um não estiver presente e você deve substituir como os arquivos de texto delimitados são exibidos no ArcGIS. Para obter mais informações sobre o arquivo schema.ini, faça uma pesquisa por schema.ini no site da Microsoft MSDN .


2
Obrigado por isso - ele faz o truque. Parece haver um problema com o ArcGIS varrendo as 8 primeiras linhas automaticamente, no entanto.
Stephen Lead

4
Eu tive que adicionar "MaxScanRows = 0", pois a coisa "ColX = name Text" não parecia funcionar 100% sozinha.
Stephen Lead

Alguém já tentou isso usando o arcpy no Linux? Eu acho que isso só funcionaria no Windows, pois o schema.ini está todo vinculado ao fragmento ODBC da Micrsoft.
Curtis Preço
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.