Уважаемые пользователи и гости форума! Обновление карт Украины для Нави-Мапс и СитиГИД доступно внутри программ.
=> Меню -> Карты -> Обновить.
Обновите пожалуйста Нави-Мапс на версию 12.0.242 или выше.

Ошибки и замечания можно давать в соответствующих темах форума или через кнопку Ошибка в программе.
Через кнопку Ошибка отправляйте информацию следующим образом:
Тап на карте в месте где надо сделать уточнения или изменения в карте. Пишите что именно надо изменить/добавить и нажимаете на кнопку Отправить.
Подождать еще примерно 2-3 минуты для сеанса связи.

Мы запустили Telegram-канал где можно задать вопрос или оперативно прислать скриншот и дать уточнения по картам.
Присоединяйтесь к нашему каналу: https://t.me/travelGPS_Ukraine_maps

Продолжаются работы по улучшению форума. Возможны перерывы во время обновления кода движка форума.

Ускорение процесса рисования карт - автоматизация

Здесь задаем вопросы по ПО, созданию и редактированию карт. Примеры, обмен опытом, ошибки при создании и редактировании карт.

Модераторы: alx69, Vadim_O, OldMan, AGurov, Vlad_UA

Ответить
Сообщение
Автор
Vadim_O
координатор проекта
Сообщения: 7923
Зарегистрирован: 11 июн 2006, 00:29
Чаще езжу тут:: Ukraine
Откуда: Одесса, Украина
Контактная информация:

Ускорение процесса рисования карт - автоматизация

#1 Сообщение Vadim_O » 11 окт 2006, 11:44

В этой ветке будем делиться секретами и нюансами, которые ускоряют процесс создания/рисования/корректировки карт.

Часть 1: Ускорение однотипных действий на примере рисования дороги. (Вопросы задаем Алексею из Луцка.)

Автоматизация однотипных действий при работе с GPSMapEdit.

Насколько часто, работая над созданием (или, что чаще - правкой) векторной карты, вы замечали, что повторяете одни и те же действия на клавиатуре (или мышкой)? Я думаю, что в любой области деятельности (не только в создании карт) есть такие однотипные действия. Много ума на них уже не нужно, ведь эти действия зачастую отработаны до автоматизма, но времени на них тратится непростительно много.
Давайте посмотрим, сколько действий нужно совершить, чтобы изменить тип линии. (Давайте я буду называть полилинии – просто линиями, хорошо?)
Итак:
1. Выделить линию.
2. Клацнув правой кнопкой мышки на линии, зайти в ее свойства. Или просто сделать для этого двойной щелчок, что приведет к тому же результату.
3. На закладке "Свойства" нажать кнопку выбора типа линии.
4. Из выпадающего списка выбрать нужный тип линии.
5. Подтвердить выбор нажатием клавиши Enter. (или кликом мышки по кнопке "Принять")
6. Закрыть диалоговое окно "Свойства объекта" кликом мышки по кнопке Ок.

А ведь все это можно легко автоматизировать. Автоматизация осуществляется при помощи программ, которые записывают ваши действия с мышкой и клавиатурой, а потом повторяют их по вашему требованию.
В общем, что нужно для автоматизации.
Во-первых – нужна программа AutoRecorder 3.3. Ищется легко.
Во-вторых – нужно четко представить себе действия, которые нужно автоматизировать.
Скачиваем программу. Устанавливаем ее. Запускаем. Видим в системном трее крест. Это и есть AutoRecorder. Заходим в контекстное меню программы:

Изображение

Видим список доступных команд: Record, Replay, Option.
Записывать нам пока рано, давайте сначала прогуляемся по настройках

Изображение

Что нам здесь понадобится:
Repeat option нам пока не нужно.
Record Option. Поставьте пока все так, как показано у меня на рисунке. Мы будем игнорировать действия с мышкой. В подавляющем большинстве случаев достаточно самой клавиатуры.
Replay Speed Option можно поставить на Fast. Если вам часто нужна эта программа, то можно поставить ее в автозагрузку, выбрав флажок Auto Startup из группы параметров Startup Option.
И, наконец, Other Option. Здесь мы задаем – какой сценарий (т.е. записанная программой последовательность ваших действий на клавиатуре) будет запускаться по нажатию клавиши F7. У нас пока нет записанных сценариев, поэтому закрываем окно настроек.

Самое время записать первый сценарий.

Но перед записью давайте попробуем посмотреть, что мы будем записывать.
Итак – задание то же самое, что и вначале статьи – изменить тип линии на заданный. Для конкретности давайте возьмем тип 0х5 – Collector Road. И усложним себе задание – будем считать, что исходные линии разного типа – т.е. мы не знаем какого типа у нас имеющаяся линия.

1. Выделить линию. Это мы сделаем сами.
2. Нам нужно попасть в окно "Свойства обьекта", пользуясь клавиатурой. Для этого нужно нажать кнопку "Контекстное меню" на клавиатуре (надеюсь, эта кнопка у вас есть :) – она находится левее правого Ctrl ), потом стрелку вверх и Enter.
3. На закладке "Свойства" нажать кнопку выбора типа линии. Переходим при помощи клавиши ТАВ на нужную нам кнопку. Достаточно одного нажатия ТАВа. Дальше нажимаем Enter.
4. Из выпадающего списка выбрать нужный тип линии. Казалось бы, все просто – пододвинул подсветку клавишами со стрелками на нужный тип и нажал Enter. Но ведь мы ввели условие – линии на входе могут быть разного типа. Если линия на входе из типом 0х7, то для перехода на 0х5 достаточно два раза нажать клавишу "Стрелка вверх". А если у линии тип 0х6, то нажимать эту клавишу нужно всего один раз. Как здесь быть? Выход один – нам нужна точка опоры. Поэтому нажимаем клавишу "Home" (перемещаемся в самый верх – на тип 0х1) и уже оттуда считаем нажатия клавиши "Стрелка вниз".
Еще одно важное примечание. В окне выбора типа есть возможность сортировки по номерам типов (0х1, 0х2) и по названиям. Помните, что сценарий, записанный тогда, когда была включена сортировка по номерам типов, не сработает правильно, когда включена сортировка по именам.
5. Подтвердить выбор нажатием клавиши Enter. Просто нажмем Enter
6. Закрыть диалоговое окно "Свойства объекта". Но перед этим нужно применить изменения. Нажимаем ТАВ до тех пор, пока не попадем на кнопку "Применить". Потом нажимаем клавишу "Enter". И только после этого - клавишу "Esc"

У нас получилось больше нажатий по сравнению с тем, как это делали бы мы вручную, но пусть это вас не беспокоит – эти нажатия будут воспроизведены с максимально возможной скоростью, и все равно получится быстрее.

Итак, разобрались с последовательностью команд, теперь пришло время ее записать. Нажимаем клавишу F10, и не торопясь, нажимаем все по порядку, желательно не делая ошибок. Если ошибка сделана (например, нажата лишний раз клавиша ТАВ), то лучше остановить запись (F11) и начать запись заново. Не нужно торопится, все равно задержки времени мы потом уберем.
После того, как мы нажали все нужные кнопки (и добились нужного результата для выбранной линии), останавливаем запись.
Давайте попробуем проиграть записанный нами сценарий. Идем в настройки, и нажав кнопку F7 Hotkey Replay File, выбираем в диалогов окне файл default.scp. Именно в него производится запись при нажатии F10. (т.е. он перезаписывается – так что будьте внимательны!).

Закрываем окно настроек. Переключаемся опять в GPSMapEdit, выбираем линию, которой мы хотим изменить тип, нажимаем клавишу F7… и наблюдаем, как не спеша меняется тип линии :).
Все правильно – ведь я сам просил вас не торопится.

Следующий этап – редактирование сценария. Т.е. убирание временных задержек. Вот посмотрите на фрагмент содержимого файла сценария:
KB_CLK(space)
delay(236)
KB_CLK(36)
delay(1236)

delay(236) – это значит, что между командами будет задержка в 236 милисекунд. Нам никаких задержек не нужно, так что можно смело ставить всюду delay(0).

KB_CLK(space)
delay(0)
KB_CLK(36)
delay(0)

А теперь – после редактирования (и заодно дайте вашему сценарию внятное имя, чтобы потом не запутатся в ваших сценариях) попробуйте снова проиграть ваш сценарий.

Как вам скорость?

Думаю, теперь вы убедились, что автоматизация – великое дело J
Кстати, убирать временные задержки тоже можно автоматизировано, – при помощи вот этой программки.

Она читает файл default.scp, и результат (с нулевыми задержками) выдает в файл default_delay0.scp.

При всех достоинствах программы AutoRecorder, у нее есть один серьезный недостаток – у нее только одна клавиша для быстрого запуска сценария. Для того, что бы проигрывать другой сценарий, вам нужно, или изменить настройки программы (указать этот сценарий), или нажать клавишу F9. В этом случае откроется диалоговое окно, в котором можно выбрать сценарий, который нужно воспроизвести.

Но зато это самая простая программа из всех
:roll:

Быстренько скачать AutoRecorder можно здесь

Wladi
помощник развития карт проекта
Сообщения: 229
Зарегистрирован: 26 июн 2006, 16:30
Откуда: Lugansk
Контактная информация:

Разноска по уровням

#2 Сообщение Wladi » 12 окт 2006, 22:39

За прогу - спасибо. Однако попытался с помощью нее сделать разноску по уровням - тех же дорог - не получилось.
Вопрос: можно ли сделать с помощью нее разноску по уровням?
Если нет, то с помощью какой проги это сделать можно, кроме как mp2mp, а то она заумная и не удобная.

mr.Flasher
Активный участник форума
Сообщения: 934
Зарегистрирован: 03 сен 2006, 10:32
Откуда: Забыл
Контактная информация:

#3 Сообщение mr.Flasher » 13 окт 2006, 01:57

Однако попытался с помощью нее сделать разноску по уровням - тех же дорог - не получилось.
А у меня получилось (в версии Map Edit-а от Михаила Сотина, ибо там есть поиск объектов по типу), правда с помощью другой проги (не уверен что могу дать ссылку на нее, ибо Сенсей может обидится ;) пусть он дает). Но и с помощью этой проги можно сделать!!!

Скоро думаю Алексей выложит 2-ю статью о макросах, вместе с ссылкой на "другую" программу.

Mechanic
Картограф проекта
Сообщения: 145
Зарегистрирован: 26 июн 2006, 22:23
Откуда: Луцьк, Україна
Контактная информация:

#4 Сообщение Mechanic » 13 окт 2006, 15:16

Вообще-то вторая часть почти готова, к вечеру исправлю ошибки и закину сюда.
Однако попытался с помощью нее сделать разноску по уровням - тех же дорог - не получилось
А как это нужно делать?

Vadim_O
координатор проекта
Сообщения: 7923
Зарегистрирован: 11 июн 2006, 00:29
Чаще езжу тут:: Ukraine
Откуда: Одесса, Украина
Контактная информация:

Re: Разноска по уровням

#5 Сообщение Vadim_O » 13 окт 2006, 18:04

Wladi писал(а):За прогу - спасибо. Однако попытался с помощью нее сделать разноску по уровням - тех же дорог - не получилось.
Вопрос: можно ли сделать с помощью нее разноску по уровням?
Если нет, то с помощью какой проги это сделать можно, кроме как mp2mp, а то она заумная и не удобная.
Могу выложить на выходные конфиг для утилиты atlas_route - чтобы она делала разноску по слоям.

Mechanic
Картограф проекта
Сообщения: 145
Зарегистрирован: 26 июн 2006, 22:23
Откуда: Луцьк, Україна
Контактная информация:

#6 Сообщение Mechanic » 13 окт 2006, 19:00

Автоматизация однотипных действий при работе с GPSMapEdit.
Часть вторая.

http://mechanic.yard.ru/auto2.php

Пинайте, если что не так...

mr.Flasher
Активный участник форума
Сообщения: 934
Зарегистрирован: 03 сен 2006, 10:32
Откуда: Забыл
Контактная информация:

#7 Сообщение mr.Flasher » 13 окт 2006, 21:58

Wladi, вот как записывается макрос переброса крупных дорог с уровня 0 на уровень 1 в версии Сотина
Макрос довольно длинный

Код: Выделить всё

0
Alt
курсор вправо
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вправо
курсор вниз
курсор вниз
курсор вниз
Enter
Tab
Tab
Alt+курсор вверх
курсор вверх
курсор вверх
курсор вниз
Enter
Tab
Tab
Enter
Tab
Tab
Tab
0
X
0
1
Enter
Tab
Enter
0
Alt
курсор вправо
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вправо
курсор вниз
курсор вниз
курсор вниз
Enter
Tab
Tab
Alt+курсор вверх
курсор вверх
курсор вверх
курсор вниз
Enter
Tab
Tab
Enter
Tab
Tab
Tab
0
X
0
2
Enter
Tab
Enter
0
Alt
курсор вправо
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вправо
курсор вниз
курсор вниз
курсор вниз
Enter
Tab
Tab
Alt+курсор вверх
курсор вверх
курсор вверх
курсор вниз
Enter
Tab
Tab
Enter
Tab
Tab
Tab
0
X
0
3
Enter
Tab
Enter
0
Alt
курсор вправо
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вправо
курсор вниз
курсор вниз
курсор вниз
Enter
Tab
Tab
Alt+курсор вверх
курсор вверх
курсор вверх
курсор вниз
Enter
Tab
Tab
Enter
Tab
Tab
Tab
0
X
0
4
Enter
Tab
Enter
0
Alt
курсор вправо
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вправо
курсор вниз
курсор вниз
курсор вниз
Enter
Tab
Tab
Alt+курсор вверх
курсор вверх
курсор вверх
курсор вниз
Enter
Tab
Tab
Enter
Tab
Tab
Tab
0
X
0
0
1
4
Enter
Tab
Enter
0
Alt
курсор вправо
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вправо
курсор вниз
курсор вниз
курсор вниз
Enter
Tab
Tab
Alt+курсор вверх
курсор вверх
курсор вверх
курсор вниз
Enter
Tab
Tab
Enter
Tab
Tab
Tab
0
X
0
0
1
f
Enter
Tab
Enter
клавиша Меню
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вниз
курсор вправо
курсор вниз
курсор вниз
курсор вниз
Enter
1
Tab
Enter

Mechanic
Картограф проекта
Сообщения: 145
Зарегистрирован: 26 июн 2006, 22:23
Откуда: Луцьк, Україна
Контактная информация:

#8 Сообщение Mechanic » 13 окт 2006, 22:56

mr.Flasher - лучше положи свой файл настроек программы KeyMan. Его можно сделать, зайдя в "Главные настройки". Там кнопка есть "Сохранить настройки в файл". В этот файл сохранятся и все макросы.
По ссылке в моем предыдущем посте об этом уже написано...
или вышли мне на olexa_lutsk()rambler.ru

Ответить

Вернуться в «Создание и редактирование любительских карт.»