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
a1f09a83
Commit
a1f09a83
authored
Dec 10, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 绿波图优化数组
parent
d881ac5d
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
10 deletions
+24
-10
StrategyGreenBeltServiceImpl.java
.../synthesis/service/impl/StrategyGreenBeltServiceImpl.java
+22
-3
GreenBeltChartVO.java
...vice/src/main/java/net/wanji/opt/vo/GreenBeltChartVO.java
+2
-7
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/service/impl/StrategyGreenBeltServiceImpl.java
View file @
a1f09a83
...
...
@@ -157,9 +157,13 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
private
static
GreenBeltChartVO
calGreenChart
(
GreenBeltInfoVO
greenBeltInfoVO
)
throws
JsonProcessingException
{
ObjectMapper
mapper
=
JacksonUtils
.
getInstance
();
Map
<
String
,
List
<
List
<
Double
>>>
crossRedTimesMap
=
new
LinkedHashMap
<>();
List
<
List
<
Double
>>
crossRedTimeList
=
new
LinkedList
<
List
<
Double
>>();
Map
<
String
,
List
<
List
<
Double
>>>
backCrossRedTimesMap
=
new
TreeMap
<>();
List
<
List
<
Double
>>
backCrossRedTimeList
=
new
LinkedList
<
List
<
Double
>>();
Map
<
String
,
Double
>
crossGreenStartMap
=
new
LinkedHashMap
<>();
LinkedList
<
Double
>
crossGreenStartList
=
new
LinkedList
<>();
Map
<
String
,
Double
>
backCrossGreenStartMap
=
new
TreeMap
<>();
LinkedList
<
Double
>
backCrossGreenStartList
=
new
LinkedList
<>();
Map
<
String
,
Double
>
distanceMap
=
new
LinkedHashMap
<>();
Map
<
String
,
Double
>
backDistanceMap
=
new
TreeMap
<>();
String
decideSpeed
=
""
;
...
...
@@ -180,7 +184,7 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
if
(
dirType
==
1
)
{
greenWidthTime
=
dirGreenDetail
.
getGreenWidthTime
();
List
<
GreenBeltInfoVO
.
CrossGreenDetail
>
list
=
dirGreenDetail
.
getCrossGreenDetailList
();
getaDouble
(
crossRedTimesMap
,
crossGreenStartMap
,
distanceMap
,
cycle
,
list
);
getaDouble
(
crossRedTimesMap
,
crossGreenStartMap
,
distanceMap
,
cycle
,
list
,
crossGreenStartList
);
decideSpeed
=
String
.
join
(
"~"
,
String
.
valueOf
(
dirGreenDetail
.
getMinSpeed
()),
String
.
valueOf
(
dirGreenDetail
.
getMaxSpeed
()));
List
<
Double
>
travelTimeList
=
list
.
stream
().
map
(
GreenBeltInfoVO
.
CrossGreenDetail
::
getTravelTime
).
collect
(
Collectors
.
toList
());
travelTime
=
mapper
.
writeValueAsString
(
travelTimeList
);
...
...
@@ -200,7 +204,7 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
backGreenWidthTime
=
dirGreenDetail
.
getGreenWidthTime
();
List
<
GreenBeltInfoVO
.
CrossGreenDetail
>
list
=
dirGreenDetail
.
getCrossGreenDetailList
();
Collections
.
reverse
(
list
);
getaDouble
(
backCrossRedTimesMap
,
backCrossGreenStartMap
,
backDistanceMap
,
cycle
,
list
);
getaDouble
(
backCrossRedTimesMap
,
backCrossGreenStartMap
,
backDistanceMap
,
cycle
,
list
,
backCrossGreenStartList
);
List
<
Double
>
travelTimeList
=
list
.
stream
().
map
(
GreenBeltInfoVO
.
CrossGreenDetail
::
getTravelTime
).
collect
(
Collectors
.
toList
());
backtravelTime
=
mapper
.
writeValueAsString
(
travelTimeList
);
List
<
Double
>
speedList
=
list
.
stream
().
map
(
GreenBeltInfoVO
.
CrossGreenDetail
::
getSpeed
).
collect
(
Collectors
.
toList
());
...
...
@@ -230,11 +234,25 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
greenBeltChartVO
.
setCrossSpeed
(
crossSpeed
);
greenBeltChartVO
.
setBackCrossSpeed
(
backCrossSpeed
);
greenBeltChartVO
.
setOffset
(
offset
);
greenBeltChartVO
.
setCrossGreenStartList
(
strArray
(
crossGreenStartList
));
Collections
.
reverse
(
backCrossGreenStartList
);
greenBeltChartVO
.
setBackCrossGreenStartList
(
strArray
(
backCrossGreenStartList
));
return
greenBeltChartVO
;
}
private
static
String
strArray
(
List
<
Double
>
crossGreenStartList
)
{
StringBuilder
sb
=
new
StringBuilder
();
if
(!
CollectionUtils
.
isEmpty
(
crossGreenStartList
))
{
for
(
Double
aDouble
:
crossGreenStartList
)
{
sb
.
append
(
aDouble
).
append
(
","
);
}
}
return
sb
.
toString
();
}
private
static
void
getaDouble
(
Map
<
String
,
List
<
List
<
Double
>>>
crossRedTimesMap
,
Map
<
String
,
Double
>
crossGreenStartMap
,
Map
<
String
,
Double
>
distanceMap
,
Integer
cycle
,
List
<
GreenBeltInfoVO
.
CrossGreenDetail
>
crossGreenDetailList
)
{
Integer
cycle
,
List
<
GreenBeltInfoVO
.
CrossGreenDetail
>
crossGreenDetailList
,
LinkedList
<
Double
>
crossGreenStartList
)
{
if
(!
CollectionUtils
.
isEmpty
(
crossGreenDetailList
))
{
// 所有行程时间
...
...
@@ -314,6 +332,7 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
crossRedTimesMap
.
put
(
crossId
,
uniqueSortedRedTimes
);
}
crossGreenStartMap
.
put
(
crossId
,
crossGreenStartTime
);
crossGreenStartList
.
add
(
crossGreenStartTime
);
crossGreenStartTime
+=
travelTime
;
distanceMap
.
put
(
crossId
,
distance
);
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/GreenBeltChartVO.java
View file @
a1f09a83
...
...
@@ -5,14 +5,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
net.wanji.common.utils.tool.JacksonUtils
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author duanruiming
...
...
@@ -48,6 +41,8 @@ public class GreenBeltChartVO {
private
String
crossSpeed
;
private
String
backCrossSpeed
;
private
String
offset
;
private
String
crossGreenStartList
;
private
String
backCrossGreenStartList
;
@JsonCreator
public
GreenBeltChartVO
(){
...
...
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