Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
traffic-signal-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
signal
traffic-signal-platform
Commits
d1214f75
Commit
d1214f75
authored
Sep 14, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 新信号评价-方案评价-均衡调控和安全保障策略详细问题
parent
8cc1f43e
Changes
16
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
358 additions
and
83 deletions
+358
-83
LanePeriodicDataEventListConvert.java
...center/pojo/convert/LanePeriodicDataEventListConvert.java
+1
-1
EvaluateServiceImpl.java
.../java/net/wanji/opt/service/impl/EvaluateServiceImpl.java
+2
-4
SchemeEvaluateServiceImpl.java
...net/wanji/opt/service/impl/SchemeEvaluateServiceImpl.java
+254
-60
StrategyAndMetricsEnum.java
...n/java/net/wanji/common/enums/StrategyAndMetricsEnum.java
+4
-4
CrossDirDataHistAvgBO.java
...main/java/net/wanji/databus/bo/CrossDirDataHistAvgBO.java
+2
-2
BaseCrossDirInfoMapper.java
.../net/wanji/databus/dao/mapper/BaseCrossDirInfoMapper.java
+4
-0
CrossDataHistMapper.java
...ava/net/wanji/databus/dao/mapper/CrossDataHistMapper.java
+2
-0
CrossDirDataHistMapper.java
.../net/wanji/databus/dao/mapper/CrossDirDataHistMapper.java
+2
-0
CrossDirDataRealtimePO.java
...ain/java/net/wanji/databus/po/CrossDirDataRealtimePO.java
+9
-2
CrossTurnDataRealtimePO.java
...in/java/net/wanji/databus/po/CrossTurnDataRealtimePO.java
+9
-0
BaseCrossDirInfoMapper.xml
...abus/src/main/resources/mapper/BaseCrossDirInfoMapper.xml
+19
-0
CrossDataHistMapper.xml
wj-databus/src/main/resources/mapper/CrossDataHistMapper.xml
+9
-0
CrossDirDataHistMapper.xml
...abus/src/main/resources/mapper/CrossDirDataHistMapper.xml
+18
-5
CrossDirDataRealtimeMapper.xml
.../src/main/resources/mapper/CrossDirDataRealtimeMapper.xml
+8
-3
CrossTurnDataHistMapper.xml
...bus/src/main/resources/mapper/CrossTurnDataHistMapper.xml
+7
-1
CrossTurnDataRealtimeMapper.xml
...src/main/resources/mapper/CrossTurnDataRealtimeMapper.xml
+8
-1
No files found.
signal-datacenter-service/src/main/java/net/wanji/datacenter/pojo/convert/LanePeriodicDataEventListConvert.java
View file @
d1214f75
...
...
@@ -96,7 +96,7 @@ public class LanePeriodicDataEventListConvert {
crossDirDataRealTimePO
.
setBatchTime
(
batchTime
);
crossDirDataRealTimePO
.
setGmtCreate
(
now
);
crossDirDataRealTimePO
.
setGmtModified
(
now
);
//
crossDirDataRealTimePO
.
set
EffusionTim
e
(
0000.0
);
//
crossDirDataRealTimePO
.
set
effusionRat
e
(
0000.0
);
//
return
crossDirDataRealTimePO
;
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/EvaluateServiceImpl.java
View file @
d1214f75
...
...
@@ -127,15 +127,13 @@ public class EvaluateServiceImpl implements EvaluateService {
List
<
CrossDirDataRealtimePO
>
realtimeObj
=
dirObjMapRealtime
.
get
(
dir
);
if
(
CollectionUtil
.
isNotEmpty
(
realtimeObj
))
{
CrossDirDataRealtimePO
crossDirDataRealtimePO
=
realtimeObj
.
get
(
0
);
Double
effusionTime
=
crossDirDataRealtimePO
.
getEffusionTime
();
Double
effusionRate
=
effusionTime
/
minutes
;
Double
effusionRate
=
crossDirDataRealtimePO
.
getEffusionRate
();
effusionRateElement
.
setCurrentRate
(
effusionRate
);
}
List
<
CrossDirDataHistAvgBO
>
histObj
=
dirObjMapHist
.
get
(
dir
);
if
(
CollectionUtil
.
isNotEmpty
(
histObj
))
{
CrossDirDataHistAvgBO
crossDirDataHistAvgBO
=
histObj
.
get
(
0
);
Double
avgEffusionTime
=
crossDirDataHistAvgBO
.
getAvgEffusionTime
();
Double
avgEffusionRate
=
avgEffusionTime
/
minutes
;
Double
avgEffusionRate
=
crossDirDataHistAvgBO
.
getAvgEffusionRate
();
effusionRateElement
.
setCompareRate
(
avgEffusionRate
);
}
res
.
add
(
effusionRateElement
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/SchemeEvaluateServiceImpl.java
View file @
d1214f75
This diff is collapsed.
Click to expand it.
wj-common/src/main/java/net/wanji/common/enums/StrategyAndMetricsEnum.java
View file @
d1214f75
...
...
@@ -38,11 +38,11 @@ public class StrategyAndMetricsEnum {
MAX_QUEUE_LENGTH
(
"4"
,
"最大排队长度"
,
"m"
),
STOP_TIMES
(
"5"
,
"停车次数"
,
"次"
),
AVERAGE_SPEED
(
"6"
,
"平均速度"
,
"km/h"
),
GREEN_LIGHT_
UTILIZATION
(
"7"
,
"绿灯有效利用率"
,
"%"
),
GREEN_LIGHT_
EFFICIENCY
(
"7"
,
"绿灯有效利用率"
,
"%"
),
SATURATION
(
"8"
,
"饱和度"
,
""
),
LOAD_BALANCE
(
"9"
,
"负载均衡度"
,
""
),
EFFUSION_RATE
(
"10"
,
"溢流率"
,
"%"
),
GREEN_INTERVAL_CLEAR
(
"11"
,
"绿灯间隔清空率"
,
"%"
),
CLEAR_RATE
(
"11"
,
"绿灯间隔清空率"
,
"%"
),
EMERGENCY_COUNT
(
"12"
,
"三急一速数量"
,
""
);
private
final
String
code
;
...
...
@@ -71,13 +71,13 @@ public class StrategyAndMetricsEnum {
Metrics
.
AVERAGE_SPEED
));
map
.
put
(
Strategy
.
BALANCE
,
Arrays
.
asList
(
Metrics
.
GREEN_LIGHT_
UTILIZATION
,
Metrics
.
GREEN_LIGHT_
EFFICIENCY
,
Metrics
.
SATURATION
,
Metrics
.
LOAD_BALANCE
));
map
.
put
(
Strategy
.
SECURITY
,
Arrays
.
asList
(
Metrics
.
EFFUSION_RATE
,
Metrics
.
GREEN_INTERVAL_CLEAR
,
Metrics
.
CLEAR_RATE
,
Metrics
.
EMERGENCY_COUNT
));
STRATEGY_METRICS_MAP
=
Collections
.
unmodifiableMap
(
map
);
...
...
wj-databus/src/main/java/net/wanji/databus/bo/CrossDirDataHistAvgBO.java
View file @
d1214f75
...
...
@@ -14,6 +14,6 @@ public class CrossDirDataHistAvgBO {
private
Double
avgQueueLength
;
// 平均拥堵指数
private
Double
avgIndex
;
// 平均溢流
时长
private
Double
avgEffusion
Tim
e
;
// 平均溢流
率
private
Double
avgEffusion
Rat
e
;
}
wj-databus/src/main/java/net/wanji/databus/dao/mapper/BaseCrossDirInfoMapper.java
View file @
d1214f75
...
...
@@ -20,4 +20,8 @@ public interface BaseCrossDirInfoMapper {
List
<
BaseCrossDirInfoPO
>
selectByCrossId
(
String
crossId
);
List
<
BaseCrossDirInfoPO
>
selectByCrossIdAndInOutType
(
String
crossId
,
Integer
type
);
List
<
String
>
selectLaneIds
(
String
crossId
,
Integer
dirCode
);
Integer
selectDirEmergencyCount
(
String
crossId
,
List
<
String
>
laneIds
,
int
startTimeStamp
,
int
endTimeStamp
);
}
wj-databus/src/main/java/net/wanji/databus/dao/mapper/CrossDataHistMapper.java
View file @
d1214f75
...
...
@@ -26,4 +26,6 @@ public interface CrossDataHistMapper extends BaseMapper<CrossDataHistPO> {
List
<
MetricHistDTO
>
selectMetricHistDTO
(
String
crossId
,
int
startStamp
,
int
endStamp
);
Double
selectMaxSaturation
(
String
crossId
,
int
startStamp
,
int
endStamp
);
Integer
selectCrossEmergencyCount
(
String
crossId
,
int
startTimeStamp
,
int
endTimeStamp
);
}
wj-databus/src/main/java/net/wanji/databus/dao/mapper/CrossDirDataHistMapper.java
View file @
d1214f75
...
...
@@ -42,4 +42,6 @@ public interface CrossDirDataHistMapper extends BaseMapper<CrossDirDataHistPO> {
Double
selectMaxQueueLength
(
String
crossId
,
Integer
dirType
,
Integer
inOutType
,
int
startStamp
,
int
endStamp
);
Double
selectMaxSaturation
(
String
crossId
,
Integer
dirType
,
Integer
inOutType
,
int
startStamp
,
int
endStamp
);
Double
selectMaxGreenLightEfficiency
(
String
crossId
,
Integer
dirCode
,
Integer
code
,
int
startTimeStamp
,
int
endTimeStamp
);
}
wj-databus/src/main/java/net/wanji/databus/po/CrossDirDataRealtimePO.java
View file @
d1214f75
...
...
@@ -63,6 +63,13 @@ public class CrossDirDataRealtimePO {
private
Date
gmtCreate
;
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
private
Date
gmtModified
;
@ApiModelProperty
(
name
=
"溢流时长,计算溢流率提供;溢流率:交叉口间路段车辆排队长度超出可容纳空间的时长与观测总时长的百分比"
,
notes
=
""
)
private
Double
effusionTime
;
@ApiModelProperty
(
name
=
"溢流率:交叉口间路段车辆排队长度超出可容纳空间的时长与观测总时长的百分比"
,
notes
=
""
)
private
Double
effusionRate
;
@ApiModelProperty
(
value
=
"绿灯间隔清空率"
,
notes
=
""
)
private
Double
clearRate
;
@ApiModelProperty
(
value
=
"负载均衡度"
,
notes
=
""
)
private
Double
loadBalance
;
@ApiModelProperty
(
value
=
"绿灯有效利用率"
,
notes
=
""
)
private
Double
greenLightEfficiency
;
}
wj-databus/src/main/java/net/wanji/databus/po/CrossTurnDataRealtimePO.java
View file @
d1214f75
...
...
@@ -88,4 +88,13 @@ public class CrossTurnDataRealtimePO {
/** 修改时间 */
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
private
Date
gmtModified
;
@ApiModelProperty
(
value
=
"绿灯间隔清空率"
,
notes
=
""
)
private
Double
clearRate
;
@ApiModelProperty
(
value
=
"负载均衡度"
,
notes
=
""
)
private
Double
loadBalance
;
@ApiModelProperty
(
value
=
"绿灯有效利用率"
,
notes
=
""
)
private
Double
greenLightEfficiency
;
@ApiModelProperty
(
name
=
"溢流率:交叉口间路段车辆排队长度超出可容纳空间的时长与观测总时长的百分比"
,
notes
=
""
)
private
Double
effusionRate
;
}
wj-databus/src/main/resources/mapper/BaseCrossDirInfoMapper.xml
View file @
d1214f75
...
...
@@ -32,4 +32,23 @@
where cross_id = #{crossId} and in_out_type = #{type}
</select>
<select
id=
"selectLaneIds"
resultType=
"java.lang.String"
>
select id
from t_base_lane_info
where cross_id = #{crossId} and dir = #{dirCode}
</select>
<select
id=
"selectDirEmergencyCount"
resultType=
"java.lang.Integer"
>
SELECT COUNT(*)
FROM holo_roadnet_jinan.t_event_info
WHERE type IN ('33', '34', '35', '6')
AND UNIX_TIMESTAMP(start_time)
<![CDATA[ >= ]]>
#{startStamp}
AND UNIX_TIMESTAMP(start_time)
<![CDATA[ <= ]]>
#{endStamp}
AND cross_id = #{crossId}
AND lane_id in
<foreach
collection=
"laneIds"
item=
"id"
separator=
","
open=
"("
close=
")"
>
#{id}
</foreach>
</select>
</mapper>
wj-databus/src/main/resources/mapper/CrossDataHistMapper.xml
View file @
d1214f75
...
...
@@ -95,4 +95,13 @@
and batch_time
<![CDATA[ <= ]]>
#{endStamp}
</select>
<select
id=
"selectCrossEmergencyCount"
resultType=
"java.lang.Integer"
>
SELECT COUNT(*)
FROM holo_roadnet_jinan.t_event_info
WHERE type IN ('33', '34', '35', '6')
AND UNIX_TIMESTAMP(start_time)
<![CDATA[ >= ]]>
#{startStamp}
AND UNIX_TIMESTAMP(start_time)
<![CDATA[ <= ]]>
#{endStamp}
AND cross_id = #{crossId}
</select>
</mapper>
\ No newline at end of file
wj-databus/src/main/resources/mapper/CrossDirDataHistMapper.xml
View file @
d1214f75
...
...
@@ -22,12 +22,17 @@
<result
column=
"batch_time"
property=
"batchTime"
></result>
<result
column=
"gmt_create"
property=
"gmtCreate"
></result>
<result
column=
"gmt_modified"
property=
"gmtModified"
></result>
<result
column=
"effusion_time"
property=
"effusionTime"
></result>
<result
column=
"effusion_rate"
property=
"effusionRate"
></result>
<result
column=
"clear_rate"
property=
"clearRate"
></result>
<result
column=
"load_balance"
property=
"loadBalance"
></result>
<result
column=
"green_light_efficiency"
property=
"greenLightEfficiency"
></result>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,dir_type,in_out_type,cross_id,length,status,traffic_index,start_time,capacity,duration,flow,speed,queue_length,stop_times,
delay_time,sturation,no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,batch_time,gmt_create,gmt_modified,effusion_time
delay_time,sturation,no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,batch_time,gmt_create,gmt_modified,effusion_rate,
load_balance,clear_rate,green_light_efficiency
</sql>
<insert
id=
"insertBatch"
parameterType=
"net.wanji.databus.po.CrossDirDataHistPO"
>
...
...
@@ -39,7 +44,7 @@
#{entity.trafficIndex}, #{entity.startTime}, #{entity.capacity}, #{entity.duration}, #{entity.flow},
#{entity.speed}, #{entity.queueLength}, #{entity.stopTimes}, #{entity.delayTime}, #{entity.sturation},
#{entity.noStopRate},#{entity.oneStopRate},#{entity.twoStopRate},#{entity.threeStopRate},#{entity.batchTime},
#{entity.gmtCreate}, #{entity.gmtModified}, #{entity.effusion
Tim
e} )
#{entity.gmtCreate}, #{entity.gmtModified}, #{entity.effusion
Rat
e} )
</foreach>
</insert>
...
...
@@ -70,7 +75,7 @@
<select
id=
"selectByCrossIdInOutTimestamp"
resultType=
"net.wanji.databus.bo.CrossDirDataHistAvgBO"
>
SELECT dir_type as dirType, avg(capacity) as avgCapacity, avg(flow) as avgFlow,
avg(queue_length) as avgQueueLength, avg(traffic_index) as avgIndex,
avg(effusion_
time) as avgEffusionTim
e
avg(effusion_
rate) as avgeffusionRat
e
FROM t_cross_dir_data_hist
WHERE cross_id = #{crossId}
AND in_out_type = #{inOutType}
...
...
@@ -127,7 +132,7 @@
and batch_time
<![CDATA[ <= ]]>
#{endStamp}
</select>
<select
id=
"selectMaxDelayTime"
resultType=
"java.lang.
Double
"
>
<select
id=
"selectMaxDelayTime"
resultType=
"java.lang.
Integer
"
>
select max(delay_time)
from t_cross_dir_data_hist
where cross_id = #{crossId} and dir_type = #{dirType} and in_out_type = #{inOutType}
...
...
@@ -151,4 +156,12 @@
and batch_time
<![CDATA[ <= ]]>
#{endStamp}
</select>
<select
id=
"selectMaxGreenLightEfficiency"
resultType=
"java.lang.Double"
>
select max(green_light_efficiency)
from t_cross_dir_data_hist
where cross_id = #{crossId} and dir_type = #{dirType} and in_out_type = #{inOutType}
and batch_time
<![CDATA[ >= ]]>
#{startStamp}
and batch_time
<![CDATA[ <= ]]>
#{endStamp}
</select>
</mapper>
\ No newline at end of file
wj-databus/src/main/resources/mapper/CrossDirDataRealtimeMapper.xml
View file @
d1214f75
...
...
@@ -26,12 +26,17 @@
<result
column=
"batch_time"
property=
"batchTime"
></result>
<result
column=
"gmt_create"
property=
"gmtCreate"
></result>
<result
column=
"gmt_modified"
property=
"gmtModified"
></result>
<result
column=
"effusion_time"
property=
"effusionTime"
></result>
<result
column=
"effusion_rate"
property=
"effusionRate"
></result>
<result
column=
"clear_rate"
property=
"clearRate"
></result>
<result
column=
"load_balance"
property=
"loadBalance"
></result>
<result
column=
"green_light_efficiency"
property=
"greenLightEfficiency"
></result>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,dir_type,in_out_type,cross_id,length,status,traffic_index,start_time,capacity,duration, flow,speed,queue_length,stop_times,
delay_time,sturation,no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,batch_time,gmt_create,gmt_modified,effusion_time
delay_time,sturation,no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,batch_time,gmt_create,gmt_modified,effusion_rate,
load_balance,clear_rate,green_light_efficiency
</sql>
<insert
id=
"insertBatch"
parameterType=
"net.wanji.databus.po.CrossDirDataRealtimePO"
>
...
...
@@ -42,7 +47,7 @@
( #{entity.id}, #{entity.dirType}, #{entity.inOutType}, #{entity.crossId}, #{entity.length}, #{entity.status}, #{entity.trafficIndex}, #{entity.startTime}, #{entity.capacity}, #{entity.duration}, #{entity.flow},
#{entity.speed}, #{entity.queueLength}, #{entity.stopTimes}, #{entity.delayTime}, #{entity.sturation},
#{entity.noStopRate},#{entity.oneStopRate},#{entity.twoStopRate},#{entity.threeStopRate},#{entity.batchTime},
#{entity.gmtCreate}, #{entity.gmtModified}, #{entity.effusion
Tim
e} )
#{entity.gmtCreate}, #{entity.gmtModified}, #{entity.effusion
Rat
e} )
</foreach>
</insert>
...
...
wj-databus/src/main/resources/mapper/CrossTurnDataHistMapper.xml
View file @
d1214f75
...
...
@@ -29,12 +29,18 @@
<result
column=
"gmt_create"
property=
"gmtCreate"
></result>
<result
column=
"gmt_modified"
property=
"gmtModified"
></result>
<result
column=
"start_time"
property=
"startTime"
></result>
<result
column=
"clear_rate"
property=
"clearRate"
></result>
<result
column=
"load_balance"
property=
"loadBalance"
></result>
<result
column=
"green_light_efficiency"
property=
"greenLightEfficiency"
></result>
<result
column=
"effusion_rate"
property=
"effusionRate"
></result>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, turn_type, in_dir, out_dir, cross_id, flow, status, traffic_index, speed, in_speed, out_speed, queue_length,
stop_times, delay_time, sturation, vehhead_dist, vehhead_time, quality, batch_time, gmt_create, gmt_modified,
no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,start_time
no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,start_time,
load_balance,clear_rate,green_light_efficiency,effusion_rate
</sql>
<insert
id=
"insertBatch"
parameterType=
"net.wanji.databus.po.CrossTurnDataRealtimePO"
>
...
...
wj-databus/src/main/resources/mapper/CrossTurnDataRealtimeMapper.xml
View file @
d1214f75
...
...
@@ -29,12 +29,19 @@
<result
column=
"gmt_create"
property=
"gmtCreate"
></result>
<result
column=
"gmt_modified"
property=
"gmtModified"
></result>
<result
column=
"start_time"
property=
"startTime"
></result>
<result
column=
"clear_rate"
property=
"clearRate"
></result>
<result
column=
"load_balance"
property=
"loadBalance"
></result>
<result
column=
"green_light_efficiency"
property=
"greenLightEfficiency"
></result>
<result
column=
"effusion_rate"
property=
"effusionRate"
></result>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, turn_type, in_dir, out_dir, cross_id, flow, status, traffic_index, speed, in_speed, out_speed, queue_length,
stop_times, delay_time, sturation, vehhead_dist, vehhead_time, quality, batch_time, gmt_create, gmt_modified,
no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,start_time
no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,start_time,
load_balance,clear_rate,green_light_efficiency,effusion_rate
</sql>
<insert
id=
"insertBatch"
parameterType=
"net.wanji.databus.po.CrossTurnDataRealtimePO"
>
...
...
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