28.04.2017
Эффективная Навигация М2М
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум (скрипты, вопросы...) » Прочее » Прочее, что не вошло в другие части форума » cloudbus - тестовое внедрение (буду описывать что и как получается, свои впечатления)
cloudbus - тестовое внедрение
logoffДата: Вторник, 16.07.2013, 19:54 | Сообщение # 1
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
сабж.
Договорились о тесте и о внедрении.
Меня завели как администратора в системе.
Договорились передавать данные посредством протокола SOAP (ОлимпСтрой, НИС и так далее) на doroga.tv

Так как маршруты берутся с OSM, то для начала надо их туда внести. Благо опыт такой работы уже есть
в помощь по редактору маршрутов вот это
http://bnc.ucoz.net/publ....-1-0-15
ну и там ссылка на это
http://wiki.openstreetmap.org/wiki/User:Stud

Освежив в памяти как работать с josm, и скачав последнюю версию внес маршруты.
Запустил проверку маршрутов - вроде все ок
http://tools.doroga.tv/chekroute.php?id=3085428
http://tools.doroga.tv/chekroute.php?id=3085349

В связи с поздним временем импортировать маршруты обещали только завтра.
 
logoffДата: Вторник, 16.07.2013, 19:58 | Сообщение # 2
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Завтра надо будет напомнить про импорт, и подумать по поводу еще одного пользователя системы со стороны заказчика.
И еще. Так как я совсем не уверен в том, что на OSM улицы и остановки нанесены в соответствии с координатами, то придется это проверять по истории движения транспортных средств. А вот в чудом городе я совсем не ориентируюсь, потом надо будет примерное расположение остановок еще и совместно с представителем заказчика отработать.
 
logoffДата: Среда, 17.07.2013, 12:08 | Сообщение # 3
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Маршруты импортировали. Однако все остановки образовали единый вариант. А мне нужно по два варианта туда/обратно на каждый маршрут. Оказывается, надо помечать остановки ролями в отношении не просто stop (как описано в инструкции), а forward:stop и backward:stop, а чем я уже забыл.
Сделали реимпорт маршрутов. Направления появились, но возникла другая проблема: конечные остановки, представленные в одном только экземпляре попали только в один вариант маршрута - логика в этом есть - надо будет конечные разделить так же на две точки (каждая остановка должна быть видимо представлена как два пункта "туда" и "обратно", если это подразумевается на маршруте). Тут уже без реальных треков не обойтись мне никак.
 
logoffДата: Среда, 17.07.2013, 13:22 | Сообщение # 4
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Для маршрутов я все указал по старой схеме, вот сижу читаю описания для новой схемы, переделываю соответственно остановки и маршруты.
 
vadДата: Среда, 17.07.2013, 13:49 | Сообщение # 5
Барнаул
Группа: Проверенные
Сообщений: 223
Репутация: 17
Статус: Offline
А сколько всего маршрутов планируется?
 
logoffДата: Среда, 17.07.2013, 15:00 | Сообщение # 6
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
По новой схеме маршрут (Отношение  с определенными тегами) состоит из "вариантов", ну например у меня получилось два варианта:
туда и обратно
оба варианта тоже оформляются как отношение, уже несколько с другими тегами
Эти отношения состоят из:
Остановочных пунктов и платформ, где стоят/сидят пассажиры
сами остановки, при этом, должны находиться на графе дороге (быть точкой на way)

трека движения
все выстраивается в порядке следования (трек можно после остановок)
Начальные/конечные помечаются через роли уже в отношении

не очень все просто - нужна тренировка
 
logoffДата: Среда, 17.07.2013, 15:01 | Сообщение # 7
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Цитата (vad)
А сколько всего маршрутов планируется?
хз... пока два - не думаю пока дальше чем на тест.
 
logoffДата: Среда, 17.07.2013, 16:34 | Сообщение # 8
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Файл-помощник для редактирование маршрутов. Спасибо Натальи из Doroga.TV
http://bnc.ucoz.net/load....-1-0-38
 
logoffДата: Четверг, 18.07.2013, 12:31 | Сообщение # 9
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Для уточнения положения остановок и дорог были использованы треки с OSM (загружаются стандартно с OSM как и данные) и загрузка файлов истории движения из истории данных автобусов. Почитать можно тут.
http://bnc.ucoz.net/forum/2-160-1#711
 
logoffДата: Пятница, 19.07.2013, 11:40 | Сообщение # 10
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Модифицировал скрипт выгрузки трека так, что бы он выводил и трек двжения, и точки остановок.
Файл может быть загружен на osm http://goo.gl/hH2kE
пример http://www.openstreetmap.org/user/LogOff/traces/1506705
 
logoffДата: Пятница, 19.07.2013, 14:35 | Сообщение # 11
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Определился со списком ТС вроде (не проверенная информация). Создал пользователя в BNC, настроил новый SOAP на передачу, создал подписки.
Данные уходят.
Пришло время заносить приборы в программу, и тут ждал приятный сюрприз - оказалось, что есть замечательная закладка http://cloud.doroga.tv/admin/transport/unknowndevice/:
неизвестные устройства, которая отображает все приборы, которые от меня получила, но не нашла для них ТС.  С возможностью сразу их превратить в ТС (естественно придется информацию внести дополнительно, но уже плюс в скорости работы).


Мелочь, а приятно...
Прикрепления: 7391822.png(54Kb)
 
logoffДата: Пятница, 02.08.2013, 11:34 | Сообщение # 12
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Решили уточнить на местности точки остановок
Для этого совершить объезд с прибором, а места остановок фиксировать нажатием кнопки на приборе. Для доп контроля к кнопке подключили лампу (что бы уж точно было видно, что кнопку нажали).
Как раз сейчас человек объезжает все. Пару раз нажимает кнопку на каждой остановке. И ведет "бумажный" реестр названий остановок и времени нажатия. Соответственно все это будет выгружаться немного модернизированным вышепоказанным скриптом (чуть позже выложу) в gpx для использования в качестве слоя в редакторе JOSM.
 
logoffДата: Пятница, 02.08.2013, 14:51 | Сообщение # 13
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Скрипт выгрузки трека и срабатывания датчика (@sens_num=6 ) за период
Код
set nocount on set dateformat ymd
declare @long float, @lat float, @direction int, @tele_time datetime, @speed int
declare @id int, @text1 varchar(1024),@ts_garaj varchar(30),@start_time datetime, @stop_time datetime, @wpl int, @track int, @ObjectID int
declare @sens_num int

select @wpl=1, @track=1 -- какие типы данных стоит выводить
select @sens_num=6 -- номер датчика
select @ts_garaj='Котовск тест', @start_time ='2013-08-02 06:00', @stop_time='2013-08-02 13:51' -- гаражный номер, период выгрузки
select @ObjectID = ObjectId from bn.dbo.FLEET_Object as O where o.ObjectGarNum like @ts_garaj and o.ObjectActive=1
create table #t (num int identity (1,1) not null,
string varchar(1024))

set @Text1 = N'<?xml version="1.0"?>'   
insert into #t (string)
values (@Text1)
set @Text1 = N'<gpx version="1.0" creator="bnc.ucoz.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/0" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">'+
'<time>'+convert (varchar(30),@start_time,126)+'</time> <name>UpLoad</name> <desc>DownLoad from CyberFleet</desc>'
insert into #t (string)
values (@Text1)

if @wpl=1 begin -- выгружаем точки - стоянки

     -- экспортируем данные об остановках   
     declare cur_history cursor local read_only for -- обявляем курсор   
     --    select z.id, z.name,'' from bn_patp.dbo.PATP_BasePoint as Z      
     --    order by z.name -- в алфавитном порядке   
     select ad.long, ad.lat, ad.direction,ad.tele_time, ad.speed  from bn.dbo.SYS_DEV_ArchiveData as AD   
     where Ad.ObjectID=@ObjectID and tele_time between @start_time and @stop_time and valid=1
     and  digit_sens_num&power(2,@sens_num-1)>0
     order by tele_time;   
     ;   

        open cur_history   

     fetch next from cur_history into @long,@lat,@direction,@tele_time,@speed
     while @@fetch_status=0      
     begin   
        -- выборка данных об остановке.   
        set @Text1 = N'    <wpt lat="'+str(@lat,15,8)+N'" lon="'+str(@long,15,8)+N'">   
        <time>'+convert(varchar(30),@tele_time,126)+N'</time>   
        <name>'+convert(varchar(30),@tele_time,126)+N'</name>   
        <magvar>'+cast(@direction as varchar(3))+N'</magvar>   
     </wpt>';   
     insert into #t (string)
     values (@Text1)

     fetch next from cur_history into @long,@lat,@direction,@tele_time,@speed
     end -- open cur_zone while @@fetch_status=0 begin   

     close cur_history   
     deallocate cur_history   

end

if @track=1 begin -- выгружаем трек
     -- экспортируем данные об остановках   
     declare cur_history cursor local read_only for -- обявляем курсор   
     --    select z.id, z.name,'' from bn_patp.dbo.PATP_BasePoint as Z      
     --    order by z.name -- в алфавитном порядке   
     select ad.long, ad.lat, ad.direction,ad.tele_time, ad.speed  from bn.dbo.SYS_DEV_ArchiveData as AD   
     inner join bn.[dbo].[FLEET_Object] as T on t.ObjectID=ad.ObjectID
     where t.ObjectGarNum=@ts_garaj and t.ObjectActive=1 and tele_time between @start_time and @stop_time and valid=1
     --and speed<4
     order by tele_time;   
     ;   

     set @Text1 = N'<trk><trkseg>';   
     insert into #t (string)
     values (@Text1)

        open cur_history   

     fetch next from cur_history into @long,@lat,@direction,@tele_time,@speed
     while @@fetch_status=0      
     begin   
        -- выборка данных об остановке.   
        set @Text1 = '    <trkpt lat="'+replace(str(@lat,15,8),' ','')+'" lon="'+replace(str(@long,15,8),' ','')+'">   
        <time>'+convert(varchar(30),@tele_time,126)+'</time>   
        <name>'++cast(@speed as varchar(3))+'</name>   
        <magvar>'+cast(@direction as varchar(3))+'</magvar>   
     </trkpt>';   
     insert into #t (string)
     values (@Text1)

     fetch next from cur_history into @long,@lat,@direction,@tele_time,@speed
     end -- open cur_zone while @@fetch_status=0 begin   

     close cur_history   
     deallocate cur_history      
     set @Text1 = N'</trkseg></trk>';   
     insert into #t (string)
     values (@Text1)

end
      set @Text1 = N'</gpx>'   
insert into #t (string)
values (@Text1)

select string from #t order by num
drop table #t
 
logoffДата: Пятница, 02.08.2013, 16:16 | Сообщение # 14
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Треки
Маршрут 1
http://www.openstreetmap.org/user/LogOff/traces/1517692
http://www.openstreetmap.org/user/LogOff/traces/1517694

Маршрут 3
http://www.openstreetmap.org/user/LogOff/traces/1517725
http://www.openstreetmap.org/user/LogOff/traces/1517726
 
logoffДата: Пятница, 02.08.2013, 17:05 | Сообщение # 15
Тамбов
Группа: Администраторы
Сообщений: 645
Репутация: 17
Статус: Offline
Сам импорт выглядит вот так 


задания пока не обработаны. ждемс
Прикрепления: 3886248.png(43Kb)
 
Форум (скрипты, вопросы...) » Прочее » Прочее, что не вошло в другие части форума » cloudbus - тестовое внедрение (буду описывать что и как получается, свои впечатления)
Страница 1 из 11
Поиск:

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