21.07.2017
Эффективная Навигация М2М
Меню сайта
Категории раздела
CyberFleet Скрипты для работы [10]
Приводятся разлинчые скрипты для работы с данной программой.
CyberFleet Работа с программой [24]
Методика работы, принципы, описание
Анализитор CF [13]
Скрипты анализа CyberFleet на наличие ошибок
Форма входа
Вход через Google
Вход через Вконтакте
Вход через Facebook
Партнеры
Реклама

Разбитие истории на периоды непрерывных данных
Что анализирует скрипт:
Скрипт разбивает весь периода получения данных о навигации  конкретного ТС на более крупные, использую в качестве разделителя время, в течении которого не было данных от прибора.
Т.е. на выходе из скрипта список периодов, когда не было перерывов в передаче данных
Например:
Данные передавал прибор с 00:00 по 01:00 с периодом 1 минута
с 01:05 по 02:00 с периодом в 5 минут
с 02:00 по 05:00 данных не было вообще
с 05:00 по 08:00 - с периодом 1 минута

Тогда, выходная таблица будет из двух строк (при 10 минутах)
00:00-02:00
05:00-08:00


Что выводит скрипт:
Таблицу с колонками:
1. Время начала периода
2. Время окончания периода (период определяется по времени о координатах в истории)
3. Количество координат за период
4. Время в целых минутах до следующего периода.

Как использовать:
Выбрать период, указать гаражный номер машины (гаражный номер ищется оператором like, можно указывать часть номера, но так, что бы ТС было только 1, например н617% - гаражный номер начинается на "н617" далее любые символы)


Как исправлять:
Никак. Скрипт носит информационный характер. Позволяет быстро получить информацию о периодах отсутствия координат от прибора.


Скрипт:
set nocount on
declare @tele_time datetime, @last_tele_time datetime,@start_time datetime, @min_diff int, @count int,@ObjectID int
set @min_diff=4 -- количество минут указывается в интерфейсе
select @ObjectID=ObjectID from [dbo].[FLEET_Object] where ObjectActive=1 and ObjectGarNum like 'н428%' -- гаражный номер указывается в интерфейсе
create table #per (start_time datetime, end_time datetime, coord_count int, diff_min int)
declare cur cursor local for select tele_time  from [dbo].[SYS_DEV_ArchiveData] as AD
where AD.ObjectID = @ObjectID and tele_time>dateadd(dd,-1,getdate()) order by tele_time
open cur fetch next from cur into @tele_time
select @last_tele_time=@tele_time,@start_time=@tele_time,@count=1
while 1=1 begin
fetch next from cur into @tele_time if @@FETCH_STATUS!=0 break
if abs(datediff (ss,@last_tele_time,@tele_time))>@min_diff*60
begin insert into #per values (@start_time,@last_tele_time,@count,datediff (mi,@last_tele_time,@tele_time)) select  @count=0, @start_time=@tele_time end
select @last_tele_time=@tele_time, @count=@count+1
end
close cur deallocate cur
insert into #per values (@start_time,@tele_time,@count,datediff (mi,@last_tele_time,@tele_time))
select start_time, end_time, coord_count,diff_min from #per drop table #per where start_time is not null





Источник: CyberFleet
Похожие материалы
Категория: Анализитор CF | Добавил: logoff (17.06.2013) | Автор: Бондарь Михаил
Просмотров: 668 | Теги: CyberFleet | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
TOP 10 Популярное
1 Оборудование> Гранит-Навигатор 4.14
2 Оборудование> Абонентский терминал M2M Cyber GLX
3 Оборудование> Гранит-Навигатор 4.14: Настройка терминала
4 Прочее> "Красные" против "Синих" - статистка космических запусков России (СССР) и США
5 CyberFleet, CrossPoint> CyberFleet: Переустановка CyberFleet
6 CyberFleet, CrossPoint> КиберФлит: Учет топлива при помощи датчиков
7 Оборудование> M2M Cyber GLX: отправка команд
8 Прочее> SQL: CyberFleet: Занятие №3 Объединение таблиц Часть 1/2 (теория, inner join)
9 CyberFleet, CrossPoint> КиберФлит: Причины расхождения пробега по данным одометра и карте
10 CyberFleet, CrossPoint> КиберФлит: Подключаем карту Google
Наш опрос
Оцените этот сайт
Всего ответов: 31
LogOff © 2017
Сайт создан в системе uCoz Рейтинг GPS Клуба. GPS навигаторы. GPS мониториг. GPS трекеры. ГЛОНАСС