Ответ
 
Опции темы
Старый 03.12.2013, 05:51    | »»» |  #1
Vasiliy_09_05
Начинающий
 
Аватар для Vasiliy_09_05
 
Oren
Регистрация: 11.11.2013
Сообщений: 18
Vasiliy_09_05 is on a distinguished road
По умолчанию Неверное определение остановок и движений при выгрузке в 1с

Доброго времени суток Дамы и Господа.
Еще раз нужна Ваша помощь. Если вопрос покажется глупым, прошу сильно не пинать, сам понимаю что проблема в настройке АвтоГРАФа
Произвожу выгрузку стоянок и отрезков движения между стоянками.
Алгоритм получения данных следующий:
1) Получаю все остановки параметром TripEntriesListTypeName="parks"
2) Заполняю ТЗ в 1с
3) В цикле получаю все рейсы между окончанием первой стоянки и началом второй стоянки (итд если стоянок больше двух), если рейс 1, то дополняю ТЗ прохождением между стоянками, если рейсов более 1, то суммирую данные (пробег, время в движении итд).
В результате получил данные, но есть несколько моментов, которые не могу понять. Чтобы не быть голословным, покажу на примере:
В 1с получаю таблицу остановок и движений, первая запись - это стоянка:
1с остановка.png
Во время стоянки ТС проехало 4 с копейками метра, что быть не может.
Движение выглядит нормально:
1с движение.png
Начал смотреть что в АвтоГРАФе, в результате увидел следующую картину - Время начала движения по 1с не соответствует с началом движения по АвтоГРАФу. Движение начинается, в данном случае, за 7 секунд до фиксации движения через OLE, но скорость движения составляет 1 км/ч.
Фактическое начало движения в АвтоГРАФе:
АвтоГРАФ начало движения фактическое.png
Данные автографа в момент фиксации движения по OLE:
АвтоГРАФ начало движения.png
То есть движение ТС со скоростью 1 км/ч АвтоГРАФ не считает движением, а считает стоянкой, в результате при стоянке ТС, при выгрузке в 1с (да и скорее всего в любую другую программу через OLE) оказывается что в момент стоянки ТС все таки двигалось.
Подскажите как можно исправить данную проблему. Интуитивно понимаю, что скорее всего надо ковырять настройки АвтоГРАФа (что то типа порога скорости движения), но я не настраиваю АвтоГРАФ в организации и не могу сам менять настройки - мой функционал, связать АвтоГРАФ и 1с.
И еще несколько вопросов если позволите
1) Как лучше организовать получение информации о движении между стоянками, как организовал я описал выше, но цикл по рейсам между стоянками и суммирование некоторых данных, как мне кажется, не самый оптимальный вариант, есть ли параметр, типа TripEntriesListTypeName="parks", чтобы сразу получить все данные за указанный период движения, без использования цикла?
2) Думаю как лучше в 1с завести время рейса, время движения и время простоя - в чем именно заключается вопрос - АвтоГРАФ при выгрузки эти данные выдает в формате "чч:мм:сс", а если, например время движения/простоя превышает 24 часа? (у меня таких данных нет, поэтому и не знаю), как будет отражаться время? Например:"34:12:17"? Или будет прибавлять количество суток? Например:"1 10:12:17"? Вполне возможно что лучше использовать время в числовом варианте, например 1,50 - полтора часа, но опять же, нужно учесть возможность перевода времени, превышающие сутки в числовой формат.
Какова будет конечная настройка рейсов я не могу сказать - если рейсы будут, например определятся движением от точки к точке, то время рейса может превышать 24 часа, поэтому, если кто знает, как АвтоГРАФ указывает дату больше суток прошу подсказать
Прошу прощение за много буков Заранее спасибо за помощь
Vasiliy_09_05 вне форума   Ответить с цитированием
Старый 19.12.2013, 10:05    | »»» |  #2
AlexProg1C
ТехноКом
 
Аватар для AlexProg1C
 
Челябинск, Техноком
Регистрация: 20.11.2013
Сообщений: 134
AlexProg1C is on a distinguished road
Отправить сообщение для AlexProg1C с помощью ICQ Отправить сообщение для AlexProg1C с помощью Skype™
По умолчанию

Получение информации об остановках можно реализовать на основании информации с датчика двигателя (датчик моточасов - НомерДатчикаМЧ)

AG.WaitForComputing(ГрФайл, СерНом, НачПериод, КонПериод, "GSM", 1);

КолРейсов = AG.TripsNum;
AG.TripEntriesListTypeName = "sensor_on";
AG.TripEntriesListKindName = "num" + Формат(НомерДатчикаМЧ, "ЧДЦ=0; ЧГ=0");

Для х = 1 По КолРейсов Цикл
AG.TripIndex = х;
КолВключений = AG.TripEntriesNum;
Для хх = 1 По КолВключений Цикл
AG.EntryIndex = хх;
НачалоОстановки = AG.EntryStartRealTime;
ОкончаниеОстановки = AG.EntryEndRealTime;
КонецЦикла;
КонецЦикла;

ООО «ТехноКом», г.Челябинск
Александр Шпаров, 1С программист
AlexProg1C вне форума   Ответить с цитированием
Старый 19.12.2013, 19:53    | »»» |  #3
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,957
SK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud of
Отправить сообщение для SK с помощью Skype™
По умолчанию

AlexProg1C, абсолютно неверно.
Данный датчик покажет только стоянки с выключенным двигателем.
Остановки - это совершенно другое !

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 19.12.2013, 20:01    | »»» |  #4
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,957
SK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud of
Отправить сообщение для SK с помощью Skype™
По умолчанию

Сообщение от Vasiliy_09_05 Посмотреть сообщение
Во время стоянки ТС проехало 4 с копейками метра, что быть не может.
Очень даже "может", если не фильтруется дрейф координат на стоянках (погрешность определения координат из-за движения спутников: перекрытия их прямой видимости рельефом и строениями, выход из-за горизонта новых спутников, переотражение сигнала от препятствий).

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 20.12.2013, 09:36    | »»» |  #5
Vasiliy_09_05
Начинающий
 
Аватар для Vasiliy_09_05
 
Oren
Регистрация: 11.11.2013
Сообщений: 18
Vasiliy_09_05 is on a distinguished road
По умолчанию

Благодарю за ответы
По доп вопросу №1:
Проковырял свой алгоритм, данные в принципе адекватные, решил оставить его Вкратце расскажу суть алгоритма:
1) Получаю все остановки "parks"
2) заполняю ими ТЗ
3) Делаю проверку на пересекающиеся данные (заметил 2 ситуации - а) остановка (событие) может начаться, например в 12:11:10 и закончиться в 12:11:10, и соответственно в 12:11:10 происходят 3 события - начало и окончание остановки, начало движения, такую остановку я убираю, б) Очень редко, но бывает, остановка№1 - окончание в 12:11:10, остановка №2 - начало в 12:11:10, то есть одну общую остановку АвтоГРАФ разбил на 2 остановки, я их собираю)
3) В цикле прогоняю остановки от остановка[x] и остановка[x+1] получаю рейс(ы) между данными промежутками времени, данные по КТ, координатам, уровню топлива и т. д. начал и окончания движения беру у остановок, из рейсов беру только пробег, время работы двигателя.

Вот вкратце алгоритм, понимаю, что многие моменты решаются с помощью более точной настройки АвтоГРАФа, но я не настраиваю АвтоГРАФ и хочу защититься от любых изменений настроек, чтобы изменение, например описания рейсов, никак не повлияло на работу получения данных (почему и ввел регистр, описанный выше - данных нужно записать много, но зато это наиболее полная информация о движении ТС, к которой можно приделать любые обработчики данных)

Если я по своей близорукости не увидел каких-либо подводных камней, прошу подсказать, чтобы я исправился. Но мне кажется алгоритм получения информации по остановкам и движениям между ними вполне адекватный
Vasiliy_09_05 вне форума   Ответить с цитированием
Старый 20.12.2013, 10:45    | »»» |  #6
programmer
ТехноКом
 
Аватар для programmer
 
Регистрация: 17.12.2010
Сообщений: 2,865
programmer is on a distinguished road
По умолчанию

Сообщение от Vasiliy_09_05 Посмотреть сообщение
3) Делаю проверку на пересекающиеся данные (заметил 2 ситуации - а) остановка (событие) может начаться, например в 12:11:10 и закончиться в 12:11:10, и соответственно в 12:11:10 происходят 3 события - начало и окончание остановки, начало движения, такую остановку я убираю, б) Очень редко, но бывает, остановка№1 - окончание в 12:11:10, остановка №2 - начало в 12:11:10, то есть одну общую остановку АвтоГРАФ разбил на 2 остановки, я их собираю)
Ситуации а) и б) уже полностью исключены в АвтоГРАФ.NET

ООО «ТехноКом», г. Челябинск
Макаров Константин Евгеньевич - Главный Программист ООО «ТехноКом» (диспетчерское ПО «АвтоГРАФ»)
programmer вне форума   Ответить с цитированием
Старый 20.12.2013, 10:48    | »»» |  #7
Vasiliy_09_05
Начинающий
 
Аватар для Vasiliy_09_05
 
Oren
Регистрация: 11.11.2013
Сообщений: 18
Vasiliy_09_05 is on a distinguished road
По умолчанию

Хм, спасибо за подсказку
Но ""
Сообщение от Vasiliy_09_05 Посмотреть сообщение
я не настраиваю АвтоГРАФ и хочу защититься от любых изменений настроек, чтобы изменение, например описания рейсов, никак не повлияло на работу получения данных
Поэтому хочу предугадать все моменты
А по алгоритму что можете сказать? Жизнеспособен или может показывать температуру в килограммах?
Vasiliy_09_05 вне форума   Ответить с цитированием
Старый 23.12.2013, 05:28    | »»» |  #8
programmer
ТехноКом
 
Аватар для programmer
 
Регистрация: 17.12.2010
Сообщений: 2,865
programmer is on a distinguished road
По умолчанию

Vasiliy_09_05, всё зависит от того, насколько точная информация Вам нужна.
1. Откройте список остановок
2. Откройте список записей (Ctrl + LAlt + RAlt)
3. Двойной щелчок по остановке, затем в списке записей нажмите кнопку "Найти запись списка" (стрелка вниз справа вверху панели)
4. Выполняя п. 3 для интересуемых остановок, определите, что Вы отфильтровываете своим алгоритмом: скорее всего, это перемещения, связанные с флуктуацией координат (от которой можно попытаться избавиться установкой GPS антенны в другое место) или неправильной настройкой поиска остановок.

Вы сами себе противоречите: с одной стороны:
Сообщение от Vasiliy_09_05 Посмотреть сообщение
многие моменты решаются с помощью более точной настройки АвтоГРАФа, но я не настраиваю АвтоГРАФ
с другой: Вам не нравятся данные, которые Вам выдаёт АвтоГРАФ по Вашим же настройкам, и Вы пытаетесь их "уточнить" оперируя только одним параметром - временем.

ООО «ТехноКом», г. Челябинск
Макаров Константин Евгеньевич - Главный Программист ООО «ТехноКом» (диспетчерское ПО «АвтоГРАФ»)
programmer вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 21:44. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot