Уважаемые пользователи и гости форума! Обновление карт Украины для Нави-Мапс и СитиГИД доступно внутри программ.
=> Меню -> Карты -> Обновить. Обновите пожалуйста Нави-Мапс на версию 12.0.242 или выше.
Ошибки и замечания можно давать в соответствующих темах форума или через кнопку Ошибка в программе.
Через кнопку Ошибка отправляйте информацию следующим образом:
Тап на карте в месте где надо сделать уточнения или изменения в карте. Пишите что именно надо изменить/добавить и нажимаете на кнопку Отправить.
Подождать еще примерно 2-3 минуты для сеанса связи.
Мы запустили Telegram-канал где можно задать вопрос или оперативно прислать скриншот и дать уточнения по картам.
Присоединяйтесь к нашему каналу: https://t.me/travelGPS_Ukraine_maps
Продолжаются работы по улучшению форума. Возможны перерывы во время обновления кода движка форума.
=> Меню -> Карты -> Обновить. Обновите пожалуйста Нави-Мапс на версию 12.0.242 или выше.
Ошибки и замечания можно давать в соответствующих темах форума или через кнопку Ошибка в программе.
Через кнопку Ошибка отправляйте информацию следующим образом:
Тап на карте в месте где надо сделать уточнения или изменения в карте. Пишите что именно надо изменить/добавить и нажимаете на кнопку Отправить.
Подождать еще примерно 2-3 минуты для сеанса связи.
Мы запустили Telegram-канал где можно задать вопрос или оперативно прислать скриншот и дать уточнения по картам.
Присоединяйтесь к нашему каналу: https://t.me/travelGPS_Ukraine_maps
Продолжаются работы по улучшению форума. Возможны перерывы во время обновления кода движка форума.
Скрипты для СГ и не только
Модераторы: alx69, Vadim_O, OldMan, Mechanic, Alex1802, PivoOdessa
-
- Активный участник форума
- Сообщения: 235
- Зарегистрирован: 01 июн 2007, 22:01
- Откуда: Киев
Скрипты для СГ и не только
Подсобный инструментарий для подготовки исходников для конвертации в СГ и не только. Скрипты на перле, поэтому нужен перл (strawberry perl, active perl или любой другой), запускаются из командной строки. Если кому-то сильно надо, и не получается, могу выполнить в виде екзешника.
Все скрипты разрабатывались для работы с исходниками нулевого уровня, будет ли корректно работать с многоуровневыми исходниками, не гарантирую. Кроме того, перед работой надо разнести все сджойненные объекты. Некоторые скрипты в качестве побочного эффекта удаляют комментарии.
1. 0brackets.pl. Заменяет в Label и StreetDesc круглые скобки на квадратные. Запуск
perl 0brackets.pl file.mp
Результат в file_bracket.mp
2. 0list_key.pl. Составляет сортированный список различных значений выбранного ключа. Полезно при работе с адреской - для выявления опечаток, а также для подготовки таблицы перебода для следующего скрипта. Запуск:
perl 0list_key.pl file.mp key [feature [type]]
Примеры
perl 0list_key.pltest.mp StretDesc
perl 0list_key.pl test.mp Label POI 0x6001
Рзультат в file_<key>.txt
3. 0translate_key.pl Производит контекстную замену значений выбранного ключа согласно таблице. Удобно для внесения массовых изменений, перевода, исправления неточностей. Таблица - текстовый (csv) файл, формат строк
старое значение;новое значение
или
старое значение;новое значение;что угодно
Запуск:
perl 0translate_key.pl file.mp tablelie key
Пример
perl 0translate_key.pl test.mp table.csv Label
в ключе Label заменит значения согласно таблице table.csv
Результат в file_translated.mp,
отчет о результатах в file_log.txt
4. 0str2label.pl Если в полилинии типа дороги есть ключ StreetDesc и его значение не совпадает с Label или Label отсутсвует, оно заполняется значением из StreetDesc. Запуск:
perl 0str2label.pl file.mp
Результат в file_fixed.mp
Отчет о выполненных заменах в file_log.txt
5. 0sanitize4cg.pl Удаляет все ключи, кроме тех, которые понимает конвертер в СГ. В частности, удаляет EndLevel, на неправильное заполнение которого конвертер реагирует очень болезненно, так что с многослойными картами запускать с осторожностью. Запуск
perl 0sanitize4cg.pl file.mp
результат в file_cg.mp
Итак, для подготовки одноуровневой карты для конвертации я делал:
1. провел анализ и ремонт адрески описанными средствами и скриптами 2, 3
2. с помощью ГМЕ разнес сджойненные объекты
3. с помощью 4 скрипта привел в соответствие Label и StreetDesc, получил файл file_fixed.mp. Проверил лог, если скрипт заменил, как надо, двигаюсь дальше, если нет - правлю руками и скриптом 3
4. Скриптом 1 получаю файл file_fixed_brackets.mp
5. Скриптом 5 делаю файл file_fixed_brackets_cg.mp, который скармливаю конвертору, который кушает все с удовольствием.
Поскольку шаги 3-5 делаются легко и быстро, после конвертации в СГ все обрезанные исходники удаляю, чтобы не плодить мусор. Сохраняю оригинальный файл и если надо таблицы, которыми что-то правил 3 скриптом.
Все скрипты разрабатывались для работы с исходниками нулевого уровня, будет ли корректно работать с многоуровневыми исходниками, не гарантирую. Кроме того, перед работой надо разнести все сджойненные объекты. Некоторые скрипты в качестве побочного эффекта удаляют комментарии.
1. 0brackets.pl. Заменяет в Label и StreetDesc круглые скобки на квадратные. Запуск
perl 0brackets.pl file.mp
Результат в file_bracket.mp
2. 0list_key.pl. Составляет сортированный список различных значений выбранного ключа. Полезно при работе с адреской - для выявления опечаток, а также для подготовки таблицы перебода для следующего скрипта. Запуск:
perl 0list_key.pl file.mp key [feature [type]]
Примеры
perl 0list_key.pltest.mp StretDesc
perl 0list_key.pl test.mp Label POI 0x6001
Рзультат в file_<key>.txt
3. 0translate_key.pl Производит контекстную замену значений выбранного ключа согласно таблице. Удобно для внесения массовых изменений, перевода, исправления неточностей. Таблица - текстовый (csv) файл, формат строк
старое значение;новое значение
или
старое значение;новое значение;что угодно
Запуск:
perl 0translate_key.pl file.mp tablelie key
Пример
perl 0translate_key.pl test.mp table.csv Label
в ключе Label заменит значения согласно таблице table.csv
Результат в file_translated.mp,
отчет о результатах в file_log.txt
4. 0str2label.pl Если в полилинии типа дороги есть ключ StreetDesc и его значение не совпадает с Label или Label отсутсвует, оно заполняется значением из StreetDesc. Запуск:
perl 0str2label.pl file.mp
Результат в file_fixed.mp
Отчет о выполненных заменах в file_log.txt
5. 0sanitize4cg.pl Удаляет все ключи, кроме тех, которые понимает конвертер в СГ. В частности, удаляет EndLevel, на неправильное заполнение которого конвертер реагирует очень болезненно, так что с многослойными картами запускать с осторожностью. Запуск
perl 0sanitize4cg.pl file.mp
результат в file_cg.mp
Итак, для подготовки одноуровневой карты для конвертации я делал:
1. провел анализ и ремонт адрески описанными средствами и скриптами 2, 3
2. с помощью ГМЕ разнес сджойненные объекты
3. с помощью 4 скрипта привел в соответствие Label и StreetDesc, получил файл file_fixed.mp. Проверил лог, если скрипт заменил, как надо, двигаюсь дальше, если нет - правлю руками и скриптом 3
4. Скриптом 1 получаю файл file_fixed_brackets.mp
5. Скриптом 5 делаю файл file_fixed_brackets_cg.mp, который скармливаю конвертору, который кушает все с удовольствием.
Поскольку шаги 3-5 делаются легко и быстро, после конвертации в СГ все обрезанные исходники удаляю, чтобы не плодить мусор. Сохраняю оригинальный файл и если надо таблицы, которыми что-то правил 3 скриптом.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- начинающий писатель
- Сообщения: 16
- Зарегистрирован: 22 апр 2009, 07:23
-
- Активный участник форума
- Сообщения: 235
- Зарегистрирован: 01 июн 2007, 22:01
- Откуда: Киев
Прикрутил гуй, собрал в exe, теперь можно без перла и без командной строки.
Еще раз кратко:
0brackets - заменяет круглые скобки на квадратные
0list_key - выдает сортированный список значений ключа
0translate_key - универсальный переводчик-исправлятор значений выбранного ключа
0str2label - устраняет неравенство StreetDesc и Label
0sanitize4cg - удаляет гамузом все данные из исходника, кроме выбранных полей. Список полей, которые оставлять, в конфиге (можно править текстовым редактором). Если этим кто-то будет пользоваться, сделаю удобнее.
Все программы в результате преобразования в exe заметно прибавили в весе, поэтому выложены не здесь, а на http://194.44.31.54/maps/scripts
Еще раз кратко:
0brackets - заменяет круглые скобки на квадратные
0list_key - выдает сортированный список значений ключа
0translate_key - универсальный переводчик-исправлятор значений выбранного ключа
0str2label - устраняет неравенство StreetDesc и Label
0sanitize4cg - удаляет гамузом все данные из исходника, кроме выбранных полей. Список полей, которые оставлять, в конфиге (можно править текстовым редактором). Если этим кто-то будет пользоваться, сделаю удобнее.
Все программы в результате преобразования в exe заметно прибавили в весе, поэтому выложены не здесь, а на http://194.44.31.54/maps/scripts
-
- Сообщения: 7
- Зарегистрирован: 07 авг 2010, 16:12
Re: Скрипты для СГ и не только
Выложите, пожалуйста, на фтп к экзешникам и исходные скрипты. Вложение в заглавном сообщении я не могу скачать.