Jak zakodować pliki shapefile z LATIN1 na UTF-8?


Odpowiedzi:


16

Możesz to zrobić za pomocą QGIS. Najpierw załaduj save aspliki shapefile, a następnie kodując menu rozwijane wybierz utf-8, a następnie zapisz plik.


7
Uwaga : aby to rozwiązanie działało, qgis należy uruchomić w środowisku LATIN1 / ISO-8859-1, gdy otworzysz wejściowy plik kształtów, inaczej nie będzie go poprawnie czytać. Jeśli pracujesz w środowisku UTF8, konwersja może się nie powieść cicho, powodując uszkodzenie danych, w zależności od danych w pliku kształtu. BTW, większość systemów operacyjnych ma teraz domyślnie UTF8.
unicoletti

1
Zauważ, że w niektórych sytuacjach może to nie działać, miałem takie problemy: ( osgeo-org.1560.n6.nabble.com/UTF-8-no-more-td4647456.html )
JaakL

Próbuję zapisać plik z jednym kształtem z systemu na utf-8, ale to nie działa. gis.stackexchange.com/questions/219092/...
Muhammad Faizan Khan

27

Zakładając, że korzystasz z Linuksa i masz dostęp do najnowszej wersji GDAL , możesz wypróbować następujące (z tego postu ):

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

Uwaga: LATIN1 powinien również działać zamiast ISO-8859-1.

W systemie Windows NIE ustawiaj SHAPE_ENCODING, ogr2ogrnie rozpoznaje ISO-8859-1, ani LATIN1.


Aby wyjaśnić, „ostatnio” wydaje się tutaj oznaczać 1.9.x. Próbowałem tego z wersją 1.8.1 i nie działało, próbowałem ponownie z wersją 1.9.1 i zadziałało.
Michał Migurski

Nie działało dla mnie w systemie Windows.
Pavel Radzivilovsky

Mam go do pracy w systemie Windows, zaktualizowałem odpowiedź.
flup

Czy wiesz, czy mogę SHAPE_ENCODINGgdzieś sprawdzić listę prawidłowych wartości ?
JJD

1
@JJD Są one takie same, jak używane przez iconv: gnu.org/software/libiconv
unicoletti

3

Jeśli moje rozumienie Shapefiles jest prawidłowe, częścią wrażliwą na kodowanie jest baza danych atrybutów zawarta w pliku DBF.

Oto odpowiedź, która pomogła mi rozwiązać ten problem za pomocą LibreOffice Calc / Base:

/gis//a/3663/17998

Ma tę dodatkową zaletę, że można otworzyć plik DBF przy użyciu odrębnego zestawu znaków, a tym samym dowiedzieć się, jakie jest aktualnie kodowanie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.