Come codificare gli shapefile da LATIN1 a UTF-8?


Risposte:


16

Puoi farlo con QGIS. Prima carica i tuoi file di forma save ase poi codifica seleziona il menu a discesa utf-8 e poi salva il tuo file.


7
Parola di cautela : per questa soluzione al lavoro QGIS deve essere avviato in un ambiente ISO-8859-1 LATIN1 / quando si apre lo shapefile di ingresso o non lo leggerà correttamente. Se si lavora in un ambiente UTF8, la conversione potrebbe non riuscire in modo silenzioso, corrompendo i dati, a seconda dei dati nel file di forma. A proposito, la maggior parte dei sistemi operativi ora è predefinita su UTF8.
unicoletti,

1
Si noti che in alcune situazioni potrebbe non funzionare, ho avuto questo tipo di problemi: ( osgeo-org.1560.n6.nabble.com/UTF-8-no-more-td4647456.html )
JaakL

Sto cercando di salvare il file a forma singola dal sistema a utf-8 ma non funziona. gis.stackexchange.com/questions/219092/…
Muhammad Faizan Khan

27

Supponendo che tu sia su Linux e abbia accesso a una versione recente di GDAL , puoi provare quanto segue (da questo post ):

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

Nota: LATIN1 dovrebbe funzionare anche al posto di ISO-8859-1.

In Windows, NON impostare il SHAPE_ENCODING, ogr2ogrnon riconosce ISO-8859-1, né LATIN1.


Giusto per chiarire, "recente" qui sembra significare 1.9.x. Ho provato questo con 1.8.1 e non ha funzionato, ho riprovato con 1.9.1 e ha funzionato.
Michal Migurski,

Non ha funzionato per me su Windows.
Pavel Radzivilovsky,

Ha funzionato in Windows, ho aggiornato la risposta.
flup,

Sai se posso cercare l'elenco di valori validi da SHAPE_ENCODINGqualche parte?
JJD,

1
@JJD Sono gli stessi usati da iconv: gnu.org/software/libiconv
unicoletti

3

Se la mia comprensione di Shapefiles è corretta, la parte sensibile alla codifica è il database degli attributi contenuto nel file DBF.

Ecco una risposta che mi ha aiutato a risolvere questo problema usando LibreOffice Calc / Base:

/gis//a/3663/17998

Ha il vantaggio aggiuntivo di poter aprire il file DBF utilizzando un set di caratteri distinto e quindi scoprire quale sia effettivamente la codifica corrente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.