понедельник, 20 апреля 2015 г.

Новая версия макроса.

Для пользователей New Navitel появилась возможность, создавать самую полную базу точек спидкам из разных источников. 

UP 24.04.2015 Написать то написал, а заменить файл забыл. Теперь точно заменил. :)

UP 23.04.2015 Обновил макрос!  Исправил ошибку в конвертации, при объединение точек спидкам ограничение скорости. Вместо кода 101, макрос обрабатывал код 102 лежачий полицейский, поэтому появлялись дубли точек. 

Пользователю Fobiem, выражаю огромную признательность за файлы спидкам для New Navitel, которые используют многие пользователи.

Изменения:
1. Если точка "Радарный комплекс" выключена, то эти точки предупреждений остаются за контролем скорости, и озвучиваются как Контроль скорости XX км/ч.
2. Теперь макрос анализирует дублирующие точки между Навител и Мапкам, и удаляет их (использован новый метод анализа). Если вокруг точки от Мапкам в радиусе 100 метров, стоит точка от Навител с таким же кодом, макрос удалит точку от Навител.
3. UP 21.04.2015 добавлена информация в окно об обработке, название текущего процесса.

Скорость анализа и обработки дублей увеличена в 100 раз. Преобразовать полную базу спидкам занимает около 10-20 минут.

Макрос можно скачать на странице FAQ.

UP. Обновление файлов спидкам Россия, Крым.



58 комментариев:

  1. А где ссылка на скачивание? Искал, искал, но так и не нашёл...

    ОтветитьУдалить
  2. Скачал,обновил,все получилось. Вопрос: голосовой пакет Нью Таня оставляем старый,за 16.03.2015?

    ОтветитьУдалить
  3. Попробовал сделать свой спидкам ,скачал файлы с маркам,заметил большое отличие от Вашего файла спидкам 4510 кб-мой 3040кб,скачивал рейтинг от 1,не могу разобраться -в чем такое большее различие окончательного файла.

    ОтветитьУдалить
    Ответы
    1. Скорее всего, не включены были все точки.

      Удалить
    2. Скачивал файлы как предложил маркам , первый файл (pockets) галочки стояли все,а для навитела были не все,завтра попробую вкл их.Сегодня попробовал с новым спидкамом,появилось много пешеходных переходов,некоторых нет на дороге(в этой точке есть две остановки друг перед другом,два таких встретилось) ,еще выскакивает на федеральной трассе м2 на некоторых участках скорость 80,непонятно конечно,ни одной населенного пункта -разрешено 90.

      Удалить
    3. Скачивать спидкам для навител со всеми точка, не обязательно. Из него используются только точки с кодом 4. Остальные удаляются сразу. Официальный спидкам Навитела скачивается макросом самостоятельно, автоматически, и уже из него берется информация о точках спидкама навитела. Если, при объединение точек мапкам и навител остаются дубли, давайте ссылки на эти точки, будем разбираться.

      Удалить
    4. Я точки в навигаторе только умею добавлять ,(долгота/широта),а тут как дать ссылку на эти точки?

      Удалить
    5. зайдите на мапкам там найдите точку и ссылку на нее выложите.

      Удалить
    6. Все понял,но не все точки там есть.например про пешеходные переходы их там нет,где сегодня навигатор стал их озвучивать.

      Удалить
    7. Макрос специально сделан, чтобы иметь возможность объединять официальный спидкам и неофициальный, от пользователей которые сами составляют базу. Точки пешеходных переходов добавлены значит из официального спидкама если раньше у вас их не было. У вас теперь есть выбор, какие точки оставить. + в макросе заложен анализ и удаление дублей точек, если они есть и официальном, и в неофициальном спидкам.

      Удалить
    8. Этот комментарий был удален автором.

      Удалить
  4. При крнвертации выскаивает ошибка рун тайм error 13

    ОтветитьУдалить
    Ответы
    1. вот на это ссылается
      km1 = (Sheets("compare_SM").Cells(m, 2)) - 0.0008983

      Удалить
    2. ОС русская? И еще, наведите курсор на переменную m. Немного выше. Должно появится на желтом фоне число. Далее на странице Compare_SM посмотрите в строке m значения координат точки. Десятичный разделитель запятая?

      Удалить
    3. ОС Русская, с бета 4 было все нормально. вот весь этот блок
      For m = 3 To comm
      km1 = (Sheets("compare_SM").Cells(m, 2)) - 0.0008983
      km2 = 0.0008983 + (Sheets("compare_SM").Cells(m, 2))
      kn1 = (Sheets("compare_SM").Cells(m, 3)) - 0.0008983
      kn2 = 0.0008983 + (Sheets("compare_SM").Cells(m, 3))
      Строки с m не нашел у меня эти строки: del X Y 100 125 DirType Direction

      Удалить
    4. В первой строке вместо запятой стоит точка. Не знаю, что за баг с Excel, он иногда оставляет десятичным разделителем точку вместо запятой. Поэтому расчет останавливается. Буду думать как это можно побороть.

      Удалить
    5. То есть координаты с точкой, должны быть с запятой.

      Удалить
    6. Проверил с вашими исходными файлами, ошибки не появляется.

      Удалить
    7. Проверил с бетта 4 все прошло на ура, без ошибок

      Удалить
    8. Все правильно, в 4 бете нет проверки на дубли, а соответственно и вычислений. Не могу воспроизвести ошибку, для её устранения.

      Удалить
    9. а если попробывать не отмечать в поле навител галками ограниыение скорости и т.д., то ошибка выскакивает но файл создается

      Удалить
    10. Обновил макрос. Добавил двойную замену точки на запятую, из-за чего появляется ошибка. Проверяйте.

      Удалить
    11. Спасибо, сейчас проверим

      Удалить
    12. Да все теперь без ошибок все создалось, единственное стало дольше обрабатывать все действия

      Удалить
  5. При обработке вылазиет вот такое сообщение:
    "Run-time error 1004 Для предотвращения потери данных Excel не позволяет переместить непустые ячейки за пределы листа. выберите другое расположение для вставки новых ячеек или удалите данные, находящиеся на краю листа. если в ячейках, перемещаемых за пределы листа, нет данных, можно изменить набор ячеек, которые считаются не пустыми".
    Нажимаешь End окно закрывается.
    Нажимаешь Debug выходит окно Microsoft Visual Basic for Applications

    ТЕКСТ ИЗ ОКНА

    Sub NN_ADD_Shablon()
    '
    ' NN_ADD_Shablon Макрос
    ' Переносим точки шаблона
    '

    '
    Sheets("Shablon").Select
    Selection.End(xlToLeft).Select
    Selection.End(xlUp).Select
    ActiveCell.Range("A1:J70").Select
    Selection.Copy
    Sheets("PocketGis").Select
    Selection.End(xlToLeft).Select
    Selection.End(xlUp).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.Insert Shift:=xlDown И ВЫДЕЛЯЕТ ЭТУ СТРОКУ
    Selection.End(xlToLeft).Select
    Selection.End(xlUp).Select

    ' добавляем del к 2 нижним строкам

    ActiveCell.Columns("A:A").EntireColumn.Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$A$99999").AutoFilter Field:=1, Criteria1:="=*/*", _
    Operator:=xlAnd
    ActiveCell.Select
    ActiveCell.FormulaR1C1 = "del"
    ActiveCell.Select
    Selection.Copy
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveCell.Select
    Selection.AutoFilter

    End Sub

    ОтветитьУдалить
  6. Какие исходный файлы, какие в них есть точки? Что выделено когда нажимаете дебаг?

    ОтветитьУдалить
    Ответы
    1. исходные файлы спидкам с вашего сайта и старый спидкам с точками по моему городу которых нет в мапкам.

      Selection.Insert Shift:=xlDown ВЫДЕЛЯЕТ ЭТУ СТРОКУ

      Удалить
    2. Ваши файлы не подходят для обработки макросом. Для каких файлов сделан макрос, написано в 1 пункте.

      Удалить
    3. Этот комментарий был удален автором.

      Удалить
    4. Можете отдельно выделить как-то макрос чтобы соединить два спидкама и убрать дубли. Один из файлов должен быть главным, а из второго взять остальное а которые уже есть в главном из второго удалить.

      Удалить
    5. Это уже будет новый код макроса, который нужно писать с ноля.

      Удалить
  7. В чём различие "полицейская засада, обгон и сплошная" и "полицейская засада, встречка"?
    Встречка - это же в любом случае ты пересечёшь сплошную линию, ну и просто так туда не полезешь, обгонять будешь)

    Лучше что-то другое сюда повесить [5 (155) — полицейская засада, встречка]

    ОтветитьУдалить
  8. И ещё сейчас идея появилась по точкам "камера, встроенная в светофор".
    Думаю её можно спокойно заменить на "статическая камера", а точку подумать под что другое можно использовать. Можно будет и картинку тоже использовать другую.
    Я думаю тут всем неважно где она висит, на столбе, дереве, светофоре, рекламном щите, главное что она висит и работает.

    ОтветитьУдалить
    Ответы
    1. Класс. На неё модно повесить всю автодорию и освободится сразу 9 точек.

      Удалить
    2. Нет, нельзя её использовать. Этой точки даже нет в cfg файле голосового пакета.

      Удалить
    3. да, печально, посмотрел, в навителе 2, 3, 4, 5 тип предупреждений проговариваются как один - стандартная камера (1),
      только значки для них в программе разные

      Удалить
  9. Какие-то странные стали обновленные спидкам (от 20.04.2015). От поселка Киевский до поселка Рассудово (Московская область), есть две точки предупреждений которые сдвинуты с дороги в лес и никак не озвучиваются. Также на Минской ул. в сторону Мичуринского проспекта, раньше озвучивалась как 'радарный комплекс фиксации нарушений', а сейчас как 'ограничение скорости 60 км в час'. Это так и должно быть?

    ОтветитьУдалить
    Ответы
    1. На mapcam.info от Киевского до Рассудово только две мобильных засады, которые стоят вдоль дороги.
      У меня отображается всё нормально, никаких лишних точек нет.
      Может быть какой то конфликт со стандартным навителовским speedcam?

      Удалить
    2. Да, две точки засады. В прошлой версии спидкам скаченных отсюда, тоже было все нормально. А в этой версии, они оказались сдвинуты. Файл спидкама один, а в стандартном навителовском засад вроде бы, никогда и не было.

      Удалить
    3. Дайте координаты точек.

      Удалить
    4. 1 точка - Широта: N55*26.375', долгота: E36*52.695'
      2 точка - широта: N55*28.171', долгота: E36*55.653'
      P.S вместо точек должен стоять градус, просто на клавиатуре на устройстве не позволяет вставить такой символ.

      Удалить
    5. Точнее вместо звездочек должен стоять градус.

      Удалить
    6. Татьяна, обновил файл спидкам, откуда появлялись раньше полицейские засады, не понял. Сейчас их нет.

      Удалить
    7. Теперь все нормально. Спасибо Андрей.

      Удалить
  10. Ну и для жителей Москвы,
    убирайте галочку с "Радарный комплекс фиксации нарушений", а то попадётесь на превышении скорости.
    В Москве этот тип предупреждения не актуален!

    ОтветитьУдалить
    Ответы
    1. По виду тех камер которые расположены на Минской улице, они фиксируют не только превышение, возможно еще за выключенные фары днем и т.п, так что " Радарный комплекс фиксации нарушений" считаю, что самое то.

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

      Удалить
  11. НЕ могу найти тип навигатора для PocketGIS на мапкаме.
    Помогите найти, плиз...

    ОтветитьУдалить
    Ответы
    1. Пакет гис виден при карме больше 5 или по подписке.

      Удалить
    2. понятно
      а в спидкам у вас что входит?
      мапкам этот есть?

      Удалить
  12. День добрый!
    Возможно ли с помощью макроса добавить только данные из мапкама для навитела без использования файла для покетГиса? Как я понял, покетгис дает данные для автодории, а у нас ее нет.

    ОтветитьУдалить
    Ответы
    1. Нет, нельзя. С помощью ПокеГис получаются все точки, спидкам навител нужен только для конечных точек автодории.

      Удалить
  13. Поддержите идею на mapcam.info
    http://mapcam.reformal.ru/proj/mapcam?ia=804446

    ОтветитьУдалить
  14. Андрей ,подскажи пожалуйста ,навителовский файл спидкам из навигатора нужно удалять из папки navitel или не надо,много раз пробовал делать свой спидкам и постоянно произноситься старая информация ,то скорость 80 где разрешено 90,то очень старая инфо по ограничении скорости ,дорогу отремонтировали 2 года уже ,а навигатор все ограничение 70 .

    ОтветитьУдалить
    Ответы
    1. Спидкам от навитела нужно удалить и поставить в настройках не обновлять. В макросе можно объединить точки спидкам и например убрать не нужные. На сайте мапкам, также можно добавить или понизить рейтинг точек.

      Удалить