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
f373637c
Commit
f373637c
authored
Jun 13, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 信号优化,态势监测-从绿波路口关系获取路段长度
parent
12c6ac11
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
16 deletions
+8
-16
TrendServiceImpl.java
...ain/java/net/wanji/opt/service/impl/TrendServiceImpl.java
+8
-16
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/TrendServiceImpl.java
View file @
f373637c
...
...
@@ -546,32 +546,24 @@ public class TrendServiceImpl implements TrendService {
if
(
i
!=
lastCrossIndex
)
{
GreenwaveCrossPO
nextCross
=
greenwaveCrossList
.
get
(
i
+
1
);
String
nextCrossId
=
nextCross
.
getCrossId
();
// 计算当前路口出口方向
RidInfoEntity
ridInfoEntity
=
ridInfoMapper
.
selectByStartEnd
(
currentCrossId
,
nextCrossId
);
if
(
ObjectUtil
.
isEmpty
(
ridInfoEntity
))
{
throw
new
RuntimeException
(
"路网数据不连续"
);
}
Integer
outDir
=
ridInfoEntity
.
getOutDir
();
// 当前路口出口方向
Integer
outDir
=
greenwaveCrossPO
.
getOutDir
();
List
<
CrossDirDataHistPO
>
listForNoPark
=
crossDirDataHistMapper
.
selectNoPark
(
currentCrossId
,
outDir
,
currentSeconds
,
preSeconds
);
List
<
CrossDirDataHistPO
>
listForPhaseQueue
=
crossDirDataHistMapper
.
selectPhaseQueue
(
currentCrossId
,
outDir
,
currentSeconds
,
preSeconds
);
setMetrics
(
greenwaveCrossMetricsVO
,
ridInfoEntity
,
listForNoPark
,
listForPhaseQueue
);
setMetrics
(
greenwaveCrossMetricsVO
,
greenwaveCrossPO
,
listForNoPark
,
listForPhaseQueue
);
}
else
{
// 最后一个路口
GreenwaveCrossPO
preCross
=
greenwaveCrossList
.
get
(
i
-
1
);
String
preCrossId
=
preCross
.
getCrossId
();
// 计算当前路口入口方向
RidInfoEntity
ridInfoEntity
=
ridInfoMapper
.
selectByStartEnd
(
preCrossId
,
currentCrossId
);
if
(
ObjectUtil
.
isEmpty
(
ridInfoEntity
))
{
throw
new
RuntimeException
(
"路网数据不连续"
);
}
Integer
inDir
=
ridInfoEntity
.
getInDir
();
// 当前路口入口方向
Integer
inDir
=
greenwaveCrossPO
.
getInDir
();
List
<
CrossDirDataHistPO
>
listForNoPark
=
crossDirDataHistMapper
.
selectNoParkEnd
(
currentCrossId
,
inDir
,
currentSeconds
,
preSeconds
);
List
<
CrossDirDataHistPO
>
listForPhaseQueue
=
crossDirDataHistMapper
.
selectPhaseQueueEnd
(
currentCrossId
,
inDir
,
currentSeconds
,
preSeconds
);
setMetrics
(
greenwaveCrossMetricsVO
,
ridInfoEntity
,
listForNoPark
,
listForPhaseQueue
);
setMetrics
(
greenwaveCrossMetricsVO
,
greenwaveCrossPO
,
listForNoPark
,
listForPhaseQueue
);
}
res
.
add
(
greenwaveCrossMetricsVO
);
...
...
@@ -594,14 +586,14 @@ public class TrendServiceImpl implements TrendService {
}
}
private
void
setMetrics
(
GreenwaveCrossMetricsVO
greenwaveCrossMetricsVO
,
RidInfoEntity
ridInfoEntity
,
private
void
setMetrics
(
GreenwaveCrossMetricsVO
greenwaveCrossMetricsVO
,
GreenwaveCrossPO
greenwaveCrossPO
,
List
<
CrossDirDataHistPO
>
listForNoPark
,
List
<
CrossDirDataHistPO
>
listForPhaseQueue
)
{
if
(
CollectionUtil
.
isNotEmpty
(
listForNoPark
)
&&
CollectionUtil
.
isNotEmpty
(
listForPhaseQueue
))
{
Integer
noparkPassRate
=
getAveRate
(
listForNoPark
);
greenwaveCrossMetricsVO
.
setNoparkPassRate
(
noparkPassRate
);
Integer
uncoordinatePhaseQueue
=
getPhaseQueue
(
listForPhaseQueue
);
greenwaveCrossMetricsVO
.
setUncoordinatePhaseQueue
(
uncoordinatePhaseQueue
);
Double
length
=
ridInfoEntity
.
getLength
();
Double
length
=
greenwaveCrossPO
.
getNextCrossLen
();
Double
speed
=
getSpeed
(
listForNoPark
);
double
travelTime
=
length
/
speed
;
greenwaveCrossMetricsVO
.
setTrvalTime
((
int
)
travelTime
);
...
...
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