Como codificar shapefiles de LATIN1 para UTF-8?

28

Existe uma maneira de codificar shapefiles de LATIN1 para UTF-8?

contrafluxo
fonte

Respostas:

16

Você pode fazer isso com o QGIS. Primeiro carregue seus shapefiles save ase, em seguida, codifique o menu suspenso utf-8 e salve seu arquivo.

Aragão
fonte
7
Palavra de cautela : para que esta solução qgis trabalho deve ser iniciado em um ambiente LATIN1 / ISO-8859-1 quando você abre o shapefile de entrada ou não vai lê-lo corretamente. Se você estiver trabalhando em um ambiente UTF8, a conversão poderá falhar silenciosamente, corrompendo os dados, dependendo dos dados no shapefile. Agora, a maioria dos sistemas operacionais agora é padrão para UTF8.
Unicoletti 19/10/11
1
Note-se que em algumas situações pode não funcionar, eu tive esse tipo de questões: ( osgeo-org.1560.n6.nabble.com/UTF-8-no-more-td4647456.html )
JaakL
Estou tentando salvar um arquivo de forma única do sistema para utf-8, mas ele não está funcionando. gis.stackexchange.com/questions/219092/…
Muhammad Faizan Khan
27

Supondo que você esteja no Linux e tenha acesso a uma versão recente do GDAL, tente o seguinte (nesta publicação ):

 export SHAPE_ENCODING="ISO-8859-1"
 ogr2ogr output.shp input -lco ENCODING=UTF-8

Nota: LATIN1 também deve funcionar em vez de ISO-8859-1.

No Windows, NÃO defina SHAPE_ENCODING, ogr2ogrnão reconhece ISO-8859-1nem LATIN1.

unicoletti
fonte
Apenas para esclarecer, "recente" aqui parece significar 1.9.x. Eu tentei isso com 1.8.1 e não funcionou, tentei novamente com 1.9.1 e funcionou.
Michal Migurski
Não funcionou para mim no Windows.
Pavel Radzivilovsky
Conseguiu funcionar no Windows, atualizou a resposta.
flup
Você sabe se posso procurar a lista de valores válidos para SHAPE_ENCODINGalgum lugar?
JJD 28/02
1
@JJD Eles são os mesmos usados ​​por iconv: gnu.org/software/libiconv
unicoletti 2/14
3

Se meu entendimento dos Shapefiles estiver correto, a parte que é sensível à codificação é o banco de dados de atributos contido no arquivo DBF.

Aqui está uma resposta que me ajudou a resolver esse problema usando o LibreOffice Calc / Base:

https://gis.stackexchange.com/a/3663/17998

Tem o benefício adicional de poder abrir o arquivo DBF usando um conjunto de caracteres distinto e, assim, descobrir qual é realmente a codificação atual.

Marian
fonte