25.11.2024
Эффективная Навигация М2М
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Скрипт выборки первых точек после включения терминала
logoffДата: Пятница, 31.08.2012, 17:06 | Сообщение # 1
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
использовать, когда достоверно известно, что терминал не двигался с места. Иначе надо дорабатывать фильтрами по зонам.
Позволяет оценить разброс координат при включении прибора (датчик 16).
Алгоритм:
1. Ищет все случаи срабатывания датчика 16 - включение терминала
2. Для каждого из них
2.1. ищутся записи с валидными координатами - Каждая ближайшая 1-ая по времени (более новая) запись
фиксируется в таблице
3. Таблица выводится на экран

Для создания KML файла можно воспользоваться сервисом http://www.earthpoint.us/ExcelToKml.aspx
Code

use bn
declare @garnum varchar(16), @OID int, @ad_id int, @ad_tele_time datetime
create table #t (tele_time datetime, long float,lat float)
select @garnum='%бау%' -- гаражный номер ТС
select @OID=ObjectID from dbo.FLEET_Object where ObjectGarNum like @garnum   

declare cur cursor local for
select top 100 ad.id,ad.tele_time from dbo.SYS_DEV_ArchiveData ad
--inner join dbo.FLEET_Object as O on O.ObjectID=AD.ObjectID
where ad.ObjectID =@OID
and dbo.FLEET_IsSensorActive (16, ad.Digit_Sens_Num, ad.Flags)=1 -- фильтр по датчику
order by tele_time
open cur
while 1=1 begin
   fetch next from cur into @ad_id, @ad_tele_time
   if @@FETCH_STATUS!=0 break
   insert into #t   
   select top 1 ad.tele_time, ad.long,ad.lat from dbo.SYS_DEV_ArchiveData ad
   --inner join dbo.FLEET_Object as O on O.ObjectID=AD.ObjectID
   where @ad_tele_time <= ad.tele_time and valid=1 and ad.ObjectID =@OID
   order by ad.tele_time
     
     
     
end
close cur
deallocate cur
select lat,long,tele_time from #t

drop table #t


на выходе таблица Lat,long,tele_time
 
  • Страница 1 из 1
  • 1
Поиск:

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