Пакетная смена кодировки

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
glkhramov
Участник
Сообщения: 83
Зарегистрирован: 26 июл 2013, 17:15
Репутация: 1

Пакетная смена кодировки

Сообщение glkhramov » 12 окт 2020, 15:53

Здравствуйте! Есть несколько тысяч shape файлов. Как сменить кодировку UTF-8 на windows 1251?

Veronika_Coconut
Интересующийся
Сообщения: 40
Зарегистрирован: 17 июл 2020, 09:11
Репутация: 2
Откуда: Киев

Re: Пакетная смена кодировки

Сообщение Veronika_Coconut » 21 окт 2020, 16:24

Теперь тоже задаюсь вопросом.
Единственный вариант- обьеденить шейпы, сменить кодировку , разбить обратно.

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Пакетная смена кодировки

Сообщение lam » 21 окт 2020, 17:21

Veronika_Coconut писал(а):
21 окт 2020, 16:24
Единственный вариант- обьеденить шейпы, сменить кодировку , разбить обратно.
А если шейпы разной геометрии и структур атрибутивных данных?

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Пакетная смена кодировки

Сообщение Игорь Белов » 22 окт 2020, 11:40

Написать простейший скрипт, который в цикле:
  1. ogr2ogr конвертирует слой в MIF/MID или другой чисто текстовый формат;
  2. iconv перекодирует MIF/MID из UTF-8 в CP1251;
  3. ogr2ogr конвертирует MIF/MID обратно в шейпфайл.
The purpose of computing is insight, not numbers

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Пакетная смена кодировки

Сообщение gamm » 22 окт 2020, 13:52

а в голове MIF поправить кодировку не надо случаем? с помощью разных grep/sed/m4 ...

drrrrr
Участник
Сообщения: 86
Зарегистрирован: 31 янв 2012, 10:51
Репутация: 51

Re: Пакетная смена кодировки

Сообщение 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 файлы начиная с текущего каталога

Veronika_Coconut
Интересующийся
Сообщения: 40
Зарегистрирован: 17 июл 2020, 09:11
Репутация: 2
Откуда: Киев

Re: Пакетная смена кодировки

Сообщение Veronika_Coconut » 23 окт 2020, 10:28

Как жаль, что я не умею в Python((

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Пакетная смена кодировки

Сообщение gamm » 23 окт 2020, 10:40

Это не Питон, а командная строка, даже не PowerShell, как я понял.

Veronika_Coconut
Интересующийся
Сообщения: 40
Зарегистрирован: 17 июл 2020, 09:11
Репутация: 2
Откуда: Киев

Re: Пакетная смена кодировки

Сообщение Veronika_Coconut » 15 янв 2021, 12:55

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 файлы начиная с текущего каталога
Подскажите пожалуйста чайнику, каталог- это можно файлы скинуть в одну папку и там работать? И просто вызвать консоль Ыинды и туда вставить этот код? Спасибо!

evgenyc
Интересующийся
Сообщения: 15
Зарегистрирован: 23 сен 2020, 13:09
Репутация: 2
Откуда: Новосибирск

Re: Пакетная смена кодировки

Сообщение evgenyc » 16 янв 2021, 08:06

Рекурсирсивно это значит даже в один каталог не надо скидывать, из головного в командной строке вызываете и он вложенные все каталоги захватит

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей