Abaixo dos detalhes do processo que eu usei para converter um File GeoDataBase com campos em árabe em shapefiles com codificação UTF-8 que abrem alegremente no QGIS e no ArcMap mostrando o árabe e o inglês corretamente (sem usar extensões para exportar ou ler):
- A idéia básica é: do FGDB, exporte um shapefile incluindo um .dbf (na codificação incorreta), depois exporte a Tabela de Atributos da mesma camada que o texto (na codificação correta, que é UTF-8) e use outro programa para substituir o conteúdo do shapefile .dbf pelos campos de dados UTF-8 adequados e salve o .dbf com a codificação UTF-8. Em seguida, adicione um arquivo .cpg a cada shapefile para informar ao ArcGIS a nova codificação do .dbf. Passos:
1) Adicione as camadas do FGDB ao ArcMap (usei o 10.1, mas não há absolutamente nenhuma razão para ele não funcionar em versões anteriores, porque o bit de codificação acontece mais tarde, fora do Arc). Para exportar, clique com o botão direito do mouse em uma camada e escolha Dados-> Exportar Dados, clique no botão da pasta na caixa de diálogo de exportação para abrir a caixa de diálogo Salvar e escolha Shapefile como formato de saída.
1b) Método alternativo para o acima: navegue até o FGDB no ArcCatalog, clique com o botão direito do mouse, escolha Exportar -> Para o Shapefile (múltiplo) e exporte todo o FGCB como uma pasta cheia de shapefiles em uma única operação).
2) Agora você tem um conjunto de arquivos de forma com rabiscos onde o script em árabe deveria estar (na minha máquina, ele exibia pontos de interrogação no lugar dos caracteres). As partes .dbf dos próprios shapefiles, abertas no Excel ou qualquer outra coisa, têm bobagens em vez de árabe; não é apenas um problema de exibição no programa GIS, é que os arquivos .dbf não contêm os caracteres árabes. Ainda não é útil.
3) No ArcMap, abra a Tabela de Atributos de uma camada do FGDB. A tabela é aberta com o inglês e o árabe mostrando corretamente (é por isso que o FGDB foi usado em primeiro lugar). No menu Opções da tabela da janela Tabela de atributos, escolha Exportar e, na caixa de diálogo Exportar dados, clique no botão da pasta de saída para acessar a caixa de diálogo Salvar dados, na qual você escolhe Arquivo de texto como o tipo de saída. Agora você tem um arquivo de texto que será aberto no bloco de notas com delimitadores de vírgula, codificados como UTF-8, com o inglês e o árabe adequadamente codificados (o árabe deve, nesse momento, ser exibido corretamente no bloco de notas).
Agora, para obter essas informações nas partes .dbf dos shapefiles!
4) Abra o LibreOffice Calc, um clone do Excel gratuito e de código aberto que abre, manipula e salva arquivos .dbf facilmente, para abrir o arquivo .dbf de um shapefile.
A propósito, neste caso, não estou usando o LibreOffice em vez do MS Office por razões ideológicas, mas simplesmente porque não consigo descobrir como fazer o Excel salvar um arquivo .dbf, que é fácil no Calc, na verdade, é o opção padrão ao pressionar Salvar depois de abrir e modificar um arquivo .dbf no Calc, enquanto o Excel realmente afirma que o arquivo "não pode ser salvo no formato atual" e não oferece tanta utilidade para "salvá-lo como o formato mais recente" (nenhuma opção para .dbf aparece). Existem extensões / plugins para Excel que pretendem fazer o trabalho (
O arquivo .dbf no Calc ainda mostra as semelhanças no lugar do árabe. Além disso, abra o .csv que você exportou da tabela de atributos do mesmo shapefile, certificando-se de especificar UTF-8 como a codificação (e vírgulas como delimitadores) no diálogo de abertura. Os arquivos de texto devem abrir em uma segunda planilha do Calc com o árabe exibido corretamente e devem conter as mesmas colunas que o .dbf mais uma coluna OBJECTID no início. Copie e cole as colunas do .csv que contêm o árabe apropriado no .dbf (na verdade, copiei e colei a tabela inteira com exceção da coluna de ID mais à esquerda para economizar tempo; as informações são idênticas de qualquer maneira). Clique em Salvar no .dbf modificado no LibreOffice (ele perguntará se você realmente deseja usar um formato tão estranho como .dbf; sim, sim).
Repita esse processo para todos os componentes .dbf dos shapefiles do FGDB, substituindo todas as colunas sem sentido pelas seqüências de caracteres árabes.
5) Assim que você salvar novamente as partes .dbf com as colunas árabes coladas, poderá abrir os shapefiles no QGIS e eles funcionarão corretamente nos dois idiomas, desde que você especifique UTF-8 como a codificação no Vetor de importação Caixa de diálogo arquivo. No entanto, eles ainda não funcionarão corretamente no ArcGIS (ou pelo menos não em todas as versões) porque o ArcGIS não reconhece automaticamente a codificação ou permite que você a escolha quando adicionar o shapefile a um projeto. O Arc precisa de um componente separado para o shapefile, chamado de arquivo de conversão de página de código (.cpg), para instruí-lo sobre a codificação a ser lida.
6) Use um editor de texto (bloco de notas, nano ou qualquer outra coisa, mas não o Word ou qualquer outro processador de texto) para criar um arquivo de texto que contenha apenas os cinco caracteres "UTF-8". Salve-o como .cpg para cada um dos shapefiles (basta clicar em um pedaço do shapefile na caixa de diálogo Salvar como, depois apago a extensão e adiciono .cpg), na mesma pasta do shapefile (basicamente ele se torna outro o shapefile de várias partes). A extensão .cpg informa ao Arc que este é um arquivo que contém informações sobre a codificação do arquivo .dbf; depois de agrupado no shapefile junto com seus irmãos de mesmo nome, mas com extensão diferente, a codificação do shapefile agora é reconhecida automaticamente pelo ArcGIS.
7) Voila. Agora você tem shapefiles que contêm seqüências de caracteres em inglês e árabe, até onde eu sei exatamente como estavam no File GeoDataBase original. Eles abrem em minhas instalações do ArcMap e QGIS e, em ambos os casos, as strings nos dois idiomas são exibidas corretamente, incluindo nos rótulos dos mapas.
Ressalvas:
Nem todas as cópias do ArcGIS parecem exportar a tabela de atributos como um arquivo de texto preenchido corretamente (em pelo menos um computador, tentar exportar a tabela de atributos para um arquivo de texto resulta em um arquivo apenas com os cabeçalhos, não as linhas de dados. NÃO é o comportamento adequado do Arc (é claro que é possível exportar tabelas de atributos como texto), mas isso pode surgir para alguns usuários, o que impossibilita o restante das etapas.
Não parece que o ArcGIS salvará novos shapefiles com a codificação UTF-8. Isso afetará apenas os usuários que desejam criar novos shapefiles a partir dos dados, não as pessoas que desejam apenas exibir, modificar e usá-los para fazer mapas. A solução alternativa parece envolver a bagunça com o registro do Windows, conforme detalhado aqui: ( http://support.esri.com/cn/knowledgebase/techarticles/detail/21106 ). Eu não tive que lidar com isso porque meu ArcGIS e QGIS parecem reconhecer os arquivos de forma que salvei usando o processo acima, e posso modificar a geometria e as tabelas ou adicionar novos polígonos com mais texto em árabe, sem problemas óbvios ( mesmo que o Arc pareça não querer salvar novos arquivos de forma com a codificação UTF-8, ele parece disposto a atualizá-los / salvá-los).
Estou assumindo que a funcionalidade do LibreOffice é a mesma no Windows e no meu computador. Eu uso o GNU / Linux na maior parte do meu trabalho e só inicializo no Windows se precisar usar o ArcGIS ou o Autocad para alguma tarefa ou outra, então fiz a modificação do arquivo .dbf no Libreoffice em execução no Fedora. Suponho que funcione da mesma maneira no Windows, mas não posso testar isso sem instalar o LibreOffice na minha partição do Windows e minha conexão com a Internet atual é um pouco lenta para downloads desnecessários. Existem plugins para o Excel que permitem salvar arquivos .dbf em uma codificação selecionada (exceltodbf.sourceforge.net/, por exemplo), mas ainda não os tentei. Pode haver outras maneiras de manipular e salvar .dbf, mas eu não as examinei depois de encontrar uma maneira razoavelmente fácil de fazer isso com o LibreOffice.
Todo o problema parece ser evitável se você pagar pela extensão Mapeamento de Produção no ArcGIS, que permite converter diretamente FGDBs em shapefiles com codificação UTF-8, de acordo com esta página: http://resources.arcgis.com/en/help /main/10.1/index.html#//0103000001m1000000 . Por que essa funcionalidade bastante básica (o Unicode já existe há algum tempo e existem muitos idiomas além do inglês) está disponível apenas para os clientes que pagam mais é uma pergunta para a ESRI.