cloudbus - тестовое внедрение
|
|
logoff | Дата: Вторник, 16.07.2013, 19:54 | Сообщение # 1 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: 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 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Завтра надо будет напомнить про импорт, и подумать по поводу еще одного пользователя системы со стороны заказчика. И еще. Так как я совсем не уверен в том, что на OSM улицы и остановки нанесены в соответствии с координатами, то придется это проверять по истории движения транспортных средств. А вот в чудом городе я совсем не ориентируюсь, потом надо будет примерное расположение остановок еще и совместно с представителем заказчика отработать.
|
|
| |
logoff | Дата: Среда, 17.07.2013, 12:08 | Сообщение # 3 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Маршруты импортировали. Однако все остановки образовали единый вариант. А мне нужно по два варианта туда/обратно на каждый маршрут. Оказывается, надо помечать остановки ролями в отношении не просто stop (как описано в инструкции), а forward:stop и backward:stop, а чем я уже забыл. Сделали реимпорт маршрутов. Направления появились, но возникла другая проблема: конечные остановки, представленные в одном только экземпляре попали только в один вариант маршрута - логика в этом есть - надо будет конечные разделить так же на две точки (каждая остановка должна быть видимо представлена как два пункта "туда" и "обратно", если это подразумевается на маршруте). Тут уже без реальных треков не обойтись мне никак.
|
|
| |
logoff | Дата: Среда, 17.07.2013, 13:22 | Сообщение # 4 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Для маршрутов я все указал по старой схеме, вот сижу читаю описания для новой схемы, переделываю соответственно остановки и маршруты.
|
|
| |
vad | Дата: Среда, 17.07.2013, 13:49 | Сообщение # 5 |
Барнаул
Группа: Проверенные
Сообщений: 223
Репутация: 17
Статус: Offline
| А сколько всего маршрутов планируется?
|
|
| |
logoff | Дата: Среда, 17.07.2013, 15:00 | Сообщение # 6 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| По новой схеме маршрут (Отношение с определенными тегами) состоит из "вариантов", ну например у меня получилось два варианта: туда и обратно оба варианта тоже оформляются как отношение, уже несколько с другими тегами Эти отношения состоят из: Остановочных пунктов и платформ, где стоят/сидят пассажиры сами остановки, при этом, должны находиться на графе дороге (быть точкой на way)
трека движения все выстраивается в порядке следования (трек можно после остановок) Начальные/конечные помечаются через роли уже в отношении
не очень все просто - нужна тренировка
|
|
| |
logoff | Дата: Среда, 17.07.2013, 15:01 | Сообщение # 7 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Цитата (vad) А сколько всего маршрутов планируется? хз... пока два - не думаю пока дальше чем на тест.
|
|
| |
logoff | Дата: Среда, 17.07.2013, 16:34 | Сообщение # 8 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Файл-помощник для редактирование маршрутов. Спасибо Натальи из Doroga.TV http://bnc.ucoz.net/load....-1-0-38
|
|
| |
logoff | Дата: Четверг, 18.07.2013, 12:31 | Сообщение # 9 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Для уточнения положения остановок и дорог были использованы треки с OSM (загружаются стандартно с OSM как и данные) и загрузка файлов истории движения из истории данных автобусов. Почитать можно тут. http://bnc.ucoz.net/forum/2-160-1#711
|
|
| |
logoff | Дата: Пятница, 19.07.2013, 11:40 | Сообщение # 10 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Модифицировал скрипт выгрузки трека так, что бы он выводил и трек двжения, и точки остановок. Файл может быть загружен на osm http://goo.gl/hH2kE пример http://www.openstreetmap.org/user/LogOff/traces/1506705
|
|
| |
logoff | Дата: Пятница, 19.07.2013, 14:35 | Сообщение # 11 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Определился со списком ТС вроде (не проверенная информация). Создал пользователя в BNC, настроил новый SOAP на передачу, создал подписки. Данные уходят. Пришло время заносить приборы в программу, и тут ждал приятный сюрприз - оказалось, что есть замечательная закладка http://cloud.doroga.tv/admin/transport/unknowndevice/: неизвестные устройства, которая отображает все приборы, которые от меня получила, но не нашла для них ТС. С возможностью сразу их превратить в ТС (естественно придется информацию внести дополнительно, но уже плюс в скорости работы).
Мелочь, а приятно...
|
|
| |
logoff | Дата: Пятница, 02.08.2013, 11:34 | Сообщение # 12 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Решили уточнить на местности точки остановок Для этого совершить объезд с прибором, а места остановок фиксировать нажатием кнопки на приборе. Для доп контроля к кнопке подключили лампу (что бы уж точно было видно, что кнопку нажали). Как раз сейчас человек объезжает все. Пару раз нажимает кнопку на каждой остановке. И ведет "бумажный" реестр названий остановок и времени нажатия. Соответственно все это будет выгружаться немного модернизированным вышепоказанным скриптом (чуть позже выложу) в gpx для использования в качестве слоя в редакторе JOSM.
|
|
| |
logoff | Дата: Пятница, 02.08.2013, 14:51 | Сообщение # 13 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: 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, 17:05 | Сообщение # 15 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Сам импорт выглядит вот так
задания пока не обработаны. ждемс
|
|
| |