В этой теме выкладываем различные POI а также спидкамы для iGo/Amigo/Primo
Ликбез
Типы радаров в ИГО (+ расширенные) (от Станиславовича)
первая цифра - код типа радара в spdb файле и программном коде,
вторая - код в txt файле, подаваемом иге для генерации spdb файла
КД - контроль движения, ДИ - дорожная информация (это просто моя классификация)
Основные
00 01 (192) КД "Static" "Стационарная камера"
01 05 (193) КД "Mobile" "Мобильная засада" (нет фиксации скорости)
02 02 (194) КД "Redlight" "Камера, встроенная в светофор" (сейчас в России используется для обозначения ДПС)
03 04 (227) КД "Section" "Измерение скорости на участке"
04 03 (68) КД "Redlight Only" "Контроль проезда на красный свет" (нет фиксации скорости)
(коды в скобках - новые коды для txt файлов, хотя иго пока по прежнему воспринимает из txt и старые коды (1....5)
Расширенные
05 197 ДИ "Railroad" "Переезд" (без скорости, всегда оба направления)
06 198 ДИ "Give Way" "Уступите дорогу" (без скорости) (соответствует знаку 2.4 "Уступите дорогу") озвучка: "Уступите дорогу"
07 199 КД "FixMobil" "Мобильная засада" (с фиксацией скорости, по сути альтернатива КД 05 "Mobile")
08 200 ДИ "Speed Breaker" "Лежкоп" (соответствует знаку 1.17 "Искусственная неровность") озвучка: "Впереди Лежачий коп"
09 201 ДИ "Children" "Дети" (без направления и скорости), обозначает места скопления пешеходов, детей и всего живого
10 202 ДИ "Dangerous turn" "Опасный поворот" (без скорости) (соответствует знаку 1.12.1 "Опасные повороты" озвучка: "Впереди опасный поворот"
11 203 ДИ "Tunnel" "Тоннель"
12 204 ДИ "Dangerous way" "Опасный участок" (соответствует знаку 1.33 "Прочие опасности ") озвучка: "Впереди опасный участок" Используется для предупреждения о ямах, плохой дороге, ремработах).
13 205 ДИ "POI" "Объект ПОИ" (без скорости и без направления) озвучка: "Впереди интересующий Вас объект ПОИ"
14 206 КД "RPS Post" "ДПС" озвучка: "Впереди пост ДПС"
Кодирование радаров в iGo Primo: (от Andron66)
Тип *.spud (code)
"Speed Camera" 0 (192)
"Mobile Speed Camera" 1 (193)
"Built-in Speed Camera" 2 (194)
"Average Speed Camera" 3 (227)
"Red Light Camera" 4 (68)
"Railroad Crossing" 6 (198)
"Bus Lane Camera" 7 (199)
"High Accident Zone" 8 (200)
"School Zone" 9 (201)
"Town Entry Point" 10 (202)
"Red Light and Speed Camera" 11 (203)
"Toll Booth" 12 (204)
"Hospital, Ambulance" 13 (205)
"Fire Station" 14 (206)
"Congestion Charge Zone" 15 (207)
"Give Way" 16 (208)
"FixMobil" 17 (209)
"Speed Breaker" 18 (210)
"Children" 19 (211)
"Dangerous turn" 20 (212)
"Tunnel" 21 (213)
"POI" 22 (214)
"RPS Post" 23 (215)
"Dangerous Area" 31 (223)
Вот наглядная картинка сравнения кодов спидкамов.
Слева камеры в стандарте Примо--код в спуде--камеры в скине--камеры в iGo8 (+расширенка )
Последнии актуальные спидкамы:
Россия:
User.UPOI Editor - iGO Primo & iGO8 - программа для импорта и редактирования избранного и собственных точек в программах iGo8 и Primo. Подробности тут:
http://jj320.spybb.ru/viewtopic.php?id= … p=6#p14049
Кроссплатформенный конвертор баз от КотКоторый (с 4pda): версия 2.4
В новой редакции программы усилен алгоритм фильтрации дублей и ручного отбора для возврата данных с фильтра. Добавлена кнопка "Отмена" для предотвращения ошибочных шагов.Кроме того, теперь имеется возможность конвертировать формат текстовых комментариев из UTF8 в ANSI.
При выполнении фильтрации дублей следует иметь в виду, что в базе может встречаться более одной пары дублей, поэтому стоит прогонять фильтрацию несколько раз... Особенно это относится к "мягкой фильтрации" с возвратом компромиссов - поскольку координаты компромиссной камеры могут слегка измениться (относительно исходной пары), в заданный радиус поиска могут попасть новые кандидаты в дубли. С моей точки зрения удачный радиус фильтрации для большинства камер - 30 м
Коментарии автора базовых опций программы и приемы работы с ней.
Первый вопрос - какая у Вас база радаров (т.е. какие коды записаны в ней и к какой версии Igo и скину она подойдет). Обычно, "ручками" открывают файл в тест. редакторе и "глазками" смотрят... и сравнивают с табличкой . Но в базе бывает и по несколько тысяч записей! Я начал с того, что "забил" в программу таблицы соответствий "ID" и кодов для 4-х общепринятых форматов - и при загрузке файла программа сравнивает фактические коды со стандартными наборами и выбирает "Вероятные форматы базы" - т.е. отсекает "То-Чаво-Не-Может-Быть!". Именно эти вероятные форматы отображаются в списке при загрузке. Хорошо, если один - значит база "железно" такая, если их несколько - выбирайте по очереди строчки вероятного списка и смотрите, каким типам
соответствуют прочитанные из файла коды. Например, один и тот же #199 в Igo8.3 значит "Fixed Mobile Camera", а под Igo-Primo - "Bus Lane Camera". На этом этапе Вы, зная, какая кодировка требуется Вашей "тройке" (программа+скин+озвучка), решаете - подойдет ли Вам база радаров без конверсии (как есть). Это, как читать один и тот же текст с разными словарями: текст общий - смысл разный... Разобрались, выбрали - жмем "Добавить в общую базу".Задача №2 - мы знаем (выбрали) формат открытого файла, но нам надо его изменить. Например, у нас файл для Primo, а нам надо его переделать в старый Igo. Для этого в группе "Изменить формат базы" есть 2 кнопки. "Проба" позволяет прорепетировать, как пройдет автопреобразование типов радаров между исходной и конечной кодировками. В списке типов радаров Вы увидите, какой код куда изменится и что это будет значить в целевой базе. Естественно, пока вы не нажали "Преобразовать" - с исходным набором кодов ничего не случится. Чтобы не было "глупостей", нужно точно знать - в какой кодировке этот исходный файл - тогда и преобразование будет корректно. А если мы, имея файл стандарта Primo, назначим ему конвертацию из Igo ст. в Igo8.3 - естественно, ничего хорошего не получится - просто первый формат "ничего не знает" о кодах (скажем,#192), которые фактически есть в нашем файле и не сможет их перевести в целевой стандарт.
Мы увидим, например,"192->0", т.е. такое конвертирование некорректно! Вот если исходный формат задать "Primo" (что чистая правда), а целевой - " Igo ст." - тогда будет все правильно: 192-> 1.
После пробы конвертирования и уяснения результата, жмем "Преобразовать". На этом этапе происходит изменение типов радаров по выбранной схеме (это происходит в оперативной памяти, исходный файл остается прежним). "Вероятные форматы" остаются в прошлом - нами "Задан формат базы" волевым решением! После всех манипуляций можно результат "Добавить в общую базу" или нажать "Отмена"...Если общая база не пуста, она уже имеет определенный формат - значит при загрузке в нее очередной порции
радаров нужно согласовать их форматы (дается сообщение при конфликте).На странице "База" у нас список всех загруженных радаров, а верхнем "StatusBar'е" - формат базы и число записей.
Двойной щелчок на выбранной записи (при наличии Интернета) позволяет визуализировать ее на карте.Опции меню "База" позволяют манипулировать ее содержимым. "Сортировать по типам" - ясно из названия.
-"Фильтровать"- открывает 3 возможности:
- "дубли" - вход в диалог прореживания базы по повторяющимся записям с одинаковым типом радаров, совпадающих по положению в пространстве.
- "С одинаковыми координатами" - значит, что при сравнении записей будут отфильтрованы все радары, у которых точно совпадают "Х" и "У". В разных файлах баз эти параметры задаются с разным числом знаков - сравниваются ВСЕ значащие цифры (т.е 55.12345 = 55.1234500).
- Выбрав "расположенные ближе ___ м", Вы задаете менее строгий режим сравнения - и фильтруете, не только строго совпадающие по положению радары, но расположенные близко, что позволяет очистить базу от однотипных записей с погрешностью задачи координат (несовпадение угла и направленности игнорируется). В "StatusBar'е" выводится результат фильтрации, а на странице "Фильтр"- список "улова дублей" (можно аналогичным приемом визуализировать его на карте...)- Фильтр "запускалок" просил сделать уважаемый Vobla. Под ними подразумеваются записи с пятизначными IDX. Применяя данный фильтр, пользователь должен сам определиться - имеются ли в общей базе такие записи-запускалки. Решение - целиком "на Вашей совести" - программа просто "выложит на фильтр" ВСЕ записи с пятизначными индексами, вне зависимости - "запускалки" они или нет...
- Фильтр "проблемы 200" позволяет переписать поле "SPEED" у радаров с "пресловутым" формальным ограничением на любое, устраивающее пользователя. Эта правка базы тоже "на Вашей совести". Я раньше такое творил "ручками" - надоело...
- Опция "Стандарты" основательно переделана после общения на форуме, в первую очередь после переписки с уважаемым matrockin'ым. Теперь можно регулировать включение и стиль комментариев к записям, и дополнение их "запятыми". Последние, как мне подсказали КОРИФЕИ, сильно влияют на направленность радара при загрузке в навигатор. Без "," радар показывается на месте, но "всенаправленным"... в чем я лично убедился...
-"Индексация" позволяет, либо сохранить оригинальный набор IDX, или нумеровать записи по порядку либо всем
присвоить "0". Обращаю внимание, теперь индексирование и комментарии стали обратимыми, т.е. можно вернуть "все назад"!После контактов на форуме я решил включить в программу группу опций "Умелые руки" для знатоков - т.е. разрешить под определенные задачи волевым решением отступать от "четверки" стандартных форматов базы, и править ее произвольно "под себя". Не сомневаюсь, что данные опции будут подвергаться критике "сверху" и "снизу"... Наша задача - решить, что удобно, а что нет - готов к обсуждению.
-Опция "Сменить код радара" - позволяет в общей базе переназначить код радаров выбранного типа на произвольный (!).
Например, если "БЕЗ РАЗНИЦЫ КАКАЯ ВПЕРЕДИ КАМЕРА", можно всем типам камер присвоить принудительно одинаковый код, скажем #192. Аналогично можно обойтись с базой СТРЕЛОК (FixedStart_Speedcams_v3.txt ), обозначенных #4 (формально "Average Speed Camera" ) и превратить их в "Speed Camera"... Здесь нужен опыт и четкое понимание конечной цели - какой код задать и в какой базе он будет в дальнейшем использоваться. Мы осознано отступаем от "четверки" стандартов и, естественно визуализация нового кода радара может в текущей загрузке базы "поехать"...
Например, если мы загрузим упомянутую базу стрелок (формат Igo ст.) и переназначим их код с #4 на #192, то при визуализации увидим "Unknown", т.к. в текущем формате просто нет такого кода! Но, сохранив базу в файл и вновь открыв его, мы во всех стандартах, кроме первого, увидим честные "Speed Camera", чего мы и добивались...-Опция "Радар на 180°" инвертирует направление всех однонаправленных радаров в базе. На фильтре собираются изменяемые записи в исходном состоянии. Применение опции на совести пользователя.
-Опция "Своя игра" - позволяет создать персональный стандарт базы радаров, который будет полноценно распознаваться и конвертироваться программой SpeedCamEdit наравне в "четверкой" базовых. Вы можете выбрать за основу один из существующих стандартов и произвольно заменить соответствие ID и назначенного кода. При этом требование моей программы - чтобы в Вашем наборе не было повторов кодов - иначе "сломается" распознание типов при конвертации.
Если кому-нибудь это требование связывает "умелые руки" - рекомендую обратиться к вышеупомянутой опции "Сменить код радара" и действовать уже безо всяких ограничений (но по одному типу за обращение).В программе жестко связаны индексы ID и названия (значки) камер, а коды определяются стандартом базы. В Igo кроме этого применяется скин - посредник между кодом из базы и озвучкой-визуализацией. Поэтому, назначив в моей программе какой-либо код радару на определенный ID, имея в виду что-то отличное от стандарта (например, #207 = "СТРЕЛКА"), Вы увидите при визуализации в программе все те же базовые типы (о СТРЕЛКАХ программа не знает), но загрузив, в навигатор файл, конвертированный по стандарту "User" - СТРЕЛКИ должны появиться, если они учтены в скине.
Таким образом, настроив и сохранив стандарт "User", у нас появляется возможность работать с ним при загрузке файла наравне с остальными.
Хочу заменить, что после сохранения стандарта "User" текущая загруженная база не изменяет своего формата.Наконец, последняя опция меню "База" - "Очистка". Память очищается, все начинаем снова...
Уфф...!В своей программе я постарался максимально «развязать руки» Мастерам радарного фронта, но все же пришлось придерживаться определенных стандартов. Совсем без них нельзя, а слишком много стандартов создает путаницу. В результате анархии страдают и рядовые пользователи (ждущие очередой пакет speedcam’ов и, часто, не подозревающие о нюансах его содержания и сочетания со «своим хозяйством»), и кураторы баз, вынужденные «расхлебывать разгул демократии» при составлении очередных релизов на основе поступающих к ним данных.
Наборы радаров
В результате я оставил 4 базовых типа (см. мой манифест ранее) плюс дополнительный «юзерский» тип, который теперь легко и произвольно редактируется и может сохраняться в отдельных файлах, что дает свободу комбинирования типов камер и их порядка для конструкторов баз.
Кроме работы со стандартными типами баз, программа теперь умеет грузить файлы с произвольными комбинациями кодов радаров (раньше я это блокировал). Такие файлы все же анализируются на принадлежность к одному из базовых стандартов, при этом дается информация о кодах, выходящих «за рамки», но в любом случае выбор – конвертировать, или включить «как есть» остается за пользователем … Теперь о комбинации очередной базы Станиславовоча (Primo) с файлом «Стрелок #197» и «маршрутных полос #199» пройдет в 2 движения без всяких «бубнов». Более того, сформировав (и сохранив) пользовательский стандарт Primo+#197 можно будет грузить такой «сплав» сразу и распознать #197, как «Стрелку».К слову, по поводу «Стрелок», я обмозговал идеи внедрения их в «пустые» ID, высказанные на форуме. В новой версии моей программы я предусмотрел внедрение кода в пустое поле пятое поле моей программы, обозначеное «strelka». Пусть вас не смущает привязка «стрелки» именно к этому коду - все это только для моей программы, а на устройстве упомянутый код (напр. #197) ляжет, куда ему назначит девайс со своими конфигами, скинами и пр…
Таким образом, грузим некую базу радаров из файла. Если она стандартна по набору камер, выбираем стандарт (или конвертируем) и включаем в общую базу. Если набор превышает стандартный, просматриваем списки вариантов и выбираем адекватный Вашей задаче. Естественно, коды «сверх стандарта» обозначаются, как «Unknown», но они нам нужны. Поэтому мы «ставим птицу» в опции «Для Unknown сохранить код» - и в базу уйдут все записи (стандарт и дополнительные) и база будет считаться смешанной.
Если мы, напротив, не хотим «обходить стандарт», мы не пустим Unknown в базу, убрав «птицу».Старые и новые фильтры.
Я переработал алгоритм фильтрации в окрестностях точки, раньше, задав, скажем дистанцию 3,5м, она правильно считалась, лишь с севера-на юг, а вдоль широты я «схалтурил» и забыл, что градусы долготы сжимаются по расстоянию от экватора к полюсам. Вот Вам и баг! Теперь я его исправил.Добавил опцию База радаров/Выделить район – для составления списка радаров, оказавшихся в определенной области. Просто задайте координаты центра района или щелкните мышкой по карте и укажите размеры квадрата поиска. Результирующая выборка собирается на фильтре. Конечно, из базы эти точки не удаляются.
Новая опция База радаров/Поиск упрощает нахождение информации по шаблону а текстах Базы и Фильтра. Используйте для поиска чего угодно… Например, поиск записи с ID 12345 – вводим: «12345,»; ищем «стрелка» в комментариях базы – найдем записи, где они анонсируются, и т.д.
Комбинируя базы разных авторов, обратил внимание, что часто встречаются радары в одной позиции, но тип у них разный (даже при конвертировании в один формат). Например, в некой базе «стрелки» имеют код #197, а в другой базе их нет, но на их местах стоят радары других типов (напр. #192, 193 …). Фильтр дублей их «не возьмет» - они разнотипные, а переименовав их в один тип, мы их просто перепутаем или придется вручную разбирать их по комментариям…
Я ввел опцию База радаров/фильтр конфликтов, которая решает подобные задачи. Из базы выгружаются на фильтр все пары записей с одинаковыми координатами, но отличающиеся в остальном. Из базы найденные пары удаляются – и она «оказывается без возмутителей спокойствия».
Теперь с этим списком можно ознакомится на Фильтре- можно просмотреть на карте или скопировать в буфер обмена (Ctrl C) для переноса вовне... Но главное, его можно отредактировать, не покидая программу. Для этого я добавил закладку «Инспектор дублей». Когда на фильтре что-то имеется, она активна. Зайдя на эту станицу, можно поштучно просмотреть все парочки (база-фильтр – для дублей по типу или радар А – радар А’- для дублей по конфликтам). В строке «компромисс» предлагается вариант преодоления конфликта записей. Естественно, мы можем с ним не согласиться и вручную изменить что угодно (в рамках разумного).
Для ручного редактирования щелкните мышкой по нужному полю таблицы и отредактируйте запись. Хотите данную строку вернуть в базу? – воспользуйтесь кнопкой «Включить в базу/активную запись».
О компромиссах отдельно…
При автоматическом комбинировании записей по отдельным полям для формирования компромисса :
– усредняются X и Y координаты точек,
тип камеры выбирается по верхней строчке (базе), либо с учетом заданного приоритета типов из списка ниже.
скорость – минимальная по паре
направление – если у пары радаров совпадает по типу– такое же
при несовпадении – круг имеет приоритет. Встречно-направленные камеры объединяются в «><» (DirType=2), направленные с ошибкой до 20° - «>»(DirType=1) – оба варианта с усреднением угла. В остальных случаях запись преобразуются в «круговой обзор» (DirType=0).
Комментарии для компромисса выбираются «подлиннее»…
Уже отмечал, что с компромиссным решением не обязательно соглашаться – можно его редактировать, но, если «у матросов нет вопросов» - можно Вернуть / все компромиссы в базу «в одно движение» .
Идёт наполнение....
Отредактировано drony (16-03-2013 15:43:47)