В более ранних и текущей версии СГ (на сегодня это 5.0) мы часто встречаемся с проблемой неточной информации о скоростях прохождения тех или иных рёбер дорожного графа. Вспомнить хотя бы пресловутые "стодвадцатки". Проблема, как мне показалось, в алгоритме определения таких скоростей и бороться с ней нужно не фильтрацией, а непосредственно изменением оного. Для примера постараюсь изложить свой вариант. Опять таки, основываясь на догадках, предполагаю, что в текущей реализации методики определения скорости на ребре используется алгоритм, когда на основании данных о времени входа на ребро и времени выхода с ребра, зная длинну ребра, вычисляем скорость его прохождения. Вот именно в этом (если мои предположения о текущем алгоритме верны) и кроется корень зла. Предлагаю следующий вариант алгоритма. Скорость получения информации о координатах со спутников, если не ошибаюсь, около раза в секунду. Именно на её основании вычисляется текущая скорость движения. Так вот, вы видели когда-нибудь (естественно, после входа GPS-приёмника в рабочее состояние, когда он имеет приемлимую точность позиционирования, на основании количества используемых спутников), чтобы индикатор текущей скорости показывал Вам откровенно завышенные значения скорости, по сравнению, например, со спидометром в автомобиле? Я - нет. Итак... Учитываем скорость посекундно (максимум, на который способны обновиться данные со спутников). При проезде по ребру получаем для него посекундный набор скоростей. Допустим, мы проехали его за 5 секунд, данные наших скоростей: 34 42 45 42 43 Получаем среднюю скорость для ребра: (34+42+45+42+43)/5 = 41,2 (то есть, примерно 41). Для рёбер, которые мы пролетаем "со свистом", берём значение скорости для, секунды на которой мы его проезжаем и никаких сверхскоростей образовываться не будет. Чтобы исключить лишнее переполнение памяти с каждой секундой можно использовать следующую схему. Двумерный массив, в первой колонке которого скорость, а во второй - количество её повторения для текущего ребра. На основании примера выше получаем: 34 - 1 42 - 2 45 - 1 43 - 1 То есть, скорость 42 повторилась два раза для ребра. Соответственно, пять секунд простоя выглядят так: 0 - 5 Критикуйте... :)