terça-feira, 31 de maio de 2011

Como: Salvar um shapefile corrompido

Software:      ArcGIS - ArcEditor 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1 e 10.0 ArcGIS - ArcInfo 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1 e 10.0 ArcGIS - ArcView 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1 e 10.0
Platformas:   N/A

Resumo
As instruções fornecidas descrevem várias formas de salvar um shapefile corrompido. Dentre as causas comuns que podem corromper um shapefile, estão:

 - Um “crash” no computador durante uma operação de salvamento.
– Adicionar uma geometria ilegal, como uma “gravata borboleta” (bowties).
– Modificar os atributos em outro software, como o Microsoft Excel.


Está fora do âmbito deste documento enumerar todas as causas e situações onde os arquivos shapefile são corrompidos.

Se um dos passos abaixo corrigir o shapefile, não é necessário passar para o próximo passo. Se os passos neste documento não recuperarem o shapefile, retorne o backup.

Procedimento
Selecione uma opção abaixo. Faça um novo back-up do dado antes de experimentar cada uma destas opções.
-     Utilize a ferramenta Check Geometry no caminho ArcToolBox > Data Management Tools > Features. Problemas com dados são reportados durante a execução da ferramenta, ou numa tabela de saída. Veja a tabela de saída após a execução do comando. Uma tabela vazia indica que a ferramenta não encontrou nenhuma geometria inválida (bad geometry). Se uma geometria inválida for reportada, utilize a ferramenta Repair Geometry conforme descrito abaixo.

-       Execute o comando Repair Geometry no ArcToolBox > Data Management Tools > Features. Após rodar a ferramenta Repair Geometry , execute novamente o Check Geometry para ter certeza de que todas as feições corrompidas foram removidas. Repita o Check Geometry/Repair Geometry quantas vezes forem necessárias.

-      Exporte o dado para um geodatabase, então copie-o de volta para um novo shapefile.

-      Se o dado estiver num drive na rede, copie-o para um drive local. Se o dado estiver num drive local, copie-o para a raiz do drive principal, por exemplo, C:\.

-      Verifique se há algum nome ilegal nos campos da tabela de atributos. O nome dos campos podem ter somente dez caracteres. O nome dos campos deve iniciar com uma letra. O nome dos campos não pode conter espaços ou caracteres especiais, exceto o caracter underscore (_).

-      O nome dos arquivos não pode conter caracteres especiais, exceto para o character underscore (_). Geralmente falando, espaços  no nome dos shapefiles funcionam no ArcGIS 9.X, entretanto para finalidades de teste, renomeie o shapefile para que ele não tenha espaços.

-      Remova todos os arquivos de indices (espacial, atributo e geocodificação), projeção e metadados no Windows Explorer. Isto é, remova todos os arquivos, exceto o the .shp, .dbf e .shx. Verifique se uma cópia destes arquivos foi feita antes de removê-los.

-      Tente abrir o shapefile em outro computador.

          Abra o shapefile em outro software, preferencialmente o ArcView 3.X. Se você puder abrí-lo no ArcView 3.X, tente salvá-lo em um novo shapefile clicando em Theme > Convert To Shapefile.

-     Copie o dado para uma nova feature class usando o simple data loader ou copiando e colando as feições numa sessão de edição no ArcMap. Se seu shapefile não contém muitas feições, você pode tentar copiar e colar as feições uma por vez, ou grupos de feições para determinar quais feições podem estar corrompidas. Após cada operação de copiar e colar, salve as edições e veja se o problema desapareceu.

-     Se o dado ainda não tiver sido reparado e as ferramentas Check Geometry/Repair Geometry nas opções 1 ou 2 acima reportarem os IDS dos registros errados, remova-os manualmente numa sessão de edição.

-     Faça um cálculo num campo usando o ArcGIS e o ArcView 3.X usando o field calculator. O field calculator pode parar num registro corrompido. Examine a tabela de atributos do shapefile corrompido para determinar isto. Por exemplo, você pode ter um shapefile com 1.000 registros. Se o field calculator parar no 750º registro, então tanto o 750º ou o 751º podem estar corrompidos. Para apagar o registro corrompido, inicie uma sessão de edição no ArcMap. Copie e cole todos os registros exceto os suspeitos de erro para um novo shapefile. Como alternativa, tente apagar manualmente o(s) registro(s) com suspeita de geometria inválida.

-     Exporte o shapefile para um geodatabase. Veja so o exporte para num registro em particular. Examine a tabela de atributos da feature class exportada para determinar isto. Por exemplo, você pode ter um shapefile com 1.000 registros. Se a operação de export parar no registro parar no 750º registro, então tanto o 750º ou o 751º registros podem estar corrompidos. Para apagar o registro corrompido, inicie uma sessão de edição no ArcMap. Copie e cole todos os registros exceto os suspeitos de erro para um novo shapefile. Como alternativa, tente apagar manualmente o(s) registro(s) com suspeita de geometria inválida.

-     Apague todos os campos do shapefile exceto o FID, Shape e um atributo (shapefiles devem ter ao menos um campo). Se o problema persistir, adicione um novo campo string (texto) e remova os demais atributos. Se o problema desaparecer, isto poderia indicar um problema com um dos campos. Recupere o backup e use um processo de eliminação para determinar o campo corrompido.

-     Execute o aplicativo Shapefile Repairer encontrado na seção de Informações Relacionadas na parte inferior desta página. Note que este aplicativo não é suportado pela equipe de suporte técnico da ESRI.

-     Execute o aplicativo Shapefile Repair (não deve ser confundido com o Shapefile Repairer) encontrado na seção de Informações Relacionadas na parte inferior desta página. Note que este aplicativo não é suportado pela equipe de suporte técnico da ESRI.

-     Execute o aplicativo FunkFinder encontrado na seção de nformações Relacionadas na parte inferior desta página. Este aplicativo irá escrever os ID’s das feições suspeitas numa tabela dbf. Você pode tentar removê-los a partir de uma sessão de edição no ArcMap ou copiando e colando todas as feições exceto os registros suspeitos de erro para um novo shapefile Note que este aplicativo não é suportado pela equipe de suporte técnico da ESRI.

-     Faça download e execute o aplicativo CleanShapefile a partir da seção de Informações Relacionadas na parte inferior desta página (apenas para o ArcGIS 8.3.).

Informações Relacionadas
       FunkFinder Utility

Criado em: 28/2/2008
Modificado em: 31/05/2011

fonte: http://www.support.esri.com

Nenhum comentário:

Postar um comentário