Скрипт выводит список ТС, у которых хотя бы одна координата попадает в указанную окружность, в указанное время
Скрипт для среды: MS SQL STANDART
Code
use bn_patp -- база bn_patp
go
declare @lat float; -- обявили переменные
declare @long float;
declare @rad float;
set @long= 41.432808; -- долгота точки
set @lat= 52.687698; -- широта точки... ну или наоборот - не помню
set @rad=400000; -- радиус поиска ТС
select t.Garag_Number from SYS_DEV_ArchiveData as ad -- из таблицы архивных данных
inner join PATP_Transport as t on t.id=ad.transport_id -- таблица со списком транспорта
where ad.tele_time between '15.12.2010 5:40:00' and '15.12.2010 19:30:00' and -- фильтр по времени
dbo.PATP_GetLength2Points(ad.long,ad.lat,@long,@lat)<=@rad -- с фильтром по процедуре расстояния между точками из таблицы, и указанными.
group by t.Garag_Number -- группировка по гаражному номеру
order by t.Garag_Number desc -- сортировка по гаражному номеру
в результате будет список тс, прошедших через данную точку. для более конкретных поисков рекомендуется использовать возможности программы по просмотру истории перемещения нужного тс.