-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmap.proto
More file actions
137 lines (117 loc) · 2.43 KB
/
map.proto
File metadata and controls
137 lines (117 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
syntax = "proto2";
package map_data;
message Id {
optional string id = 1;
}
message Point {
optional double x = 1;
optional double y = 2;
}
message LineSegment {
repeated Point point = 1;
}
message Segment {
optional LineSegment line_segment = 1;
optional double heading = 2;
optional double length = 3;
}
message Curve {
repeated Segment segment = 1;
optional double length = 2;
}
// 定义边界线类型枚举
message BoundaryType {
optional double s = 1;
optional LineType types = 2;
enum LineType {
UNKNOWN = 0;
SOLID_WHITE = 1;
SOLID_YELLOW = 2;
DOTTED_WHITE = 3;
DOTTED_YELLOW = 4;
DOUBLE_YELLOW = 5;
CURB = 6;
SOLID_BLUE = 7;
DOTTED_BLUE = 8;
}
}
message Boundary {
optional Curve curve = 1;
optional double length = 2;
repeated BoundaryType boundary_type = 3;
}
// 定义车道类型枚举
message LaneType {
enum Type {
UNKNOWN_TYPE = 0;
NORMAL = 1;
BUS = 2;
BIKE = 3;
EMERGENCY = 4;
SHOULDER = 5;
PARKING = 6;
SIDEWALK = 7;
CITY_DRIVING = 8;
}
}
// 定义转向类型枚举
message TurnType {
enum Type {
UNKNOWN_TURN = 0;
NO_TURN = 1;
LEFT_TURN = 2;
RIGHT_TURN = 3;
U_TURN = 4;
}
}
message LaneSample {
optional double s = 1;
optional double width = 2;
}
message Lane {
optional Id id = 1;
optional Curve central_curve = 2;
optional Boundary left_boundary = 3;
optional Boundary right_boundary = 4;
optional double length = 5;
optional double speed_limit = 6;
optional Id overlap_id = 7; // 改为 Id 类型
optional LaneType.Type type = 8;
optional TurnType.Type turn = 9;
repeated LaneSample left_sample = 10;
repeated LaneSample right_sample = 11;
}
// 停止标志
message StopSign {
optional Id id = 1;
optional Curve stop_line = 2;
optional Id overlap_id = 3;
}
// 重叠信息
message Overlap {
optional Id id = 1;
repeated Object object = 2;
}
message Object {
optional Id id = 1;
optional LaneOverlapInfo lane_overlap_info = 2;
// 可以添加其他类型的重叠信息
}
message LaneOverlapInfo {
optional double start_s = 1;
optional double end_s = 2;
}
message Projection {
optional string proj = 1;
}
message Header {
optional string version = 1;
optional string date = 2;
optional Projection projection = 3;
}
message Map {
optional Header header = 1;
repeated Lane lane = 2;
repeated StopSign stop_sign = 3;
repeated Overlap overlap = 4;
}