Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
J
jfx_traffic_events
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
oscar
jfx_traffic_events
Commits
275689dc
Commit
275689dc
authored
Nov 23, 2021
by
DESKTOP-73N29FP\12868
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交代码都修改为utf8格式
parent
79ed8fd2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
139 additions
and
138 deletions
+139
-138
CMakeLists.txt
CMakeLists.txt
+1
-1
EventsRos.cpp
source/EventsRos.cpp
+35
-35
EventsRos.h
source/EventsRos.h
+10
-9
Component.cpp
source/common/Component.cpp
+29
-29
Component.h
source/common/Component.h
+3
-3
SafeQueue.hpp
source/common/SafeQueue.hpp
+3
-3
ajson_c.hpp
source/common/ajson_c.hpp
+1
-1
http_client_curl.cpp
source/common/http_client_curl.cpp
+1
-1
http_client_curl.h
source/common/http_client_curl.h
+1
-1
JfxEvents.cpp
source/events/JfxEvents.cpp
+0
-0
JfxEvents.h
source/events/JfxEvents.h
+0
-0
config.cpp
source/events/config.cpp
+3
-3
config.h
source/events/config.h
+22
-22
jfx_events.cpp
source/jfx_events.cpp
+9
-9
EventInfo.h
source/msg/EventInfo.h
+21
-21
No files found.
CMakeLists.txt
View file @
275689dc
cmake_minimum_required
(
VERSION 3.0.2
)
cmake_minimum_required
(
VERSION 3.0.2
)
project
(
jfx_traffic_events
)
set
(
CMAKE_CXX_FLAGS
"-std=c++11"
)
...
...
source/EventsRos.cpp
View file @
275689dc
#include <stdio.h>
#
include
<
stdio
.
h
>
#include <unistd.h>
#include "EventsRos.h"
#include "http_client_curl.h"
...
...
@@ -14,7 +14,7 @@ int EventsRos::loadConfig(ros::NodeHandle& nh)
SDK_LOG
(
SDK_INFO
,
"EventsRos::loadConfig"
);
char
url
[
1024
]
=
{
0
};
//
自有平台
//
自有平台
snprintf
(
url
,
1023
,
"http://%s:%d/traffic/uploadParticipants"
,
m_ip
.
c_str
(),
m_port
);
m_Url
=
url
;
...
...
@@ -60,7 +60,7 @@ int EventsRos::loadConfig(ros::NodeHandle& nh)
}
#ifdef _ROS_XISHAN_
void
EventsRos
::
TrackCallBackFunc
(
const
jfx_common_msgs
::
OutFusionObjsConstPtr
&
msg
)
//
接受ros发过来的消息
void
EventsRos
::
TrackCallBackFunc
(
const
jfx_common_msgs
::
OutFusionObjsConstPtr
&
msg
)
//
接受ros发过来的消息
{
if
(
msg
->
objs
.
size
()
<=
0
)
{
...
...
@@ -75,25 +75,25 @@ void EventsRos::TrackCallBackFunc(const jfx_common_msgs::OutFusionObjsConstPtr&
obj
.
dev_no
=
item
.
dev_no
;
obj
.
mec_no
=
item
.
mec_no
;
obj
.
join_id
=
item
.
join_id
;
obj
.
id
=
item
.
all_id
;
//
物体
id
obj
.
id
=
item
.
all_id
;
//
物体i
d
obj
.
cross_name
=
item
.
cross_name
;
obj
.
inner_pos
=
item
.
inner_pos
;
obj
.
is_turn
=
item
.
is_turn
;
obj
.
laneId
=
item
.
lane
;
obj
.
time
=
item
.
time
;
//
时间戳
obj
.
prob
=
item
.
Prob
;
//
置信度
obj
.
name
=
item
.
type
;
//
类型名称,其中包括car truck bus 自行车,行人
obj
.
licensePlateNumber
=
item
.
plate_no
;
//
车牌号,没有就是:N
ONE
//obj.vehicleColor = item.color_name;//
车颜色,没有就是:N
ONE
obj
.
objH
=
item
.
obj_h
;
//
检测出车的3D框高
obj
.
objW
=
item
.
obj_w
;
//
检测出车的3D框宽
obj
.
objL
=
item
.
obj_l
;
//
检测出车的3D框长
obj
.
nowX
=
item
.
now_x
;
//
检测出车的3D框中心点
X
obj
.
nowY
=
item
.
now_y
;
//
检测出车的3D框中心点
Y
obj
.
lat
=
item
.
lat
;
//
车所在位置的纬度
obj
.
lon
=
item
.
lon
;
//
车所在位置的经度
obj
.
heading
=
item
.
heading
;
//
车运行的朝向,北为0,顺时针0
-360
obj
.
speed
=
item
.
speed
;
//
计算出车的速度
obj
.
time
=
item
.
time
;
//
时间戳
obj
.
prob
=
item
.
Prob
;
//
置信度
obj
.
name
=
item
.
type
;
//
类型名称,其中包括car truck bus 自行车,行人
obj
.
licensePlateNumber
=
item
.
plate_no
;
//
车牌号,没有就是:NONE
//obj.vehicleColor = item.color_name;//
车颜色,没有就是:NONE
obj
.
objH
=
item
.
obj_h
;
//
检测出车的3D框高
obj
.
objW
=
item
.
obj_w
;
//
检测出车的3D框宽
obj
.
objL
=
item
.
obj_l
;
//
检测出车的3D框长
obj
.
nowX
=
item
.
now_x
;
//
检测出车的3D框中心点X
obj
.
nowY
=
item
.
now_y
;
//
检测出车的3D框中心点Y
obj
.
lat
=
item
.
lat
;
//
车所在位置的纬度
obj
.
lon
=
item
.
lon
;
//
车所在位置的经度
obj
.
heading
=
item
.
heading
;
//
车运行的朝向,北为0,顺时针0-36
0
obj
.
speed
=
item
.
speed
;
//
计算出车的速度
objsPtr
->
objs
.
emplace_back
(
obj
);
}
objsPtr
->
devNo
=
m_devNo
;
...
...
@@ -114,23 +114,23 @@ void EventsRos::TrackCallBackFunc(const jfxrosperceiver::det_tracking_arrayConst
for
(
auto
&
item
:
msg
->
array
)
{
TrkObj
obj
;
obj
.
time
=
item
.
frame
;
//
时间戳
obj
.
prob
=
item
.
score
;
//
置信度
obj
.
name
=
item
.
name
;
//
类型名称,其中包括car truck bus 自行车,行人
obj
.
type
=
item
.
type
;
//
类型值,基本上与上面的类型对应
obj
.
licensePlateNumber
=
item
.
license_plate_number
;
//
车牌号,没有就是:N
ONE
obj
.
vehicleColor
=
item
.
color_name
;
//
车颜色,没有就是:N
ONE
obj
.
objH
=
item
.
h
;
//
检测出车的3D框高
obj
.
objW
=
item
.
w
;
//
检测出车的3D框宽
obj
.
objL
=
item
.
l
;
//
检测出车的3D框长
obj
.
nowX
=
item
.
x
;
//
检测出车的3D框中心点
X
obj
.
nowY
=
item
.
y
;
//
检测出车的3D框中心点
Y
obj
.
nowZ
=
item
.
z
;
//
检测出车的3D框中心点
Z
obj
.
lat
=
item
.
Lat
;
//
车所在位置的纬度
obj
.
lon
=
item
.
Long
;
//
车所在位置的经度
obj
.
heading
=
item
.
rot_y
;
//
车运行的朝向,北为0,顺时针0
-360
obj
.
id
=
item
.
obj_id
;
//
物体
id
obj
.
speed
=
sqrt
(
pow
(
item
.
v_x
,
2
)
+
pow
(
item
.
v_y
,
2
)
+
pow
(
item
.
v_z
,
2
));
//
计算出车的速度
obj
.
time
=
item
.
frame
;
//
时间戳
obj
.
prob
=
item
.
score
;
//
置信度
obj
.
name
=
item
.
name
;
//
类型名称,其中包括car truck bus 自行车,行人
obj
.
type
=
item
.
type
;
//
类型值,基本上与上面的类型对应
obj
.
licensePlateNumber
=
item
.
license_plate_number
;
//
车牌号,没有就是:NONE
obj
.
vehicleColor
=
item
.
color_name
;
//
车颜色,没有就是:NONE
obj
.
objH
=
item
.
h
;
//
检测出车的3D框高
obj
.
objW
=
item
.
w
;
//
检测出车的3D框宽
obj
.
objL
=
item
.
l
;
//
检测出车的3D框长
obj
.
nowX
=
item
.
x
;
//
检测出车的3D框中心点X
obj
.
nowY
=
item
.
y
;
//
检测出车的3D框中心点Y
obj
.
nowZ
=
item
.
z
;
//
检测出车的3D框中心点Z
obj
.
lat
=
item
.
Lat
;
//
车所在位置的纬度
obj
.
lon
=
item
.
Long
;
//
车所在位置的经度
obj
.
heading
=
item
.
rot_y
;
//
车运行的朝向,北为0,顺时针0-36
0
obj
.
id
=
item
.
obj_id
;
//
物体i
d
obj
.
speed
=
sqrt
(
pow
(
item
.
v_x
,
2
)
+
pow
(
item
.
v_y
,
2
)
+
pow
(
item
.
v_z
,
2
));
//
计算出车的速度
objsPtr
->
objs
.
emplace_back
(
obj
);
}
m_jfx_events
.
PushEventInfos
(
objsPtr
);
...
...
source/EventsRos.h
View file @
275689dc
#pragma once
#
pragma
once
#include "LogBase.h"
#include "ros/ros.h"
#include "JfxEvents.h"
...
...
@@ -14,7 +14,7 @@
/**
* @brief ros
系统和event类衔接的类,ros的发送和接受都放到这里
* @brief ros
系统和event类衔接的类,ros的发送和接受都放到这里
*/
class
EventsRos
{
...
...
@@ -25,27 +25,27 @@ public:
int
loadConfig
(
ros
::
NodeHandle
&
nh
);
#ifdef _ROS_XISHAN_
void
TrackCallBackFunc
(
const
jfx_common_msgs
::
OutFusionObjsConstPtr
&
msg
);
//
接受ros发过来的消息
void
TrackCallBackFunc
(
const
jfx_common_msgs
::
OutFusionObjsConstPtr
&
msg
);
//
接受ros发过来的消息
#else
void
TrackCallBackFunc
(
const
jfxrosperceiver
::
det_tracking_arrayConstPtr
&
msg
);
//
接受ros发过来的消息
void
TrackCallBackFunc
(
const
jfxrosperceiver
::
det_tracking_arrayConstPtr
&
msg
);
//
接受ros发过来的消息
#endif
int
Start
();
void
SendEventsCb
(
TrkObjsPtr
&
outs
);
//
发送event事件的函数
void
SendRosEvents
(
TrkObjsPtr
&
outs
);
//
发送event事件的函数
void
SendEventsCb
(
TrkObjsPtr
&
outs
);
//
发送event事件的函数
void
SendRosEvents
(
TrkObjsPtr
&
outs
);
//
发送event事件的函数
JfxEvents
m_jfx_events
;
//event
处理对象
JfxEvents
m_jfx_events
;
//event
处理对象
std
::
string
m_devNo
;
std
::
string
m_mecNo
;
std
::
string
m_Url
;
//
发送的地址
std
::
string
m_Url
;
//
发送的地址
std
::
string
m_ip
;
int
m_port
;
std
::
string
m_folder
;
//
当前目录
std
::
string
m_folder
;
//
当前目录
ros
::
Publisher
m_pub
;
};
\ No newline at end of file
source/common/Component.cpp
View file @
275689dc
#include "Component.h"
#include <sys/time.h>
#include <unistd.h>
...
...
@@ -14,20 +14,20 @@ uint64_t GetCurTime()
bool
CheckCarLane
(
jf
::
LaneType
laneType
)
{
switch
(
laneType
)
{
case
jf
:
:
LaneType
::
NormalLane
:
//
普通车道
case
jf
:
:
LaneType
::
EnterLane
:
//
入口车道
case
jf
:
:
LaneType
::
ExitLane
:
//
出口车道
case
jf
:
:
LaneType
::
ConnectLane
:
//
连接车道
case
jf
:
:
LaneType
::
EmergencyLane
:
//
应急车道
case
jf
:
:
LaneType
::
EmergencyStopLane
:
//
紧急停车道
case
jf
:
:
LaneType
::
AcceleratingLane
:
//
加速车道
case
jf
:
:
LaneType
::
DeceleratingLane
:
//
减速车道
case
jf
:
:
LaneType
::
HazardLane
:
//
避险车道
//case jf::LaneType::JunctionLane: //
路口车道
//case jf::LaneType::UTurnLane: //
掉头车道
case
jf
:
:
LaneType
::
BusLane
:
//
公交车道
case
jf
:
:
LaneType
::
TidalLane
:
//
潮汐(可变) 车道
case
jf
:
:
LaneType
::
HOVHighLoadLane
:
// HOV
高承载车道
case
jf
:
:
LaneType
::
NormalLane
:
//
普通车道
case
jf
:
:
LaneType
::
EnterLane
:
//
入口车道
case
jf
:
:
LaneType
::
ExitLane
:
//
出口车道
case
jf
:
:
LaneType
::
ConnectLane
:
//
连接车道
case
jf
:
:
LaneType
::
EmergencyLane
:
//
应急车道
case
jf
:
:
LaneType
::
EmergencyStopLane
:
//
紧急停车道
case
jf
:
:
LaneType
::
AcceleratingLane
:
//
加速车道
case
jf
:
:
LaneType
::
DeceleratingLane
:
//
减速车道
case
jf
:
:
LaneType
::
HazardLane
:
//
避险车道
//case jf::LaneType::JunctionLane: //
路口车道
//case jf::LaneType::UTurnLane: //
掉头车道
case
jf
:
:
LaneType
::
BusLane
:
//
公交车道
case
jf
:
:
LaneType
::
TidalLane
:
//
潮汐(可变) 车道
case
jf
:
:
LaneType
::
HOVHighLoadLane
:
// HOV
高承载车道
return
true
;
default
:
break
;
...
...
@@ -37,20 +37,20 @@ bool CheckCarLane(jf::LaneType laneType) {
bool
CheckCarLaneAll
(
jf
::
LaneType
laneType
)
{
switch
(
laneType
)
{
case
jf
:
:
LaneType
::
NormalLane
:
//
普通车道
case
jf
:
:
LaneType
::
EnterLane
:
//
入口车道
case
jf
:
:
LaneType
::
ExitLane
:
//
出口车道
case
jf
:
:
LaneType
::
ConnectLane
:
//
连接车道
case
jf
:
:
LaneType
::
EmergencyLane
:
//
应急车道
case
jf
:
:
LaneType
::
EmergencyStopLane
:
//
紧急停车道
case
jf
:
:
LaneType
::
AcceleratingLane
:
//
加速车道
case
jf
:
:
LaneType
::
DeceleratingLane
:
//
减速车道
case
jf
:
:
LaneType
::
HazardLane
:
//
避险车道
case
jf
:
:
LaneType
::
JunctionLane
:
//
路口车道
case
jf
:
:
LaneType
::
UTurnLane
:
//
掉头车道
case
jf
:
:
LaneType
::
BusLane
:
//
公交车道
case
jf
:
:
LaneType
::
TidalLane
:
//
潮汐(可变) 车道
case
jf
:
:
LaneType
::
HOVHighLoadLane
:
// HOV
高承载车道
case
jf
:
:
LaneType
::
NormalLane
:
//
普通车道
case
jf
:
:
LaneType
::
EnterLane
:
//
入口车道
case
jf
:
:
LaneType
::
ExitLane
:
//
出口车道
case
jf
:
:
LaneType
::
ConnectLane
:
//
连接车道
case
jf
:
:
LaneType
::
EmergencyLane
:
//
应急车道
case
jf
:
:
LaneType
::
EmergencyStopLane
:
//
紧急停车道
case
jf
:
:
LaneType
::
AcceleratingLane
:
//
加速车道
case
jf
:
:
LaneType
::
DeceleratingLane
:
//
减速车道
case
jf
:
:
LaneType
::
HazardLane
:
//
避险车道
case
jf
:
:
LaneType
::
JunctionLane
:
//
路口车道
case
jf
:
:
LaneType
::
UTurnLane
:
//
掉头车道
case
jf
:
:
LaneType
::
BusLane
:
//
公交车道
case
jf
:
:
LaneType
::
TidalLane
:
//
潮汐(可变) 车道
case
jf
:
:
LaneType
::
HOVHighLoadLane
:
// HOV
高承载车道
return
true
;
default
:
break
;
...
...
source/common/Component.h
View file @
275689dc
#pragma once
#
pragma
once
#include <MapInterface.hpp>
...
...
@@ -7,5 +7,5 @@
uint64_t
GetCurTime
();
bool
CheckCarLane
(
jf
::
LaneType
laneType
);
//
检查除了路口之外的道路类型
bool
CheckCarLaneAll
(
jf
::
LaneType
laneType
);
//
机动车道路类型
bool
CheckCarLane
(
jf
::
LaneType
laneType
);
//
检查除了路口之外的道路类型
bool
CheckCarLaneAll
(
jf
::
LaneType
laneType
);
//
机动车道路类型
source/common/SafeQueue.hpp
View file @
275689dc
/*
/*
* SafeQueue.hpp
* Copyright (C) 2019 Alfredo Pons Menargues <apons@linucleus.com>
*
...
...
@@ -115,7 +115,7 @@ class SafeQueue
bool
ret
=
true
;
if
(
m_max_num_items
>
0
&&
m_queue
.
size
()
>
m_max_num_items
)
{
//
修改为队列里大于这个值,pop出老的,push新的
//
修改为队列里大于这个值,pop出老的,push新的
out
=
m_queue
.
front
();
m_queue
.
pop
();
ret
=
false
;
...
...
@@ -138,7 +138,7 @@ class SafeQueue
bool
ret
=
true
;
if
(
m_max_num_items
>
0
&&
m_queue
.
size
()
>
m_max_num_items
)
{
//
修改为队列里大于这个值,pop出老的,push新的
//
修改为队列里大于这个值,pop出老的,push新的
out
=
m_queue
.
front
();
m_queue
.
pop
();
ret
=
false
;
...
...
source/common/ajson_c.hpp
View file @
275689dc
#pragma once
#
pragma
once
/*
__ _____ _____ _____
...
...
source/common/http_client_curl.cpp
View file @
275689dc
//
//
// Created by youle on 20-10-26.
//
...
...
source/common/http_client_curl.h
View file @
275689dc
//
//
// Created by youle on 20-10-26.
//
...
...
source/events/JfxEvents.cpp
View file @
275689dc
This diff is collapsed.
Click to expand it.
source/events/JfxEvents.h
View file @
275689dc
This diff is collapsed.
Click to expand it.
source/events/config.cpp
View file @
275689dc
#include "config.h"
#include "LogBase.h"
...
...
@@ -56,7 +56,7 @@ void EventsConfig::PacketArea()
//min_retr_speed *= 0.1;
//min_land_speed *= 0.1;
//
打印参数
//
打印参数
SDK_LOG
(
SDK_INFO
,
"high_speed_interval = %d"
,
high_speed_interval
);
SDK_LOG
(
SDK_INFO
,
"low_speed_interval = %d"
,
low_speed_interval
);
SDK_LOG
(
SDK_INFO
,
"illegal_park_interval = %d"
,
illegal_park_interval
);
...
...
@@ -75,7 +75,7 @@ void EventsConfig::PacketArea()
}
int
EventsConfig
::
IsInArea
(
double
&
lat
,
double
&
lon
)
{
//
检查是否是禁止停车区域
//
检查是否是禁止停车区域
for
(
auto
iter
:
forbiddenAreas
)
{
if
(
lat
>
iter
.
minLat
&&
lat
<
iter
.
maxLat
&&
...
...
source/events/config.h
View file @
275689dc
#pragma once
#
pragma
once
#include <string>
#include <vector>
...
...
@@ -14,7 +14,7 @@ struct ForbiddenArea
/**
* @brief
配置信息结构
* @brief
配置信息结构
*/
struct
EventsConfig
{
...
...
@@ -33,26 +33,26 @@ struct EventsConfig
std
::
string
pro_path
;
std
::
string
pro_dir
;
std
::
string
map_cfg
;
int32_t
high_speed_interval
;
//
检测高速行驶的时间间隔,毫秒
int32_t
low_speed_interval
;
//
检测低速行驶的时间间隔,毫秒
int32_t
illegal_park_interval
;
//
检测非法停车的时间间隔,毫秒
int32_t
motor_illegal_lane_interval
;
//
检测机动车占用非机动车的时间间隔,毫秒
int32_t
nonmotor_illegal_lane_interval
;
//
检测非机动车占用机动车的时间间隔,毫秒
int32_t
retrograde_interval
;
//
检测逆行行驶的时间间隔,毫秒
float
max_high_speed
;
//
最高速的值,大于这个值开始检测
float
min_low_speed
;
//
最小速度值,小于这个值开始检测
float
min_park_speed
;
//
最小停车值,小于这个值开始检测
int32_t
traffic_jam_num
;
//
检测多少车处于慢速和停车状态的数量,大于这个值就认为是堵车
std
::
string
forbidden_park_area
;
//
禁止停车区域,
(minLat,maxLat,minLon,maxLon;....)
std
::
string
nonmotor_name_list
;
//
非机动车所有类型列表
int32_t
check_park_time
;
//
停车之后多长时间认为是非法停车
int
min_retr_speed
;
//
逆行检查最小速度
int
min_land_speed
;
//
车道检测的最小速度
int
emergence_illegal_lane_interval
;
//
应急车道检测时间
int
change_illegal_lane_interval
;
//
异常变道检测时间
int
changes_illegal_lane_interval
;
//
连续变道检测时间
int
person_illegal_lane_interval
;
//
行人闯入检测时间
int32_t
high_speed_interval
;
//
检测高速行驶的时间间隔,毫秒
int32_t
low_speed_interval
;
//
检测低速行驶的时间间隔,毫秒
int32_t
illegal_park_interval
;
//
检测非法停车的时间间隔,毫秒
int32_t
motor_illegal_lane_interval
;
//
检测机动车占用非机动车的时间间隔,毫秒
int32_t
nonmotor_illegal_lane_interval
;
//
检测非机动车占用机动车的时间间隔,毫秒
int32_t
retrograde_interval
;
//
检测逆行行驶的时间间隔,毫秒
float
max_high_speed
;
//
最高速的值,大于这个值开始检测
float
min_low_speed
;
//
最小速度值,小于这个值开始检测
float
min_park_speed
;
//
最小停车值,小于这个值开始检测
int32_t
traffic_jam_num
;
//
检测多少车处于慢速和停车状态的数量,大于这个值就认为是堵车
std
::
string
forbidden_park_area
;
//
禁止停车区域,(mi
nLat,maxLat,minLon,maxLon;....)
std
::
string
nonmotor_name_list
;
//
非机动车所有类型列表
int32_t
check_park_time
;
//
停车之后多长时间认为是非法停车
int
min_retr_speed
;
//
逆行检查最小速度
int
min_land_speed
;
//
车道检测的最小速度
int
emergence_illegal_lane_interval
;
//
应急车道检测时间
int
change_illegal_lane_interval
;
//
异常变道检测时间
int
changes_illegal_lane_interval
;
//
连续变道检测时间
int
person_illegal_lane_interval
;
//
行人闯入检测时间
std
::
vector
<
ForbiddenArea
>
forbiddenAreas
;
std
::
vector
<
std
::
string
>
nonmotorLists
;
...
...
source/jfx_events.cpp
View file @
275689dc
#include <glog/logging.h>
#include<sys/time.h>
...
...
@@ -108,8 +108,8 @@ void LimitOpenFile() {
}
void
signalHandler
(
int
signum
)
{
//ROS_INFO("Interrupt signal %d received", signum);
//
清理并关闭
//
终止程序
//
清理并关闭
//
终止程序
// g_Run = false;
exit
(
signum
);
}
...
...
@@ -118,16 +118,16 @@ SDKLogBase g_log;
int
main
(
int
argc
,
char
**
argv
)
{
//
注册信号 SIGINT 和信号处理程序
//
注册信号 SIGINT 和信号处理程序
signal
(
SIGINT
,
signalHandler
);
LimitOpenFile
();
google
::
InitGoogleLogging
(
argv
[
0
]);
FLAGS_stderrthreshold
=
google
::
INFO
;
//
输出到stderr的限值,默认为2(ERROR),默认ERORR以下的信息(INFO、WARNING)不打印到终端。
FLAGS_max_log_size
=
500
;
//
设置最大日志文件大小(以MB为单位)。
FLAGS_logbufsecs
=
0
;
//
设置可以缓冲日志的最大秒数,0指实时输出。
FLAGS_alsologtostderr
=
true
;
//
是否将日志输出到文件和stderr,如果:true,忽略FLAGS_stderrthreshold的限制,所有信息打印到终端。
FLAGS_log_prefix
=
true
;
//
设置日志前缀是否应该添加到每行输出。
FLAGS_stderrthreshold
=
google
::
INFO
;
//
输出到stderr的限值,默认为2(ERROR),默认ERORR以下的信息(INFO、WARNING)不打印到终端。
FLAGS_max_log_size
=
500
;
//
设置最大日志文件大小(以MB为单位)。
FLAGS_logbufsecs
=
0
;
//
设置可以缓冲日志的最大秒数,0指实时输出。
FLAGS_alsologtostderr
=
true
;
//
是否将日志输出到文件和stderr,如果:true,忽略FLAGS_stderrthreshold的限制,所有信息打印到终端。
FLAGS_log_prefix
=
true
;
//
设置日志前缀是否应该添加到每行输出。
FLAGS_log_dir
=
"log"
;
g_log
.
AddLogFile
=
AddLogFileSys
;
...
...
source/msg/EventInfo.h
View file @
275689dc
#pragma once
#
pragma
once
#include <cstdint>
#include <string>
...
...
@@ -6,9 +6,9 @@
#include "ajson_c.hpp"
typedef
struct
_EventInfo
{
int32_t
eventId
;
//
事件唯一id,为了分清哪个事件
int32_t
eventType
;
//
由于一辆车同时可能有多个违章,所以需要加入事件类型列表,参考TrackResultType类型
int32_t
eventStatus
;
//
事件状态,包括开始,持续,结束,消失
int32_t
eventId
;
//
事件唯一id,为了分清哪个事件
int32_t
eventType
;
//
由于一辆车同时可能有多个违章,所以需要加入事件类型列表,参考TrackResultType类型
int32_t
eventStatus
;
//
事件状态,包括开始,持续,结束,消失
}
eventInfo
;
AJSON
(
eventInfo
,
...
...
@@ -26,25 +26,25 @@ typedef struct _TrkObj {
std
::
string
inner_pos
;
int32_t
is_turn
=
0
;
int32_t
laneId
=
0
;
int64_t
id
=
0
;
//
节点目标
id
std
::
string
name
;
//
目标类型
int64_t
id
=
0
;
//
节点目标id
std
::
string
name
;
//
目标类型
int32_t
type
;
double
prob
=
0
.
0
;
//
可信度
uint64_t
time
=
0
;
//
时间戳 单位毫秒
double
nowX
=
0
.
0
;
//
相对设备 位置
x
double
nowY
=
0
.
0
;
//
相对设备 位置
y
double
nowZ
=
0
.
0
;
//
相对设备 位置
z
double
lon
=
0
.
0
;
//
经度
double
lat
=
0
.
0
;
//
纬度
double
prob
=
0
.
0
;
//
可信度
uint64_t
time
=
0
;
//
时间戳 单位毫秒
double
nowX
=
0
.
0
;
//
相对设备 位置 x
double
nowY
=
0
.
0
;
//
相对设备 位置 y
double
nowZ
=
0
.
0
;
//
相对设备 位置 z
double
lon
=
0
.
0
;
//
经度
double
lat
=
0
.
0
;
//
纬度
double
objL
=
0
.
0
;
//
double
objW
=
0
.
0
;
//
double
objH
=
0
.
0
;
//
double
speed
=
0
.
0
;
//
速度
double
heading
=
0
.
0
;
//
航向角
std
::
string
licensePlateNumber
;
//
车牌号
// std::string vehicleName; //
车类型名
std
::
string
vehicleColor
;
//
车颜色
std
::
vector
<
eventInfo
>
eventList
;
//
由于一辆车同时可能有多个违章,所以需要加入事件类型列表,参考TrackResultType类型
double
speed
=
0
.
0
;
//
速度
double
heading
=
0
.
0
;
//
航向角
std
::
string
licensePlateNumber
;
//
车牌号
// std::string vehicleName; //
车类型名
std
::
string
vehicleColor
;
//
车颜色
std
::
vector
<
eventInfo
>
eventList
;
//
由于一辆车同时可能有多个违章,所以需要加入事件类型列表,参考TrackResultType类型
}
TrkObj
;
using
TrkObjPtr
=
std
::
shared_ptr
<
TrkObj
>
;
...
...
@@ -78,8 +78,8 @@ AJSON(TrkObj,
)
typedef
struct
_TrkObjs
{
std
::
string
devNo
;
//
设备相机
id
std
::
string
mecNo
;
// MecNo
工控机i
d
std
::
string
devNo
;
//
设备相机id
std
::
string
mecNo
;
// MecNo
工控机id
std
::
vector
<
TrkObj
>
objs
;
}
TrkObjs
;
using
TrkObjsPtr
=
std
::
shared_ptr
<
TrkObjs
>
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment