Страница 1 из 1
Пакетная смена кодировки
Добавлено: 12 окт 2020, 15:53
glkhramov
Здравствуйте! Есть несколько тысяч shape файлов. Как сменить кодировку UTF-8 на windows 1251?
Re: Пакетная смена кодировки
Добавлено: 21 окт 2020, 16:24
Veronika_Coconut
Теперь тоже задаюсь вопросом.
Единственный вариант- обьеденить шейпы, сменить кодировку , разбить обратно.
Re: Пакетная смена кодировки
Добавлено: 21 окт 2020, 17:21
lam
Veronika_Coconut писал(а): ↑21 окт 2020, 16:24
Единственный вариант- обьеденить шейпы, сменить кодировку , разбить обратно.
А если шейпы разной геометрии и структур атрибутивных данных?
Re: Пакетная смена кодировки
Добавлено: 22 окт 2020, 11:40
Игорь Белов
Написать простейший скрипт, который в цикле:
- ogr2ogr конвертирует слой в MIF/MID или другой чисто текстовый формат;
- iconv перекодирует MIF/MID из UTF-8 в CP1251;
- ogr2ogr конвертирует MIF/MID обратно в шейпфайл.
Re: Пакетная смена кодировки
Добавлено: 22 окт 2020, 13:52
gamm
а в голове MIF поправить кодировку не надо случаем? с помощью разных grep/sed/m4 ...
Re: Пакетная смена кодировки
Добавлено: 22 окт 2020, 15:11
drrrrr
В консоли windows команда
Код: Выделить всё
for /r . %F in (*.shp) do (ogr2ogr -F "ESRI Shapefile" "%~dpnF-cp1251.shp" "%F" -oo ENCODING=UTF-8 -lco ENCODING=windows-1251)
рекурсивно перекодирует все shp файлы начиная с текущего каталога
Re: Пакетная смена кодировки
Добавлено: 23 окт 2020, 10:28
Veronika_Coconut
Как жаль, что я не умею в Python((
Re: Пакетная смена кодировки
Добавлено: 23 окт 2020, 10:40
gamm
Это не Питон, а командная строка, даже не PowerShell, как я понял.
Re: Пакетная смена кодировки
Добавлено: 15 янв 2021, 12:55
Veronika_Coconut
drrrrr писал(а): ↑22 окт 2020, 15:11
В консоли windows команда
КОД: ВЫДЕЛИТЬ ВСЁ
for /r . %F in (*.shp) do (ogr2ogr -F "ESRI Shapefile" "%~dpnF-cp1251.shp" "%F" -oo ENCODING=UTF-8 -lco ENCODING=windows-1251)
рекурсивно перекодирует все shp файлы начиная с текущего каталога
Подскажите пожалуйста чайнику, каталог- это можно файлы скинуть в одну папку и там работать? И просто вызвать консоль Ыинды и туда вставить этот код? Спасибо!
Re: Пакетная смена кодировки
Добавлено: 16 янв 2021, 08:06
evgenyc
Рекурсирсивно это значит даже в один каталог не надо скидывать, из головного в командной строке вызываете и он вложенные все каталоги захватит