18.10.2017
Эффективная Навигация М2М
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум (скрипты, вопросы...) » CyberFleet » Скрипты для CyberFleet, CrossPoint » Скрипт сравнения разницы между координатами с одометром
Скрипт сравнения разницы между координатами с одометром
logoffДата: Пятница, 01.02.2013, 15:36 | Сообщение # 1
Тамбов
Группа: Администраторы
Сообщений: 649
Репутация: 19
Статус: Offline
для SQL Standart (на MSDE может не работать, так как временная таблица создается через переменную... declare @t table ()
Код
set dateformat ymd

declare @t table (roww int,   
     [device_code] varchar(20)
        ,[tele_time] datetime
        ,[server_time] datetime
        , [long]float
        , [lat]float
        , [valid]int
        , [speed]tinyint
        , [direction]int
        , [flags]int
        , [CurrentRun]int
       ,analog_data float)
/****** Скрипт для команды SelectTopNRows из среды SSMS  ******/
insert into @t
SELECT ROW_NUMBER() OVER(ORDER BY tele_Time),
        [device_code]
        ,[tele_time]
        ,[server_time]
        ,
        [long],
        [lat],
        [valid],
        [speed],
        [direction],
        [flags],
       [CurrentRun],analog_data
    FROM [BN].[dbo].[SYS_DEV_ArchiveData]
    where device_code='25041767' and tele_time between '2013-01-30' and '2013-02-02'
    --and valid=1
    order by tele_Time

    select t2.roww,t2.tele_time,
    t2.lat,t2.long, t2.valid,
    t1.lat last_lat,t1.long last_long,
    t2.analog_data*1000 analog_data,t2.CurrentRun,t1.CurrentRun last_currentrun,
    t2.CurrentRun -t1.CurrentRun run_as_currun_razn, bn.dbo.SYS_GetDistanceOnEarth (t2.long,t2.lat,t1.long,t1.lat) dist_on_earth from @t as t1
    inner join @t as t2 on t1.roww=t2.roww-1


где  device_code='25041767' -- индетификатор прибора
tele_time between '2013-01-30' and '2013-02-02' -- период с по даты
на выходе таблица с колонками:

tele_time, lat,long,valid, -- показания тек точки
last_lat, last_long  -- коорд прошлой точки
analog_data - показания аналогового датчика (одометра) умноженные на 1000
CurrentRun - показания по базе данных нарастающего пробега во флите (по ним считается пробег в отчетах) в метрах
last_currentrun - показания нарастающего одометра в предыдущей точке во флите в метрах
run_as_currun_razn - разница между тек и пред показаниями CurrentRun в метрах
dist_on_earth - расстояние между тек и предыдущей точкой в метрах
 
Форум (скрипты, вопросы...) » CyberFleet » Скрипты для CyberFleet, CrossPoint » Скрипт сравнения разницы между координатами с одометром
Страница 1 из 11
Поиск:

LogOff © 2017
Сайт создан в системе uCoz Рейтинг GPS Клуба. GPS навигаторы. GPS мониториг. GPS трекеры. ГЛОНАСС