На написание этого скрипта меня сподвиг iks темой Сохранение точки в Навителе с голосовой заметкой
Но голосовые заметки на данном этапе меня не очень интересуют, а вот пополнение спидкама (особенно "лежачие полицейские" и прочие неровности) актуальны.
Как обычно происходит пополнение:
Вы приметили интересующий вас объект, допустим, "лежачий полицейский".
Вам нужно остановиться (желательно так, чтобы это не мешало остальным )
Выйти из машины
Встать рядом с объектом
Приблизить карту и поставить на ней "Путевую точку"
И так с каждым объектом.
Потом дома нужно "пройтись" по всем этим точкам, переписать координаты, потом вручную или с помощью GPSTrans011 подобрать угол "обзора" объекта и сформировать SpeedCam.
Утомительно
Я написал скрипт (который "повесил" на хардкнопку при помощи DoubleLauncher ), который работает непосредственно с портом GPS приёмника.
В итоге при нажатии на кнопку я получаю текущие координаты и курс движения.
Всё это записывается в SpeedCam_текущая дата.txt
В течении суток все данные заносятся в один файл.
Данные формируются следующим образом:
37.735664,55.258250,102,20,1,19 # 9:45:38 --> 1
37.645627,55.856430,102,20,1,179 # 20:25:21 --> 2
37.357839,55.456750,102,20,1,73 # 12:22:10 --> 1
Почитать о расшифровке можно здесь и здесь
По умолчанию помечаются "лежачие полицейские" (Код 102), которые смотрят только в Вашу сторону (однонаправленные, код - 1), исходя из курса угол "обзора" объекта вычисляется автоматически.
В комментарий (после #) пишется время занесения записи и кол-во попыток. Если данные со спутников были недоступны, делается ещё 2 попытки.
Нюансы:
Скрипт не может сам открыть порт, да и одновременно несколько программ не могут считывать данные с GPS com порта, поэтому нужен сплиттер.
Я для этих целей использую программу Franson GpsGate (есть в архиве).
Здесь Franson GpsGate (Пост #1425213) есть описание некоторых настроек, но можно пользоваться и автоматической настройкой (Wizard).
Если у Вас запущен GPS Gate, Вы можете на один порт настроить и Вашу навигационную программу, и Яндекс.Пробки и пр. Все они будут иметь возможность получать данные со спутников одновременно. Так как скрипт берет данные непосредственно с порта, запущены навигационные программы или нет, а также какая программа используется - роли не играет.
У меня используется COM1 со скоростью 57600 бод, Вам, при необходимости, нужно прописать свои данные.
От момента нажатия на хардкнопку КПК, до считывания данных проходит около 2 секунд (на HTC x7500).
После обработки данных и занесения их в файл раздаётся звуковой сигнал.
Он информирует о том, что скрипт исполнен, а не о моменте считывания координат со спутников.
Файл с результатом работы находится в той же директории, что и скрипт.
Если данные со спутников с трех попыток всё же не были получены, "пустая" запись всё равно заносится в файл.
Скрипт запускается файлом gps.exe или MortScript.exe gps.mscr
В тексте скрипта есть некоторые комментарии.