1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage maps.fleetengine.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Maps.FleetEngine.V1"; 20*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/maps/fleetengine/apiv1/fleetenginepb;fleetenginepb"; 21*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 22*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "TrafficProto"; 23*d5c09012SAndroid Build Coastguard Workeroption java_package = "google.maps.fleetengine.v1"; 24*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "CFE"; 25*d5c09012SAndroid Build Coastguard Worker 26*d5c09012SAndroid Build Coastguard Worker// Traffic density indicator on a contiguous segment of a path. Given a path 27*d5c09012SAndroid Build Coastguard Worker// with points P_0, P_1, ... , P_N (zero-based index), the SpeedReadingInterval 28*d5c09012SAndroid Build Coastguard Worker// defines an interval and describes its traffic using the following categories. 29*d5c09012SAndroid Build Coastguard Workermessage SpeedReadingInterval { 30*d5c09012SAndroid Build Coastguard Worker // The classification of polyline speed based on traffic data. 31*d5c09012SAndroid Build Coastguard Worker enum Speed { 32*d5c09012SAndroid Build Coastguard Worker // Default value. This value is unused. 33*d5c09012SAndroid Build Coastguard Worker SPEED_UNSPECIFIED = 0; 34*d5c09012SAndroid Build Coastguard Worker 35*d5c09012SAndroid Build Coastguard Worker // Normal speed, no slowdown is detected. 36*d5c09012SAndroid Build Coastguard Worker NORMAL = 1; 37*d5c09012SAndroid Build Coastguard Worker 38*d5c09012SAndroid Build Coastguard Worker // Slowdown detected, but no traffic jam formed. 39*d5c09012SAndroid Build Coastguard Worker SLOW = 2; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Worker // Traffic jam detected. 42*d5c09012SAndroid Build Coastguard Worker TRAFFIC_JAM = 3; 43*d5c09012SAndroid Build Coastguard Worker } 44*d5c09012SAndroid Build Coastguard Worker 45*d5c09012SAndroid Build Coastguard Worker // The starting index of this interval in the path. 46*d5c09012SAndroid Build Coastguard Worker // In JSON, when the index is 0, the field will appear to be unpopulated. 47*d5c09012SAndroid Build Coastguard Worker int32 start_polyline_point_index = 1; 48*d5c09012SAndroid Build Coastguard Worker 49*d5c09012SAndroid Build Coastguard Worker // The ending index of this interval in the path. 50*d5c09012SAndroid Build Coastguard Worker // In JSON, when the index is 0, the field will appear to be unpopulated. 51*d5c09012SAndroid Build Coastguard Worker int32 end_polyline_point_index = 2; 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Traffic speed in this interval. 54*d5c09012SAndroid Build Coastguard Worker Speed speed = 3; 55*d5c09012SAndroid Build Coastguard Worker} 56*d5c09012SAndroid Build Coastguard Worker 57*d5c09012SAndroid Build Coastguard Worker// Traffic density along a Vehicle's path. 58*d5c09012SAndroid Build Coastguard Workermessage ConsumableTrafficPolyline { 59*d5c09012SAndroid Build Coastguard Worker // Traffic speed along the path from the previous waypoint to the current 60*d5c09012SAndroid Build Coastguard Worker // waypoint. 61*d5c09012SAndroid Build Coastguard Worker repeated SpeedReadingInterval speed_reading_interval = 1; 62*d5c09012SAndroid Build Coastguard Worker 63*d5c09012SAndroid Build Coastguard Worker // The path the driver is taking from the previous waypoint to the current 64*d5c09012SAndroid Build Coastguard Worker // waypoint. This path has landmarks in it so clients can show traffic markers 65*d5c09012SAndroid Build Coastguard Worker // along the path (see `speed_reading_interval`). Decoding is not yet 66*d5c09012SAndroid Build Coastguard Worker // supported. 67*d5c09012SAndroid Build Coastguard Worker string encoded_path_to_waypoint = 2; 68*d5c09012SAndroid Build Coastguard Worker} 69